/* ===================================================================
   HORUS NeuroTechnologies
   Palette sourced from the Eye-of-Horus logo:
     navy   #0A1F3E   gold #D4A345 / #ECC570
     teal   #4D959A / #75D3D2   cream #EFE4C4
   Type: Fraunces (display) · Inter (body) · IBM Plex Mono (data)
=================================================================== */

:root{
  --navy:        #0A1F3E;
  --navy-900:    #071730;
  --navy-800:    #0C2545;
  --navy-700:    #112E54;
  --navy-card:   #0E2747;
  --line:        rgba(212,163,69,.18);
  --line-soft:   rgba(239,228,196,.10);

  --gold:        #D4A345;
  --gold-bright: #ECC570;
  --teal:        #4D959A;
  --teal-bright: #75D3D2;
  --cream:       #F1E7CE;

  /* Body text: brighter, cleaner off-white with a faint cool cast — more living than dull cream */
  --ink:         #EAF1F6;
  --ink-soft:    #B9C6D4;
  --ink-faint:   #8A9AAC;

  --display: "Fraunces", Georgia, serif;
  --body:    "Inter", system-ui, sans-serif;
  --mono:    "IBM Plex Mono", ui-monospace, monospace;

  --maxw: 1180px;
  --pad:  clamp(1.25rem, 5vw, 5rem);
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  font-family:var(--body);
  background:var(--navy);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* ---------- shared section scaffolding ---------- */
.section__head{ max-width:760px; margin:0 auto clamp(2.5rem,5vw,4rem); text-align:center; }
.section__title{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--cream);
}
.section__sub{
  margin-top:1.25rem;
  font-size:clamp(1rem,1.4vw,1.15rem);
  color:var(--ink-soft);
  max-width:64ch; margin-left:auto; margin-right:auto;
}

.eyebrow{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}
.eyebrow--center{ display:block; margin-bottom:1.1rem; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--mono);
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.95rem 1.6rem;
  border-radius:2px;
  transition:transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
  border:1px solid transparent;
  cursor:pointer;
}
.btn--gold{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:var(--navy-900);
  box-shadow:0 8px 30px -10px rgba(212,163,69,.6);
}
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 14px 38px -10px rgba(212,163,69,.8); }
.btn--teal{
  background:linear-gradient(135deg,var(--teal-bright),var(--teal));
  color:var(--navy-900);
}
.btn--teal:hover{ transform:translateY(-2px); }
.btn--ghost{
  border-color:var(--line);
  color:var(--cream);
  background:transparent;
}
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold-bright); transform:translateY(-2px); }

/* =================================================================
   NAV
================================================================= */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem var(--pad);
  background:rgba(7,23,48,0);
  backdrop-filter:blur(0);
  transition:background .35s ease, backdrop-filter .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(7,23,48,.82);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line-soft);
}
.nav__brand{ display:flex; align-items:center; gap:.7rem; }
.nav__logo{ width:38px; height:auto; }
.nav__wordmark{
  font-family:var(--display); font-weight:600; font-size:1.05rem;
  letter-spacing:.02em; color:var(--cream); line-height:1;
  display:flex; flex-direction:column;
}
.nav__wordmark em{
  font-family:var(--mono); font-style:normal;
  font-size:.56rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin-top:3px;
}
.nav__links{ display:flex; align-items:center; gap:2rem; }
.nav__links a{
  font-size:.9rem; color:var(--ink-soft);
  transition:color .2s ease; position:relative;
}
.nav__links a:not(.nav__cta):hover{ color:var(--cream); }
.nav__links a:not(.nav__cta)::after{
  content:""; position:absolute; left:0; bottom:-6px; height:1px; width:0;
  background:var(--gold); transition:width .25s ease;
}
.nav__links a:not(.nav__cta):hover::after{ width:100%; }
.nav__cta{
  font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.6rem 1.1rem; border:1px solid var(--gold);
  color:var(--gold-bright); border-radius:2px;
  transition:background .25s ease, color .25s ease;
}
.nav__cta:hover{ background:var(--gold); color:var(--navy-900); }

.nav__toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav__toggle span{ width:24px; height:2px; background:var(--cream); transition:.3s; }

/* =================================================================
   HERO
================================================================= */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:7rem var(--pad) 4rem;
  overflow:hidden;
  background:
    radial-gradient(120% 80% at 80% 0%, rgba(77,149,154,.16), transparent 55%),
    radial-gradient(90% 70% at 0% 100%, rgba(212,163,69,.10), transparent 55%),
    linear-gradient(180deg, var(--navy-900), var(--navy));
}

.hero__inner{
  position:relative; z-index:2;
  max-width:var(--maxw); margin:0 auto; width:100%;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.hero__title{
  font-family:var(--display); font-weight:300;
  font-size:clamp(2.8rem,7vw,5.4rem);
  line-height:.98; letter-spacing:-.03em;
  color:var(--cream);
}
.hero__title .grad{
  font-style:italic; font-weight:400;
  background:linear-gradient(100deg,var(--gold-bright) 10%,var(--teal-bright) 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero .eyebrow{ display:block; margin-bottom:1.4rem; }
.hero__lede{
  margin-top:1.7rem; max-width:46ch;
  font-size:clamp(1.02rem,1.5vw,1.2rem);
  color:var(--ink-soft);
}
.hero__actions{ margin-top:2.3rem; display:flex; gap:1rem; flex-wrap:wrap; }

.hero__right{ display:flex; flex-direction:column; gap:1.5rem; }

/* animated logo video */
.hero__logovid{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8);
  background:var(--navy-900);
}
.hero__video{
  width:100%; height:auto; display:block;
  aspect-ratio:16/9; object-fit:cover;
}

/* the signature clock */
.clock{ position:relative; }
.clock__face{
  background:linear-gradient(160deg, rgba(14,39,71,.92), rgba(7,23,48,.92));
  border:1px solid var(--line);
  border-radius:6px;
  padding:1.6rem 1.8rem;
  box-shadow:inset 0 1px 0 rgba(239,228,196,.06);
}
.clock__label{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--teal-bright); display:block; margin-bottom:.8rem;
}
.clock__time{
  font-family:var(--mono); font-weight:600;
  font-size:clamp(2.2rem,5vw,3rem);
  color:var(--gold-bright);
  letter-spacing:.04em; display:block; line-height:1;
  text-shadow:0 0 30px rgba(236,197,112,.35);
  font-variant-numeric:tabular-nums;
}
.clock__sub{
  margin-top:.9rem; display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  font-family:var(--mono); font-size:.78rem; color:var(--ink-soft);
}
.clock__sub b{ color:var(--cream); font-weight:600; font-variant-numeric:tabular-nums; }
.clock__div{ width:1px; height:14px; background:var(--line); }
.clock__note{
  margin-top:1rem; font-size:.8rem; line-height:1.5;
  color:var(--ink-faint);
}

.hero__scroll{
  position:relative; z-index:2;
  max-width:var(--maxw); margin:clamp(2.5rem,5vw,3.5rem) auto 0; width:100%;
  display:flex; align-items:center; gap:.8rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-faint);
}
.hero__scroll svg{ color:var(--gold); animation:bob 2s ease-in-out infinite; }
@keyframes bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(5px); } }

/* =================================================================
   PROBLEM
================================================================= */
.problem{
  padding:clamp(5rem,9vw,8rem) var(--pad);
  background:var(--navy-900);
  position:relative;
}
.problem__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:4px; overflow:hidden;
}
.prob{
  background:var(--navy-900);
  padding:2.2rem 1.8rem;
  transition:background .3s ease;
}
.prob:hover{ background:var(--navy-800); }
.prob__no{
  font-family:var(--mono); font-size:.8rem; color:var(--gold);
  letter-spacing:.1em;
}
.prob h3{
  font-family:var(--display); font-weight:500; font-size:1.22rem;
  color:var(--cream); margin:1rem 0 .6rem; line-height:1.2;
}
.prob p{ font-size:.92rem; color:var(--ink-soft); }

/* .distress styles live in the rebuilt section further below */


/* =================================================================
   PRODUCTS
================================================================= */
.products{ padding:clamp(5rem,9vw,8rem) var(--pad); }

.live{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem;
}
.live__card{
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  border:1px solid var(--line);
  border-radius:8px;
  padding:clamp(1.8rem,3vw,2.6rem);
  position:relative;
  overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
.live__card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:.6;
}
.live__card:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }
.live__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.3rem; }
.live__logo{
  height:64px; width:auto;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));
}
.live__name{
  font-family:var(--display); font-weight:500;
  font-size:clamp(1.7rem,3vw,2.2rem); color:var(--cream); letter-spacing:.01em;
}
.badge{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase;
  padding:.35rem .7rem; border-radius:2px;
}
.badge--live{
  color:var(--teal-bright); border:1px solid rgba(117,211,210,.4);
  position:relative; padding-left:1.4rem; align-self:flex-start;
}
.badge--live::before{
  content:""; position:absolute; left:.6rem; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%; background:var(--teal-bright);
  box-shadow:0 0 0 0 rgba(117,211,210,.6); animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(117,211,210,.5); }
  70%{ box-shadow:0 0 0 7px rgba(117,211,210,0); }
  100%{ box-shadow:0 0 0 0 rgba(117,211,210,0); }
}
.live__tag{
  font-family:var(--display); font-style:italic; font-size:1.18rem;
  color:var(--gold-bright); margin:.7rem 0 1.1rem;
}
.live__desc{ color:var(--ink-soft); font-size:.96rem; }
.live__feat{ list-style:none; margin:1.4rem 0; display:grid; gap:.7rem; }
.live__feat li{
  font-size:.9rem; color:var(--ink); padding-left:1.5rem; position:relative;
}
.live__feat li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:8px; height:8px; border:1px solid var(--gold);
  transform:rotate(45deg);
}
.live__btn{ margin-top:.5rem; }

/* TrialLens flow */
.flow{ list-style:none; display:grid; gap:.6rem; margin:1.6rem 0 1.4rem; }
.flow li{
  display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:1rem;
  padding:.7rem .9rem; border:1px solid var(--line-soft); border-radius:4px;
  background:rgba(7,23,48,.4);
}
.flow__n{
  font-family:var(--mono); font-size:.8rem; color:var(--navy-900);
  background:var(--teal-bright); width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center; font-weight:600;
}
.flow li b{ font-family:var(--mono); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cream); }
.flow li em{ font-style:normal; font-size:.85rem; color:var(--ink-soft); text-align:right; }
.live__metric{
  font-size:.95rem; color:var(--ink-soft);
  padding-top:1.2rem; border-top:1px solid var(--line-soft);
}
.live__metric b{ font-family:var(--display); font-size:1.6rem; color:var(--teal-bright); margin-right:.3rem; }

/* dev grid */
.dev__head{
  max-width:var(--maxw); margin:clamp(3.5rem,6vw,5rem) auto 1.6rem;
  font-family:var(--mono); font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); display:flex; align-items:center; gap:1rem;
}
.dev__head::after{ content:""; flex:1; height:1px; background:var(--line-soft); }
.dev__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.dev{
  border:1px solid var(--line-soft); border-radius:6px;
  padding:1.5rem 1.4rem; background:var(--navy-900);
  transition:transform .25s ease, border-color .25s ease;
}
.dev:hover{ transform:translateY(-3px); border-color:var(--line); }
.dev h4{
  font-family:var(--display); font-weight:500; font-size:1.2rem;
  color:var(--cream); margin-bottom:.4rem;
}
.dev__role{ font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:.7rem; }
.dev__desc{ font-size:.86rem; color:var(--ink-soft); }

/* =================================================================
   STORY / EVIDENCE  (video background)
================================================================= */
.story{
  position:relative;
  padding:clamp(5rem,9vw,8rem) var(--pad);
  overflow:hidden;
  background:var(--navy-900);
}
.story__bg{ position:absolute; inset:0; z-index:0; }
.story__video{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.85);
}
.story__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, var(--navy-900) 0%, rgba(7,23,48,.82) 22%, rgba(7,23,48,.82) 78%, var(--navy-900) 100%),
    radial-gradient(90% 70% at 50% 50%, rgba(7,23,48,.55), rgba(7,23,48,.86));
}
.story__content{ position:relative; z-index:1; }

.story__timeline{
  max-width:740px; margin:0 auto;
  display:grid; gap:1.4rem;
}
.msg{
  border-radius:8px; padding:1.4rem 1.6rem;
  position:relative; max-width:88%;
  backdrop-filter:blur(8px);
}
.msg__meta{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-faint); display:block; margin-bottom:.6rem;
}
.msg p{ font-size:.96rem; }
.msg--in{
  background:rgba(12,37,69,.86); border:1px solid var(--line-soft);
  justify-self:start; border-bottom-left-radius:2px;
}
.msg--in p{ color:var(--ink); }
.msg--note{
  background:linear-gradient(160deg, rgba(77,149,154,.28), rgba(7,23,48,.82));
  border:1px solid rgba(117,211,210,.35);
  justify-self:center; max-width:94%;
}
.msg--note .msg__meta{ color:var(--teal-bright); }
.msg--note p{ color:var(--cream); }
.msg__grade{ display:block; margin-top:.6rem; font-size:.82rem; color:var(--ink-soft); font-style:italic; }
.msg--out{
  background:linear-gradient(160deg, rgba(212,163,69,.24), rgba(7,23,48,.82));
  border:1px solid rgba(212,163,69,.35);
  justify-self:end; border-bottom-right-radius:2px;
}
.msg--out .msg__meta{ color:var(--gold-bright); }
.msg--out p{ color:var(--cream); }

/* benchmark */
.bench{
  position:relative; z-index:1;
  max-width:760px; margin:clamp(3.5rem,6vw,5rem) auto 0;
  text-align:center;
}
.bench__head{
  font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,3vw,1.9rem);
  color:var(--cream); margin-bottom:1rem;
}
.bench__sub{ color:var(--ink-soft); font-size:.96rem; max-width:56ch; margin:0 auto 2.5rem; }
.bench__bars{ display:grid; gap:1rem; text-align:left; }
.bar{ display:grid; grid-template-columns:120px 1fr 130px; align-items:center; gap:1rem; }
.bar__name{ font-family:var(--mono); font-size:.78rem; color:var(--ink); }
.bar__track{ height:10px; background:rgba(12,37,69,.8); border-radius:6px; overflow:hidden; }
.bar__fill{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  border-radius:6px; transition:width 1.2s cubic-bezier(.16,1,.3,1);
}
.bar__fill--muted{ background:linear-gradient(90deg,rgba(77,149,154,.5),rgba(77,149,154,.7)); }
.bar__val{ font-family:var(--mono); font-size:.72rem; color:var(--ink-faint); text-align:right; }
.bench__cap{ margin-top:2rem; font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; color:var(--ink-faint); }

/* =================================================================
   CATEGORY MATRIX
================================================================= */
.category{ padding:clamp(5rem,9vw,8rem) var(--pad); }
.matrix__wrap{ max-width:var(--maxw); margin:0 auto; overflow-x:auto; }
.matrix{
  width:100%; border-collapse:collapse; min-width:680px;
}
.matrix th, .matrix td{ padding:1.1rem 1rem; text-align:center; border-bottom:1px solid var(--line-soft); }
.matrix thead th{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:500; vertical-align:bottom;
}
.matrix__cap{ text-align:left !important; }
.matrix tbody th{
  text-align:left; font-family:var(--body); font-weight:400; font-size:.92rem;
  color:var(--ink);
}
.matrix .x{ color:var(--ink-faint); font-size:1rem; }
.matrix .ok{ color:var(--teal-bright); font-size:1.05rem; font-weight:600; }
.matrix__us{ color:var(--gold-bright) !important; font-family:var(--display) !important; font-size:1.1rem !important; letter-spacing:.02em; }
.matrix tbody tr:hover{ background:rgba(14,39,71,.5); }
.matrix td:last-child, .matrix th:last-child{
  background:linear-gradient(180deg, rgba(212,163,69,.07), rgba(212,163,69,.03));
}

/* =================================================================
   TEAM
================================================================= */
.team{ padding:clamp(5rem,9vw,8rem) var(--pad); background:var(--navy-900); }
.team__grid{
  max-width:920px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem;
}
.member{
  border:1px solid var(--line); border-radius:8px;
  overflow:hidden;
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  transition:transform .3s ease, border-color .3s ease;
}
.member:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }
.member__photo{
  position:relative; aspect-ratio:1/1; overflow:hidden;
}
.member__photo img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.15) contrast(1.02);
  transition:filter .4s ease, transform .4s ease;
}
.member:hover .member__photo img{ filter:grayscale(0); transform:scale(1.03); }
.member__photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(7,23,48,.55) 100%);
}
.member__body{ padding:1.6rem clamp(1.4rem,2.5vw,2rem) 1.8rem; }
.member h3{
  font-family:var(--display); font-weight:500; font-size:1.35rem;
  color:var(--cream); line-height:1.15;
}
.member__role{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); margin:.6rem 0 1rem;
}
.member__bio{ font-size:.92rem; color:var(--ink-soft); }

/* =================================================================
   CONTACT
================================================================= */
.contact{
  padding:clamp(5rem,10vw,9rem) var(--pad);
  text-align:center;
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(77,149,154,.14), transparent 60%),
    radial-gradient(70% 90% at 50% 100%, rgba(212,163,69,.10), transparent 60%),
    var(--navy);
}
.contact__inner{ max-width:640px; margin:0 auto; }
.contact__title{
  font-family:var(--display); font-weight:300;
  font-size:clamp(2.2rem,6vw,4rem); line-height:1.02; letter-spacing:-.02em;
  color:var(--cream); margin:1rem 0 1.2rem;
}
.contact__sub{ color:var(--ink-soft); font-size:1.05rem; margin-bottom:2.4rem; }
.contact__btn{ font-size:.9rem; text-transform:none; letter-spacing:.02em; word-break:break-all; }

/* =================================================================
   FOOTER
================================================================= */
.footer{ padding:3rem var(--pad); border-top:1px solid var(--line-soft); background:var(--navy-900); }
.footer__inner{
  max-width:var(--maxw); margin:0 auto;
  display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.footer__col--brand{ display:flex; flex-direction:column; gap:.7rem; }
.footer__brand{ display:flex; align-items:center; gap:.7rem; font-family:var(--display); color:var(--cream); font-size:1rem; }
.footer__logo{ width:34px; }
.footer__addr{ font-family:var(--mono); font-size:.68rem; letter-spacing:.02em; color:var(--ink-faint); }
.footer__legal{ font-family:var(--mono); font-size:.68rem; line-height:1.7; letter-spacing:.02em; color:var(--ink-faint); max-width:52ch; text-align:right; }

/* =================================================================
   REVEAL ANIMATION
================================================================= */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero__scroll svg, .badge--live::before{ animation:none; }
  .hero__video, .story__video{ display:none; }
}

/* =================================================================
   RESPONSIVE
================================================================= */
@media (max-width:980px){
  .hero__inner{ grid-template-columns:1fr; }
  .hero__right{ order:-1; max-width:520px; }
  .problem__grid{ grid-template-columns:repeat(2,1fr); }
  .dev__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .nav__links{
    position:fixed; inset:60px 0 auto 0;
    flex-direction:column; gap:1.4rem; align-items:flex-start;
    background:rgba(7,23,48,.97); backdrop-filter:blur(14px);
    padding:2rem var(--pad); border-bottom:1px solid var(--line-soft);
    transform:translateY(-120%); transition:transform .35s ease;
  }
  .nav__links.open{ transform:translateY(0); }
  .nav__toggle{ display:flex; }
  .live{ grid-template-columns:1fr; }
  .team__grid{ grid-template-columns:1fr; }
  .distress__stats{ grid-template-columns:1fr; gap:2.5rem; }
  .bar{ grid-template-columns:90px 1fr; }
  .bar__val{ display:none; }
  .footer__inner{ flex-direction:column; }
  .footer__legal{ text-align:left; }
}
@media (max-width:480px){
  .problem__grid{ grid-template-columns:1fr; }
  .dev__grid{ grid-template-columns:1fr; }
  .flow li{ grid-template-columns:auto 1fr; }
  .flow li em{ grid-column:1 / -1; text-align:left; padding-left:calc(24px + 1rem); }
}

/* =================================================================
   STAT STRIP  (Purple-AI-style credibility band)
================================================================= */
.stats{
  padding:clamp(2.5rem,5vw,3.5rem) var(--pad);
  background:var(--navy-900);
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.stats__inner{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,4vw,3rem);
}
.stat{ text-align:center; position:relative; }
.stat:not(:last-child)::after{
  content:""; position:absolute; right:calc(-1 * clamp(.5rem,2vw,1.5rem)); top:50%;
  transform:translateY(-50%); width:1px; height:42px; background:var(--line-soft);
}
.stat b{
  font-family:var(--display); font-weight:300;
  font-size:clamp(2rem,4.5vw,3rem); color:var(--gold-bright);
  line-height:1; display:block;
}
.stat span{
  display:block; margin-top:.6rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft);
}

/* =================================================================
   NEWS  (feature article + side article)
================================================================= */
.news{ padding:clamp(5rem,9vw,8rem) var(--pad); background:var(--navy-900); }
.news__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1.55fr 1fr; gap:1.5rem;
  align-items:stretch;
}
.article{
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  border:1px solid var(--line);
  border-radius:10px; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .3s ease, border-color .3s ease;
}
.article:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }

.article__media{ position:relative; margin:0; aspect-ratio:16/10; overflow:hidden; }
.article__media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.article--feature:hover .article__media img{ transform:scale(1.03); }
.article__tag{
  position:absolute; left:1rem; bottom:1rem;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream); background:rgba(7,23,48,.78); backdrop-filter:blur(6px);
  padding:.4rem .8rem; border-radius:3px; border:1px solid var(--line-soft);
}

/* side article: seal panel instead of photo */
.article__seal{
  display:grid; place-items:center;
  padding:clamp(2rem,4vw,3rem);
  background:
    radial-gradient(70% 70% at 50% 40%, rgba(212,163,69,.10), transparent 70%),
    var(--navy-900);
  border-bottom:1px solid var(--line-soft);
}
.article__seal img{ width:128px; height:auto; filter:drop-shadow(0 8px 24px rgba(0,0,0,.4)); }

.article__body{ padding:clamp(1.6rem,3vw,2.2rem); display:flex; flex-direction:column; gap:.7rem; }
.article__kicker{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--teal-bright);
}
.article__body h3{
  font-family:var(--display); font-weight:500; font-size:clamp(1.3rem,2.4vw,1.7rem);
  color:var(--cream); line-height:1.18;
}
.article__body p{ font-size:.94rem; color:var(--ink-soft); }
.article--feature .article__body{ flex:1; }

/* =================================================================
   AFFILIATIONS
================================================================= */
.affil{
  max-width:var(--maxw); margin:clamp(3.5rem,6vw,5rem) auto 0;
  text-align:center;
  padding-top:clamp(2.5rem,5vw,3.5rem);
  border-top:1px solid var(--line-soft);
}
.affil__label{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:1.8rem;
}
.affil__logos{ display:flex; align-items:center; justify-content:center; gap:clamp(1.5rem,4vw,3rem); flex-wrap:wrap; }
.affil__pitt{ width:80px; height:auto; }
.affil__npl{ width:84px; height:auto; }
.affil__div{ width:1px; height:54px; background:var(--line-soft); }

@media (max-width:760px){
  .stats__inner{ grid-template-columns:repeat(2,1fr); gap:2rem; }
  .stat:nth-child(2)::after{ display:none; }
  .news__grid{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .stats__inner{ grid-template-columns:1fr; gap:1.8rem; }
  .stat::after{ display:none !important; }
}

/* =================================================================
   TOP RIBBON (dismissible)
================================================================= */
.ribbon{
  position:relative; z-index:101;
  display:flex; align-items:center; justify-content:center; gap:1rem;
  background:linear-gradient(90deg, var(--navy-800), var(--navy-700), var(--navy-800));
  border-bottom:1px solid var(--line);
  padding:.5rem 1rem;
}
.ribbon.hidden{ display:none; }
.ribbon__text{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-bright); text-align:center;
}
.ribbon__close{
  position:absolute; right:.8rem; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--ink-faint); font-size:1.3rem; line-height:1;
  cursor:pointer; padding:0 .4rem; transition:color .2s ease;
}
.ribbon__close:hover{ color:var(--cream); }

/* nav sits below ribbon when present */
.ribbon + .nav{ top:0; }

/* =================================================================
   HERO BACKGROUND VIDEO (doctor footage in upper section)
================================================================= */
.hero{ isolation:isolate; }
.hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero__bgvideo{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.8) brightness(.7);
}
.hero__bgscrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(7,23,48,.86) 0%, rgba(7,23,48,.78) 40%, rgba(7,23,48,.9) 100%),
    radial-gradient(120% 90% at 20% 30%, rgba(7,23,48,.5), rgba(7,23,48,.85)),
    linear-gradient(90deg, rgba(7,23,48,.92) 0%, rgba(7,23,48,.55) 55%, rgba(7,23,48,.4) 100%);
}
.hero__inner{ position:relative; z-index:2; }
.hero__scroll{ position:relative; z-index:2; }

/* hero proof line */
.hero__proof{
  margin-top:1.6rem; display:flex; align-items:center; gap:.6rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
  color:var(--ink-soft);
}
.hero__proofseal{ width:26px; height:auto; opacity:.95; }

/* logo card slightly more opaque now it sits over video */
.hero__logovid{ background:var(--navy-900); }

/* =================================================================
   CONTRAST FIX — muted caption text
   (was rgba cream .42; raise to a legible teal-tinted tone)
================================================================= */
.clock__note{ color:#A9C3C9; }   /* soft desaturated teal-cream, ~5.3:1 on navy */

/* =================================================================
   STAT STRIP — support 5 items
================================================================= */
.stats__inner{ grid-template-columns:repeat(5,1fr); }
@media (max-width:980px){ .stats__inner{ grid-template-columns:repeat(5,1fr); gap:1rem; } }
@media (max-width:760px){
  .stats__inner{ grid-template-columns:repeat(2,1fr); gap:2rem; }
  .stat:nth-child(2)::after{ display:none; }
}
@media (max-width:480px){ .stats__inner{ grid-template-columns:1fr; } }

/* =================================================================
   PATHWAY DIAGRAM
================================================================= */
.pathway{ max-width:var(--maxw); margin:0 auto clamp(2.5rem,5vw,4rem); }
.pathway__track{
  list-style:none; display:grid; grid-template-columns:repeat(6,1fr); gap:0;
  position:relative;
}
.pathway__track::before{
  content:""; position:absolute; left:0; right:0; top:5px; height:2px;
  background:linear-gradient(90deg, var(--teal) 0%, var(--gold) 100%);
  opacity:.45;
}
.pathway__stage{
  position:relative; padding:0 .6rem; text-align:center;
}
.pathway__dot{
  display:block; width:12px; height:12px; border-radius:50%;
  background:var(--navy-700); border:2px solid var(--teal);
  margin:0 auto .9rem;
}
.pathway__stage--live .pathway__dot{
  background:var(--gold-bright); border-color:var(--gold-bright);
  box-shadow:0 0 12px rgba(236,197,112,.6);
}
.pathway__stage b{
  display:block; font-family:var(--body); font-weight:600; font-size:.8rem;
  color:var(--cream); margin-bottom:.25rem;
}
.pathway__stage em{
  font-style:normal; font-family:var(--mono); font-size:.66rem; letter-spacing:.04em;
  color:var(--ink-faint);
}
.pathway__stage--live em{ color:var(--gold); }
@media (max-width:760px){
  .pathway__track{ grid-template-columns:1fr 1fr; gap:1.4rem 0; }
  .pathway__track::before{ display:none; }
  .pathway__dot{ margin-bottom:.5rem; }
}

/* =================================================================
   EXPANDABLE PRODUCT DETAIL
================================================================= */
.detail{ margin:1.2rem 0 .4rem; border-top:1px solid var(--line-soft); }
.detail__summary{
  list-style:none; cursor:pointer; padding:1rem 0 .2rem;
  font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gold-bright); display:flex; align-items:center; gap:.5rem;
  transition:color .2s ease;
}
.detail__summary::-webkit-details-marker{ display:none; }
.detail__summary::after{
  content:"+"; margin-left:auto; font-size:1.1rem; color:var(--gold);
  transition:transform .3s ease;
}
.detail[open] .detail__summary::after{ content:"–"; }
.detail__summary:hover{ color:var(--cream); }
.detail__less{ display:none; }
.detail[open] .detail__more{ display:none; }
.detail[open] .detail__less{ display:inline; }
.detail__body{ padding:.6rem 0 .4rem; animation:fadein .4s ease; }
@keyframes fadein{ from{ opacity:0; transform:translateY(-6px);} to{ opacity:1; transform:none;} }
.detail__shot{
  border-radius:8px; overflow:hidden; border:1px solid var(--line);
  margin-bottom:1.1rem; background:var(--navy-900);
}
.detail__shot video{ width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover; }
.detail__h{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal-bright); margin:1rem 0 .4rem;
}
.detail__body p{ font-size:.92rem; color:var(--ink-soft); margin-bottom:.6rem; }
.detail__note{ font-style:italic; color:var(--ink-faint); font-size:.86rem; }

/* =================================================================
   DEV GROUPS + STATUS TAGS
================================================================= */
.devgroup{ max-width:var(--maxw); margin:0 auto 1.8rem; }
.devgroup__label{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal); margin-bottom:.9rem; padding-left:.1rem;
}
.dev{ position:relative; }
.dev__status{
  display:inline-block; margin-bottom:.7rem;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.25rem .55rem; border-radius:2px; border:1px solid transparent;
}
.dev__status--dev{ color:var(--ink-soft); border-color:var(--line-soft); }
.dev__status--val{ color:var(--teal-bright); border-color:rgba(117,211,210,.35); }
.dev__status--soon{ color:var(--gold-bright); border-color:rgba(212,163,69,.35); }

/* =================================================================
   EVIDENCE — CREED LAYOUT (replaces case-study thread)
================================================================= */
.story{ background:var(--navy-900); }
.creed{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.creed__item{
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  border:1px solid var(--line); border-radius:10px;
  padding:clamp(1.8rem,3vw,2.4rem);
  transition:transform .3s ease, border-color .3s ease;
}
.creed__item:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }
.creed__big{
  font-family:var(--display); font-weight:300;
  font-size:clamp(2.4rem,5vw,3.4rem); line-height:1;
  background:linear-gradient(100deg,var(--gold-bright),var(--teal-bright));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  display:block; margin-bottom:1rem;
}
.creed__item h3{
  font-family:var(--display); font-weight:500; font-size:1.3rem;
  color:var(--cream); margin-bottom:.6rem; line-height:1.2;
}
.creed__item p{ font-size:.94rem; color:var(--ink-soft); }
.creed__line{
  max-width:var(--maxw); margin:clamp(2.5rem,5vw,3.5rem) auto 0; text-align:center;
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.3rem,2.8vw,1.9rem); color:var(--teal-bright);
}
@media (max-width:760px){ .creed{ grid-template-columns:1fr; } }

/* =================================================================
   MOBILE STICKY CTA
================================================================= */
.mobile-cta{
  display:none;
  position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:90;
  text-align:center;
  font-family:var(--mono); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.95rem 1.6rem; border-radius:4px;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:var(--navy-900); font-weight:600;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.6);
}
@media (max-width:760px){
  .mobile-cta{ display:block; }
  /* keep content clear of the sticky button */
  .contact{ padding-bottom:6rem; }
}

/* =================================================================
   REDUCED MOTION — hide hero bg video too
================================================================= */
@media (prefers-reduced-motion: reduce){
  .hero__bgvideo{ display:none; }
  .hero__bg{ background:var(--navy-900); }
}

/* =================================================================
   ABOUT SECTION
================================================================= */
.about{ padding:clamp(4.5rem,8vw,7rem) var(--pad); background:var(--navy); }
.about__inner{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(2rem,5vw,4.5rem);
  align-items:start;
}
.about__head .eyebrow{ display:block; margin-bottom:1rem; }
.about__title{
  font-family:var(--display); font-weight:300;
  font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.08; letter-spacing:-.02em;
  color:var(--cream);
}
.about__body p{ font-size:clamp(1rem,1.4vw,1.12rem); color:var(--ink-soft); margin-bottom:1.1rem; }
.about__pillars{
  margin-top:1.8rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;
}
.about__pillar{
  border-top:2px solid var(--line); padding-top:.9rem;
}
.about__pillar b{
  display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gold-bright); margin-bottom:.4rem;
}
.about__pillar span{ font-size:.86rem; color:var(--ink-soft); }

/* =================================================================
   MOBILE COMPLIANCE — comprehensive pass
================================================================= */

/* Tablet / small laptop */
@media (max-width:980px){
  .about__inner{ grid-template-columns:1fr; gap:1.6rem; }
  .news__grid{ grid-template-columns:1fr; }
}

/* Phone landscape / large phone */
@media (max-width:760px){
  :root{ --pad: 1.25rem; }

  /* nav dropdown: full-width, comfortable tap targets */
  .nav__links{
    inset:0 0 auto 0; top:56px;
    gap:0; padding:.5rem var(--pad) 1.25rem;
    max-height:calc(100vh - 56px); overflow-y:auto;
  }
  .nav__links a:not(.nav__cta){
    width:100%; padding:.95rem 0; font-size:1.05rem;
    border-bottom:1px solid var(--line-soft);
  }
  .nav__links a:not(.nav__cta)::after{ display:none; }
  .nav__cta{
    margin-top:1rem; width:100%; text-align:center; padding:.9rem 1.1rem; font-size:.9rem;
  }
  .nav__logo{ width:32px; }
  .nav__wordmark{ font-size:.95rem; }

  /* hero: comfortable stacking, readable sizes */
  .hero{ padding:5.5rem var(--pad) 3rem; min-height:auto; }
  .hero__title{ font-size:clamp(2.6rem,12vw,3.6rem); }
  .hero__lede{ font-size:1.05rem; max-width:100%; }
  .hero__actions{ gap:.8rem; }
  .hero__actions .btn{ flex:1 1 auto; justify-content:center; text-align:center; }
  .hero__right{ max-width:100%; }
  .clock__time{ font-size:clamp(2.4rem,11vw,3rem); }

  /* about pillars stack */
  .about__pillars{ grid-template-columns:1fr; gap:1rem; }

  /* products */
  .live{ grid-template-columns:1fr; }
  .team__grid{ grid-template-columns:1fr; }
  .distress__stats{ grid-template-columns:1fr; gap:2.5rem; }
  .bar{ grid-template-columns:90px 1fr; }
  .bar__val{ display:none; }
  .footer__inner{ flex-direction:column; }
  .footer__legal{ text-align:left; }

  /* creed + matrix breathing room */
  .creed{ grid-template-columns:1fr; }

  /* section titles a touch smaller for balance */
  .section__title{ font-size:clamp(1.9rem,7vw,2.6rem); }

  /* keep sticky CTA from covering the footer legal */
  .footer{ padding-bottom:6.5rem; }
}

/* Small phone */
@media (max-width:480px){
  .problem__grid{ grid-template-columns:1fr; }
  .dev__grid{ grid-template-columns:1fr; }
  .flow li{ grid-template-columns:auto 1fr; }
  .flow li em{ grid-column:1 / -1; text-align:left; padding-left:calc(24px + 1rem); }

  .hero__title{ font-size:clamp(2.3rem,13vw,3rem); }
  .hero__proof{ font-size:.68rem; align-items:flex-start; }
  .live__card{ padding:1.4rem; }
  .live__logo{ height:52px; }
  .creed__big{ font-size:clamp(2.2rem,14vw,3rem); }

  /* comparison matrix: allow horizontal scroll gracefully, shrink text */
  .matrix{ min-width:560px; }
  .matrix th, .matrix td{ padding:.8rem .5rem; }
  .matrix tbody th{ font-size:.82rem; }

  /* pathway: 2-up already handled; tighten */
  .pathway__stage b{ font-size:.78rem; }
}

/* Ensure horizontal-scroll containers don't cause full-page overflow */
@media (max-width:760px){
  .matrix__wrap{ -webkit-overflow-scrolling:touch; }
  body{ overflow-x:hidden; }
}

/* =================================================================
   FRAGMENTATION SIMULATION (built; mapped to products)
================================================================= */
.frag{
  max-width:var(--maxw); margin:clamp(3rem,6vw,4.5rem) auto 0; text-align:center;
}
.frag__cap{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.3rem,3vw,1.9rem); color:var(--teal-bright); margin-bottom:1.4rem;
}
.frag__toggle{
  display:inline-flex; gap:0; margin-bottom:2rem;
  border:1px solid var(--line); border-radius:999px; padding:4px; background:var(--navy-900);
}
.frag__btn{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); background:transparent; border:none; cursor:pointer;
  padding:.6rem 1.2rem; border-radius:999px; transition:color .25s ease, background .25s ease;
}
.frag__btn.is-active{ color:var(--navy-900); background:linear-gradient(135deg,var(--gold-bright),var(--gold)); font-weight:600; }
.frag__btn:not(.is-active):hover{ color:var(--cream); }

/* the simulation stage */
.frag__sim{
  border:1px solid var(--line); border-radius:14px;
  padding:clamp(1.6rem,3.5vw,2.6rem) clamp(1rem,3vw,2rem);
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(77,149,154,.08), transparent 60%),
    linear-gradient(165deg, var(--navy-card), var(--navy-900));
  box-shadow:0 30px 80px -40px rgba(0,0,0,.7);
  overflow-x:auto;
}
.frag__row{
  display:flex; align-items:flex-start; justify-content:space-between;
  min-width:680px; gap:0;
}
.fstage{
  flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:.55rem;
  padding:0 .3rem; position:relative;
}
.fnode{
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  border:2px solid var(--line); color:var(--ink-soft);
  background:var(--navy-900);
  transition:border-color .5s ease, color .5s ease, box-shadow .5s ease, transform .5s ease;
}
.fnode svg{ width:24px; height:24px; }
.fstage__label{
  font-family:var(--body); font-weight:600; font-size:.82rem; color:var(--cream);
}
.fstage__gap, .fstage__fix{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; text-transform:uppercase;
  line-height:1.3; min-height:1.6em; transition:opacity .4s ease;
}
.fstage__gap{ color:#d98a8a; }
.fstage__fix{ color:var(--teal-bright); position:absolute; bottom:0; opacity:0; }
/* links between stages */
.flink{
  flex:0 0 auto; align-self:center; margin-top:26px;
  width:clamp(14px,3vw,42px); height:2px; position:relative;
  background:var(--line); transition:background .5s ease;
}
.flink__break{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  color:#c0392b; font-size:1.1rem; font-weight:700; line-height:1;
  transition:opacity .4s ease, color .5s ease;
}

/* ---- HEALED state ---- */
.frag__sim[data-state="healed"] .fnode{
  border-color:var(--teal-bright); color:var(--teal-bright);
  box-shadow:0 0 18px -2px rgba(117,211,210,.5);
}
.frag__sim[data-state="healed"] .fstage--live .fnode{
  border-color:var(--gold-bright); color:var(--gold-bright);
  box-shadow:0 0 20px -2px rgba(236,197,112,.6);
}
.frag__sim[data-state="healed"] .flink{
  background:linear-gradient(90deg,var(--teal),var(--teal-bright));
}
.frag__sim[data-state="healed"] .flink__break{ opacity:0; }
.frag__sim[data-state="healed"] .fstage__gap{ opacity:0; }
.frag__sim[data-state="healed"] .fstage__fix{ opacity:1; }

.frag__note{
  margin-top:1.5rem; font-size:.95rem; color:var(--ink-soft); max-width:64ch; margin-inline:auto;
  transition:opacity .3s ease;
}

@media (max-width:760px){
  .frag__sim{ padding:1.4rem .8rem; }
  .fstage__label{ font-size:.72rem; }
  .fstage__gap, .fstage__fix{ font-size:.56rem; }
  .fnode{ width:44px; height:44px; }
  .fnode svg{ width:20px; height:20px; }
}
@media (prefers-reduced-motion: reduce){
  .fnode, .flink, .flink__break, .fstage__gap, .fstage__fix{ transition:none; }
}

/* =================================================================
   SCREAMING IN SILENCE — rebuilt distress block
================================================================= */
.distress{
  max-width:var(--maxw); margin:clamp(3.5rem,6vw,5rem) auto 0;
}
.distress__head{ text-align:center; max-width:60ch; margin:0 auto 2.6rem; }
.distress__head .eyebrow{ display:block; margin-bottom:.9rem; }
.distress__lead{
  font-family:var(--display); font-weight:400; font-size:clamp(1.7rem,3.6vw,2.6rem);
  color:var(--cream); line-height:1.1; letter-spacing:-.01em;
}
.distress__intro{ margin-top:1rem; color:var(--ink-soft); font-size:1rem; }
.distress__cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;
}
.dcard{
  margin:0; text-align:left;
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  border:1px solid var(--line); border-radius:12px;
  padding:1.6rem 1.4rem 1.4rem;
  display:flex; flex-direction:column; gap:.7rem;
  position:relative; overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
.dcard::before{
  content:""; position:absolute; top:0; left:0; width:3px; height:100%;
  background:linear-gradient(180deg,var(--gold-bright),var(--teal-bright));
  opacity:.7;
}
.dcard:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }
.dcard__num{
  font-family:var(--display); font-weight:300; font-size:clamp(2.6rem,5vw,3.4rem);
  color:var(--gold-bright); line-height:1; font-variant-numeric:tabular-nums;
}
.dcard__label{ font-size:.9rem; color:var(--ink); line-height:1.4; flex:1; }
.dcard__cite{
  font-family:var(--mono); font-size:.62rem; letter-spacing:.04em; color:var(--ink-faint);
  font-style:normal; padding-top:.7rem; border-top:1px solid var(--line-soft);
}
.dcard__cite em{ font-style:italic; }

.distress__more{ margin-top:1.8rem; text-align:center; }
.distress__summary{
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold-bright); padding:.6rem 1.1rem; border:1px solid var(--line); border-radius:999px;
  transition:background .25s ease, color .25s ease;
}
.distress__summary::-webkit-details-marker{ display:none; }
.distress__summary::after{ content:"+"; font-size:1rem; color:var(--gold); }
.distress__more[open] .distress__summary::after{ content:"–"; }
.distress__summary:hover{ background:rgba(212,163,69,.1); }
.distress__less-label{ display:none; }
.distress__more[open] .distress__more-label{ display:none; }
.distress__more[open] .distress__less-label{ display:inline; }
.distress__evidence{
  margin:1.6rem auto 0; max-width:1000px;
  border-radius:12px; overflow:hidden; border:1px solid var(--line);
  box-shadow:0 24px 60px -34px rgba(0,0,0,.7);
  animation:fadein .4s ease;
}
.distress__evidence img{ width:100%; height:auto; display:block; }
@media (max-width:900px){ .distress__cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .distress__cards{ grid-template-columns:1fr; } }

/* =================================================================
   CASE JOURNEY — SLIDESHOW
================================================================= */
.journey{ padding:clamp(5rem,9vw,8rem) var(--pad); background:var(--navy-900); }
.slides{
  position:relative; max-width:var(--maxw); margin:0 auto;
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  border:1px solid var(--line); border-radius:16px;
  padding:clamp(1.6rem,3vw,2.4rem);
  box-shadow:0 40px 90px -50px rgba(0,0,0,.8);
}
.slides__progress{
  height:3px; border-radius:3px; background:var(--navy-800); overflow:hidden; margin-bottom:1.8rem;
}
.slides__bar{
  display:block; height:100%; width:20%;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  border-radius:3px; transition:width .5s cubic-bezier(.16,1,.3,1);
}
.slides__viewport{ position:relative; }
.slide{
  display:none;
  grid-template-columns:0.9fr 1.1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center;
}
.slide.is-active{ display:grid; animation:slidein .5s ease; }
@keyframes slidein{ from{ opacity:0; transform:translateY(12px);} to{ opacity:1; transform:none;} }
.slide__shot{
  margin:0; border-radius:12px; overflow:hidden;
  border:1px solid var(--line-soft); background:var(--navy-900);
  justify-self:center; max-width:100%;
}
.slide__shot img{ width:100%; height:auto; display:block; }
.slide__shot--phone{ max-width:290px; box-shadow:0 26px 64px -30px rgba(0,0,0,.85); }
.slide__shot--wide{ max-width:100%; }
.slide__chip{
  display:inline-block; font-family:var(--mono); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-bright);
  border:1px solid var(--line); border-radius:999px; padding:.35rem .8rem; margin-bottom:1.1rem;
}
.slide__text h3{
  font-family:var(--display); font-weight:400; font-size:clamp(1.6rem,3.2vw,2.3rem);
  color:var(--cream); line-height:1.12; letter-spacing:-.01em; margin-bottom:.9rem;
}
.slide__text p{ font-size:1.02rem; color:var(--ink-soft); max-width:46ch; }

/* arrows */
.slides__arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; z-index:3;
  background:rgba(7,23,48,.7); border:1px solid var(--line); color:var(--cream);
  backdrop-filter:blur(6px); transition:background .25s ease, border-color .25s ease, transform .2s ease;
}
.slides__arrow:hover{ background:var(--gold); color:var(--navy-900); border-color:var(--gold); }
.slides__arrow:active{ transform:translateY(-50%) scale(.94); }
.slides__arrow svg{ width:22px; height:22px; }
.slides__arrow--prev{ left:-14px; }
.slides__arrow--next{ right:-14px; }

/* dots */
.slides__dots{ display:flex; justify-content:center; gap:.6rem; margin-top:1.8rem; }
.slides__dot{
  width:9px; height:9px; border-radius:50%; cursor:pointer; padding:0; border:none;
  background:var(--line); transition:background .25s ease, transform .25s ease, width .25s ease;
}
.slides__dot.is-active{ background:var(--gold-bright); width:26px; border-radius:999px; }

@media (max-width:760px){
  .slide{ grid-template-columns:1fr; gap:1.4rem; }
  .slide__shot--phone{ max-width:230px; }
  .slide__text{ text-align:center; }
  .slide__text p{ margin-inline:auto; }
  .slides__arrow--prev{ left:6px; }
  .slides__arrow--next{ right:6px; }
  .slides__arrow{ width:40px; height:40px; }
}
@media (prefers-reduced-motion: reduce){
  .slide.is-active{ animation:none; }
  .slides__bar{ transition:none; }
}


/* =================================================================
   LIABILITY / VERDICTS (in News section)
================================================================= */
.liability{
  max-width:var(--maxw); margin:clamp(3.5rem,6vw,5rem) auto 0;
  padding-top:clamp(2.5rem,5vw,3.5rem); border-top:1px solid var(--line-soft);
}
.liability__head{ text-align:center; max-width:60ch; margin:0 auto 2.5rem; }
.liability__head .eyebrow{ display:block; margin-bottom:.9rem; }
.liability__title{
  font-family:var(--display); font-weight:400; font-size:clamp(1.6rem,3.5vw,2.4rem);
  color:var(--cream); line-height:1.12; letter-spacing:-.01em;
}
.liability__sub{ margin-top:1rem; color:var(--ink-soft); font-size:1rem; }
.liability__cards{
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:stretch;
}
.verdict{
  display:flex; gap:1.4rem; text-align:left;
  border-radius:12px; overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  padding:clamp(1.5rem,3vw,2rem);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.verdict:hover{ transform:translateY(-4px); border-color:var(--gold); box-shadow:0 24px 56px -28px rgba(0,0,0,.7); }
.verdict__amount{
  flex:0 0 auto;
  font-family:var(--display); font-weight:300; line-height:.9;
  font-size:clamp(2.6rem,5vw,3.6rem);
  color:var(--gold-bright);
  display:flex; align-items:flex-start; letter-spacing:-.02em;
}
.verdict__cur{ font-size:.5em; margin-top:.35em; margin-right:.05em; color:var(--gold); }
.verdict__unit{ font-size:.5em; margin-top:.35em; margin-left:.04em; color:var(--gold); }
.verdict__body{ display:flex; flex-direction:column; gap:.5rem; }
.verdict__loc{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--teal-bright);
}
.verdict__headline{
  font-family:var(--display); font-weight:500; font-size:clamp(1.05rem,2vw,1.28rem);
  color:var(--cream); line-height:1.2;
}
.verdict__desc{ font-size:.9rem; color:var(--ink-soft); line-height:1.55; }
.verdict__src{
  margin-top:.2rem;
  font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold); transition:color .2s ease;
}
.verdict:hover .verdict__src{ color:var(--gold-bright); }
.liability__note{
  margin-top:2rem; text-align:center; font-family:var(--mono);
  font-size:.72rem; letter-spacing:.06em; color:var(--ink-faint); max-width:64ch; margin-inline:auto;
}
@media (max-width:760px){
  .liability__cards{ grid-template-columns:1fr; }
  .verdict{ flex-direction:column; gap:1rem; }
}

/* =================================================================
   ABOUT — video background
================================================================= */
.about{ position:relative; isolation:isolate; overflow:hidden; }
.about__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.about__bgvideo{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.85) brightness(.62);
}
.about__bgscrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, var(--navy) 0%, rgba(10,31,62,.72) 22%, rgba(10,31,62,.72) 78%, var(--navy) 100%),
    radial-gradient(90% 120% at 15% 50%, rgba(7,23,48,.82), rgba(7,23,48,.55) 60%, transparent);
}
.about > .about__inner{ position:relative; z-index:2; }

/* =================================================================
   LUCID BENCHMARK SUMMARY (inside LUCID card)
================================================================= */
.lucid-bench{
  margin:1.2rem 0 .4rem; padding-top:1.2rem;
  border-top:1px solid var(--line-soft);
}
.lucid-bench__stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin-bottom:1rem;
}
.lbstat{
  text-align:center; padding:.9rem .4rem; border-radius:9px;
  background:rgba(117,211,210,.06); border:1px solid var(--line-soft);
}
.lbstat b{
  display:block; font-family:var(--display); font-weight:300;
  font-size:clamp(1.5rem,3vw,2rem); color:var(--gold-bright); line-height:1;
}
.lbstat span{
  display:block; margin-top:.4rem; font-size:.66rem; color:var(--ink-soft); line-height:1.35;
}
.lucid-bench__note{ font-size:.86rem; color:var(--ink-soft); line-height:1.6; }
.lucid-bench__note b{ color:var(--cream); font-weight:600; }
.lucid-bench__link{
  color:var(--teal-bright); text-decoration:none; white-space:nowrap; font-weight:500;
  border-bottom:1px solid rgba(117,211,210,.35);
}
.lucid-bench__link:hover{ color:var(--gold-bright); border-color:var(--gold-bright); }

/* =================================================================
   IN DEVELOPMENT — horizontal slider
================================================================= */
.devbar{ max-width:var(--maxw); margin:clamp(2.5rem,5vw,4rem) auto 0; }
.devbar__head{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:1.4rem;
}
.devbar__head .dev__head{ margin:0; }
.devbar__nav{ display:flex; gap:.6rem; }
.devbar__arrow{
  width:42px; height:42px; border-radius:50%; cursor:pointer;
  display:grid; place-items:center;
  background:var(--navy-900); border:1px solid var(--line); color:var(--cream);
  transition:background .2s ease, border-color .2s ease, opacity .2s ease, transform .15s ease;
}
.devbar__arrow:hover:not(:disabled){ background:var(--gold); color:var(--navy-900); border-color:var(--gold); }
.devbar__arrow:active:not(:disabled){ transform:scale(.94); }
.devbar__arrow:disabled{ opacity:.3; cursor:default; }
.devbar__arrow svg{ width:20px; height:20px; }
.devbar__track{
  display:flex; gap:1.2rem; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:.4rem .2rem 1.2rem; margin:0 -.2rem;
  scrollbar-width:none;
}
.devbar__track::-webkit-scrollbar{ display:none; }
.devbar__track .dev{
  flex:0 0 clamp(230px,60vw,300px); scroll-snap-align:start; margin:0;
}

/* =================================================================
   BENCHMARK — grouped bar chart
================================================================= */
.bchart{
  max-width:var(--maxw); margin:0 auto;
  border:1px solid var(--line); border-radius:14px;
  padding:clamp(1.6rem,3.5vw,2.6rem) clamp(1rem,3vw,2rem) clamp(1.2rem,3vw,1.8rem);
  background:linear-gradient(165deg, var(--navy-card), var(--navy-900));
  box-shadow:0 30px 80px -46px rgba(0,0,0,.7);
}
.bchart__legend{
  display:flex; flex-wrap:wrap; justify-content:center; gap:1.2rem; margin-bottom:2rem;
}
.blg{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--ink-soft);
}
.blg__sw{ width:14px; height:14px; border-radius:3px; display:inline-block; }
.blg__sw--lucid{ background:#5F9E4F; }
.blg__sw--gpt{ background:#3E7CB1; }
.blg__sw--claude{ background:#E08A2B; }
.blg__sw--gemini{ background:#7E4E9E; }

.bchart__grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(.8rem,2.5vw,2rem);
  align-items:end;
}
.bgroup{ display:flex; flex-direction:column; align-items:center; gap:1rem; }
.bgroup__bars{
  display:flex; align-items:flex-end; justify-content:center; gap:clamp(3px,.6vw,7px);
  height:210px; width:100%;
}
.bbar{
  position:relative; flex:1 1 0; max-width:34px;
  height:var(--h); border-radius:4px 4px 0 0;
  transition:height 1s cubic-bezier(.16,1,.3,1);
  min-height:3px;
}
.bbar b{
  position:absolute; top:-1.35rem; left:50%; transform:translateX(-50%);
  font-family:var(--mono); font-size:.6rem; color:var(--ink-soft); white-space:nowrap;
}
.bbar--lucid{ background:linear-gradient(180deg,#7Fc06F,#5F9E4F); }
.bbar--lucid b{ color:var(--gold-bright); font-weight:600; }
.bbar--gpt{ background:linear-gradient(180deg,#5A97C9,#3E7CB1); }
.bbar--claude{ background:linear-gradient(180deg,#F0A247,#E08A2B); }
.bbar--gemini{ background:linear-gradient(180deg,#9866B8,#7E4E9E); }
.bgroup__label{
  font-size:.72rem; color:var(--ink-soft); text-align:center; line-height:1.35;
  max-width:16ch;
}
@media (max-width:760px){
  .bchart__grid{
    grid-template-columns:1fr; gap:1.6rem;
  }
  .bgroup{ flex-direction:column-reverse; gap:.8rem; }
  .bgroup__bars{ height:150px; }
  .bbar{ max-width:44px; }
  .bgroup__label{ max-width:none; font-weight:600; color:var(--cream); }
}

/* =================================================================
   REDUCED MOTION additions
================================================================= */
@media (prefers-reduced-motion: reduce){
  .about__bgvideo{ display:none; }
  .about__bg{ background:var(--navy); }
  .bbar{ transition:none; }
}

/* =================================================================
   THE WHOLE PICTURE (serve) — with clear video background
================================================================= */
.serve{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(5rem,9vw,8rem) var(--pad); background:var(--navy); }
.serve__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.serve__card{
  background:linear-gradient(165deg, rgba(14,39,71,.72), rgba(7,23,48,.82));
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border:1px solid var(--line); border-radius:12px;
  padding:clamp(1.8rem,3vw,2.4rem);
  transition:transform .3s ease, border-color .3s ease;
}
.serve__card:hover{ transform:translateY(-4px); border-color:rgba(212,163,69,.4); }
.serve__icon{
  display:grid; place-items:center; width:52px; height:52px; border-radius:12px;
  background:rgba(117,211,210,.14); border:1px solid var(--line-soft);
  color:var(--teal-bright); margin-bottom:1.2rem;
}
.serve__icon svg{ width:26px; height:26px; }
.serve__card h3{
  font-family:var(--display); font-weight:500; font-size:1.35rem; color:var(--cream);
  margin-bottom:.6rem; line-height:1.2;
}
.serve__card p{ font-size:.94rem; color:var(--ink-soft); line-height:1.6; }
.serve__line{
  max-width:var(--maxw); margin:clamp(2.5rem,5vw,3.5rem) auto 0; text-align:center;
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.2rem,2.6vw,1.7rem); color:var(--teal-bright);
}
@media (max-width:820px){ .serve__grid{ grid-template-columns:1fr; } }

/* serve section background video — kept CLEARLY visible */
.serve__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.serve__bgvideo{
  width:100%; height:100%; object-fit:cover;
  opacity:.55; filter:saturate(1) contrast(1.02);
}
.serve__bgscrim{
  position:absolute; inset:0;
  /* light enough that the video reads clearly, dark enough to keep text legible */
  background:
    linear-gradient(180deg, rgba(7,23,48,.82) 0%, rgba(7,23,48,.45) 30%, rgba(7,23,48,.45) 70%, rgba(7,23,48,.82) 100%),
    radial-gradient(120% 80% at 50% 45%, rgba(7,23,48,.15), rgba(7,23,48,.55));
}
/* lift section content above the video */
.serve > *:not(.serve__bg){ position:relative; z-index:1; }
@media (prefers-reduced-motion: reduce){
  .serve__bgvideo{ display:none; }
  .serve__bg{ background:var(--navy); }
}
