/* DemandSense About — v6.0.0-beta.5.47 */

/* Some WordPress environments apply the core error-page shell to this custom
   template. Strip that shell only on About so the normal site frame wins. */
body#error-page.page-template-page-about,
body#error-page.page-template-page-about-php {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body#error-page.page-template-page-about .ds-about-page,
body#error-page.page-template-page-about-php .ds-about-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.ds-about-page {
  position: relative;
  width: 100%;
  overflow-x: clip;
  /* The hero owns its nav clearance so its position is stable at every desktop width. */
  padding: 0 0 88px;
  background:
    radial-gradient(circle at 78% 8%, rgba(0,98,139,.08), transparent 30%),
    var(--bg);
}
.ds-about-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
.ds-about-page .eyebrow {
  margin: 0 0 18px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.25;
  text-transform: uppercase;
}

/* Hero */
.ds-about-hero {
  position: relative;
  min-height: min(760px, calc(100vh - 78px));
  display: flex;
  flex-direction: column;
  /* Keep the hero anchored instead of vertically centering it. At wide desktop
     widths the content is taller, which previously moved the eyebrow up under
     the fixed nav; at narrower widths flex centering happened to add space. */
  justify-content: flex-start;
  box-sizing: border-box;
  padding-top: 54px;
  isolation: isolate;
}
.ds-about-network {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: .9;
  pointer-events: auto;
}
.ds-about-hero-glow {
  position: absolute;
  width: 760px;
  height: 760px;
  right: -170px;
  top: -190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(153,217,217,.09), rgba(0,98,139,.035) 42%, transparent 70%);
  filter: blur(8px);
  z-index: 0;
  pointer-events: none;
}
.ds-about-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  align-items: center;
  gap: clamp(50px, 6vw, 86px);
  min-height: 590px;
  padding-block: 68px 54px;
  pointer-events: none;
}
.ds-about-hero-copy,
.ds-about-system { pointer-events: auto; }
.ds-about-hero-copy { min-width: 0; }
.ds-about-hero-copy h1 {
  max-width: 760px;
  margin: 0 0 28px;
  color: var(--text);
  font-size: clamp(58px, 6.15vw, 88px);
  line-height: .93;
  letter-spacing: -.058em;
  text-transform: none;
  word-break: normal;
  overflow-wrap: normal;
}
.ds-about-hero-copy h1 span {
  /* Solid secondary tone keeps the emphasis clean at display size. */
  color: #99D9D9;
  -webkit-text-stroke: 0;
  text-stroke: 0;
}
.ds-about-lede {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.62;
}

/* Interactive system graphic */
.ds-about-system {
  --system-x: 0px;
  --system-y: 0px;
  position: relative;
  width: min(100%, 465px);
  aspect-ratio: 1;
  justify-self: end;
  border-radius: 50%;
  transform: translate(var(--system-x), var(--system-y));
  transition: transform .3s ease-out;
  filter: drop-shadow(0 28px 60px rgba(0,0,0,.25));
}
.ds-about-system::before {
  content:"";
  position:absolute;
  inset: -5%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(153,217,217,.11), rgba(255,255,255,.025) 45%, transparent 71%);
  box-shadow: inset 0 0 90px rgba(153,217,217,.035);
}
.ds-about-system-orbit { position:absolute; border:1px solid rgba(153,217,217,.13); border-radius:50%; }
.ds-about-system-orbit--outer { inset:0; animation: ds-about-pulse 6s ease-in-out infinite; }
.ds-about-system-orbit--mid { inset:17%; animation: ds-about-pulse 6s 1.1s ease-in-out infinite; }
.ds-about-system-orbit--inner { inset:34%; border-color:rgba(153,217,217,.24); animation: ds-about-pulse 6s 2.2s ease-in-out infinite; }
.ds-about-system-core {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  display:grid; place-items:center; width:132px; height:132px; border-radius:50%;
  background:rgba(0,22,40,.92); border:1px solid rgba(153,217,217,.42);
  text-align:center; line-height:1; z-index:3;
  box-shadow:0 0 0 12px rgba(153,217,217,.025), 0 0 44px rgba(153,217,217,.08);
}
.ds-about-system-core span {display:block;color:var(--teal);font-size:15px;letter-spacing:.08em;text-transform:uppercase;}
.ds-about-system-core strong {display:block;margin-top:3px;color:var(--text);font-size:28px;}
.ds-about-node {
  position:absolute; z-index:4; padding:9px 14px; border:1px solid rgba(153,217,217,.24); border-radius:999px;
  background:rgba(6,20,31,.88); color:#dce7ef; font-size:13px; font-weight:700;
  box-shadow:0 12px 30px rgba(0,0,0,.24); backdrop-filter: blur(8px);
}
.ds-about-node--1 {left:6%;top:18%; animation:ds-about-float 5.4s ease-in-out infinite;}
.ds-about-node--2 {right:3%;top:25%; animation:ds-about-float 5.8s .7s ease-in-out infinite;}
.ds-about-node--3 {right:8%;bottom:18%; animation:ds-about-float 5.1s 1.3s ease-in-out infinite;}
.ds-about-node--4 {left:2%;bottom:23%; animation:ds-about-float 6s 1.9s ease-in-out infinite;}
.ds-about-system i {position:absolute;left:50%;top:50%;width:32%;height:1px;background:linear-gradient(90deg,rgba(153,217,217,.48),transparent);transform-origin:left center;opacity:.56;z-index:1;}
.ds-about-system i:nth-of-type(1){transform:rotate(218deg)}.ds-about-system i:nth-of-type(2){transform:rotate(322deg)}.ds-about-system i:nth-of-type(3){transform:rotate(39deg)}.ds-about-system i:nth-of-type(4){transform:rotate(141deg)}

/* Moving capability ribbon */
.ds-about-marquee {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  border-block: 1px solid rgba(255,255,255,.075);
  background: rgba(255,255,255,.018);
  mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ds-about-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 25px;
  padding: 17px 0;
  animation: ds-about-marquee 32s linear infinite;
  color: rgba(220,231,239,.58);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ds-about-marquee__track b { color: var(--teal); font-size: 16px; font-weight: 400; opacity: .7; }

/* Content sections */
.ds-about-principle,.ds-about-founder,.ds-about-work,.ds-about-markets,.ds-about-cta { padding-block: 104px; }
.ds-about-principle__inner,.ds-about-markets__inner {
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(48px,7vw,96px); align-items:start;
  border-top:1px solid rgba(255,255,255,.08); padding-top:104px;
}
.ds-about-section-heading h2,.ds-about-markets h2,.ds-about-founder-intro h2,.ds-about-cta h2 {
  margin:0;color:var(--text);font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.045em;text-transform:none;
}
.ds-about-principle-copy,.ds-about-founder-copy {display:grid;gap:22px;padding-top:32px;}
.ds-about-principle-copy p,.ds-about-founder-copy p,.ds-about-markets-copy>p:last-child {margin:0;color:var(--muted);font-size:clamp(17px,1.6vw,20px);line-height:1.68;}
.ds-about-signal-line { width:100%; height:1px; margin-top:30px; overflow:hidden; background:rgba(255,255,255,.06); }
.ds-about-signal-line span {display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--teal),transparent);animation:ds-about-scan 4.5s ease-in-out infinite;}

/* Founder / proof */
.ds-about-founder-card {
  --local-x: 50%; --local-y: 50%; --rx:0deg; --ry:0deg;
  position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:34px clamp(48px,7vw,100px);
  padding:clamp(34px,5vw,68px); border:1px solid rgba(255,255,255,.13); border-radius:36px;
  background:linear-gradient(145deg,rgba(255,255,255,.072),rgba(255,255,255,.024));
  box-shadow:0 34px 90px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07);
  transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .25s ease-out,border-color .25s ease;
  overflow:hidden;
}
.ds-about-founder-card::before,.ds-about-work-grid article::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .25s ease;
  background:radial-gradient(circle 260px at var(--local-x) var(--local-y),rgba(153,217,217,.09),transparent 70%);
}
.ds-about-founder-card:hover::before,.ds-about-work-grid article:hover::before {opacity:1;}
.ds-about-founder-intro h2 {font-size:clamp(36px,4.2vw,58px);}
.ds-about-proof {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:12px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.08);}
.ds-about-proof>div {min-height:126px;padding:24px;background:rgba(3,16,26,.84);transition:background .25s ease,transform .25s ease;}
.ds-about-proof>div:hover {background:rgba(9,29,40,.92);transform:translateY(-2px);}
.ds-about-proof strong{display:block;margin-bottom:8px;color:var(--text);font-size:clamp(24px,2.4vw,34px);line-height:1.05}.ds-about-proof span{color:var(--muted);font-size:14px;line-height:1.45}

/* Working model cards */
.ds-about-section-heading--centered {max-width:900px;margin:0 auto 54px;text-align:center;}
.ds-about-work-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1200px;}
.ds-about-work-grid article {
  --local-x:50%; --local-y:50%; --rx:0deg; --ry:0deg;
  position:relative; min-height:320px; padding:30px; border:1px solid rgba(255,255,255,.10); border-radius:28px;
  background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); overflow:hidden;
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .25s ease-out,border-color .25s ease,background .25s ease;
}
.ds-about-work-grid article:hover {border-color:rgba(153,217,217,.26);background:linear-gradient(155deg,rgba(153,217,217,.055),rgba(255,255,255,.02));}
.ds-about-work-grid article>span{position:relative;z-index:2;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.12em}
.ds-about-work-grid h3{position:relative;z-index:2;margin:52px 0 14px;color:var(--text);font-size:28px;line-height:1.05;letter-spacing:-.03em}.ds-about-work-grid p{position:relative;z-index:2;margin:0;color:var(--muted);font-size:16px;line-height:1.62}
.ds-about-work-grid article>i {position:absolute;right:-54px;bottom:-54px;width:150px;height:150px;border:1px solid rgba(153,217,217,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(153,217,217,.025),0 0 0 56px rgba(153,217,217,.012);}

/* Markets */
.ds-about-markets-copy>p:last-child {margin-top:24px;}
.ds-about-market-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px;}
.ds-about-market-list span {position:relative;padding:20px 22px;border:1px solid rgba(153,217,217,.16);border-radius:18px;background:rgba(255,255,255,.03);color:#dce7ef;font-size:15px;font-weight:700;transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.ds-about-market-list span:hover {transform:translateX(5px);border-color:rgba(153,217,217,.34);background:rgba(153,217,217,.055);}

/* Contact */
.ds-about-cta__inner {display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);align-items:start;gap:clamp(42px,6vw,76px);border-top:1px solid rgba(255,255,255,.08);padding-top:96px;}
.ds-about-cta-intro {position:sticky;top:150px;max-width:720px;}
.ds-about-cta-intro>p:last-child {max-width:600px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.6;}
.ds-about-contact-form {min-width:0;}.ds-about-contact-form .ds-contact-form-card{width:100%;max-width:none;margin:0;}

/* Reusable form's placeholder-label treatment needs to apply outside /contact/. */
.ds-about-contact-form .ds-contact-field--placeholder > label {
  position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
}
.ds-about-contact-form .ds-contact-field--placeholder {position:relative;}
.ds-about-contact-form .ds-contact-field input::placeholder,
.ds-about-contact-form .ds-contact-field textarea::placeholder {color:rgba(204,214,224,.72);opacity:1;}

/* Reveal motion */
.ds-about-reveal {opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.ds-about-reveal.is-visible {opacity:1;transform:translateY(0);}
.ds-about-work-grid .ds-about-reveal:nth-child(2){transition-delay:.08s}.ds-about-work-grid .ds-about-reveal:nth-child(3){transition-delay:.16s}

@keyframes ds-about-marquee { to { transform:translateX(-50%); } }
@keyframes ds-about-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes ds-about-pulse { 0%,100%{opacity:.62;transform:scale(1)} 50%{opacity:1;transform:scale(1.015)} }
@keyframes ds-about-scan { 0%{transform:translateX(-120%)} 55%,100%{transform:translateX(310%)} }

@media (max-width:980px){
  .ds-about-page{padding-top:0}.ds-about-hero{min-height:auto;padding-top:54px}.ds-about-hero__inner{grid-template-columns:1fr;gap:48px;min-height:0;padding-block:56px 60px}.ds-about-system{justify-self:start;width:min(78vw,460px)}
  .ds-about-principle__inner,.ds-about-markets__inner,.ds-about-founder-card,.ds-about-cta__inner{grid-template-columns:1fr}.ds-about-principle-copy,.ds-about-founder-copy{padding-top:0}
  .ds-about-work-grid{grid-template-columns:1fr}.ds-about-work-grid article{min-height:0}.ds-about-work-grid h3{margin-top:34px}.ds-about-cta-intro{position:static}
}
@media (max-width:640px){
  .ds-about-page{padding:0 0 70px}.ds-about-hero{padding-top:48px}.ds-about-shell{width:calc(100% - 28px)}.ds-about-hero-copy h1{font-size:clamp(46px,14vw,64px)}.ds-about-system{width:100%}.ds-about-node{font-size:11px;padding:7px 10px}
  .ds-about-principle,.ds-about-founder,.ds-about-work,.ds-about-markets,.ds-about-cta{padding-block:76px}.ds-about-principle__inner,.ds-about-markets__inner,.ds-about-cta__inner{padding-top:76px}
  .ds-about-founder-card{padding:28px 22px;border-radius:28px}.ds-about-proof{grid-template-columns:1fr}.ds-about-proof>div{min-height:0}.ds-about-market-list{grid-template-columns:1fr}.ds-about-marquee__track{font-size:11px;gap:18px}
}
@media (prefers-reduced-motion: reduce){
  .ds-about-marquee__track,.ds-about-node,.ds-about-system-orbit,.ds-about-signal-line span{animation:none!important}.ds-about-reveal{opacity:1;transform:none;transition:none}.interactive-tilt-about{transform:none!important}.ds-about-system{transform:none!important}
}
