@import url('shared.css');

/* Base variables, resets, typography helpers, layout helpers, buttons, pills, footer defaults, and reveal are in shared.css */
  section{padding:120px 0;}

  /* ---------- shared section bits ---------- */
  .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;background:var(--teal-pale);border:1px solid rgba(45,193,179,.25);border-radius:999px;font-size:13px;font-weight:500;color:var(--teal-dark);margin-bottom:28px;letter-spacing:.01em;}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(45,193,179,.2);animation:pulse 2.5s ease-in-out infinite;}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(45,193,179,.2);}50%{box-shadow:0 0 0 7px rgba(45,193,179,0);}}
  .section-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep);font-weight:500;margin-bottom:20px;}
  .section-tag::before{content:'';width:24px;height:1px;background:var(--teal);}
  .section-title{font-weight:340;font-size:clamp(36px,4.5vw,56px);line-height:1.02;letter-spacing:-.03em;color:var(--ink);margin-bottom:24px;max-width:820px;}
  .section-title em{font-style:italic;color:var(--teal-deep);font-weight:300;}
  .section-lead{font-size:18px;color:var(--ink-3);max-width:680px;line-height:1.55;}

  /* background modifiers */
  .bg-white{background:var(--white);}
  .bg-warm{background:var(--paper-warm);position:relative;overflow:hidden;}
  .bg-warm::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,transparent,rgba(45,193,179,.04));pointer-events:none;}
  .bg-warm > .container{position:relative;}

  /* ---------- HERO ---------- */
  .hero{position:relative;padding:100px 0 120px;overflow:hidden;}
  .hero-bg{position:absolute;inset:0;pointer-events:none;opacity:.6;}
  .hero-bg::before{content:'';position:absolute;top:-20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle at center,var(--teal-pale),transparent 60%);filter:blur(40px);}
  .hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at 30% 40%,black 0%,transparent 70%);mask-image:radial-gradient(ellipse at 30% 40%,black 0%,transparent 70%);opacity:.35;}
  .hero-content{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;}
  h1.hero-title{font-weight:340;font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.035em;color:var(--ink);margin-bottom:28px;}
  h1.hero-title em{font-style:italic;font-weight:300;color:var(--teal-deep);}
  .hero-sub{font-size:19px;line-height:1.55;color:var(--ink-3);max-width:560px;margin-bottom:36px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px;}
  .hero-proof{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px dashed var(--line);}
  .hero-proof-stack{display:flex;flex-direction:column;gap:14px;width:100%;}
  .hero-proof-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .hero-proof-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);min-width:104px;}
  .hero-proof-logos{display:flex;gap:0;flex-wrap:wrap;font-family:'Libre Caslon Text',serif;font-size:15px;color:var(--ink-2);align-items:center;margin-top:-12px;margin-bottom:8px;}
  .hero-proof-logos span{display:inline-flex;align-items:center;}
  .hero-proof-logos span + span{margin-left:12px;}
  .hero-proof-logos span + span::before{content:'';display:inline-block;width:5px;height:5px;margin-right:12px;background:var(--teal);border-radius:50%;}

  /* hero pipeline visual (dark panel) */
  .hero-visual{position:relative;width:100%;max-width:480px;margin-left:auto;}
  .pipe-panel{position:relative;border-radius:24px;padding:28px;background:linear-gradient(145deg,var(--ink) 0%,#142834 100%);box-shadow:0 30px 60px -20px rgba(11,31,42,.45),0 0 0 1px var(--ink-2);overflow:hidden;}
  .pipe-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 18%,rgba(45,193,179,.22),transparent 60%);pointer-events:none;}
  .pipe-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
  .pipe-head .lbl{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);}
  .pipe-head .live{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;color:var(--teal);}
  .pipe-head .live .d{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(45,193,179,.25);animation:pulse 2.5s ease-in-out infinite;}
  .ekg{position:relative;height:54px;margin-bottom:18px;}
  .ekg svg{width:100%;height:100%;display:block;}
  .ekg .sweep{stroke-dasharray:16 84;stroke-dashoffset:100;animation:ekgSweep 2.4s linear infinite;}
  @keyframes ekgSweep{to{stroke-dashoffset:0;}}
  .pipe-stage{position:relative;display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.08);}
  .pipe-stage:first-of-type{border-top:0;}
  .pipe-stage .sn{font-size:11px;color:rgba(255,255,255,.4);}
  .pipe-stage .nm{color:rgba(255,255,255,.92);font-size:14px;font-weight:500;}
  .pipe-stage .nm small{display:block;font-weight:400;font-size:12px;color:rgba(255,255,255,.5);margin-top:2px;}
  .pipe-foot{position:relative;margin-top:18px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.14);display:flex;align-items:center;justify-content:space-between;}
  .pipe-foot .t{font-size:10.5px;color:rgba(255,255,255,.5);}
  .stamp{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--teal);padding:6px 12px;border-radius:6px;font-weight:500;}

  /* ---------- stats band (dark) ---------- */
  .stats-band{background:var(--ink);color:var(--white);padding:64px 0;position:relative;overflow:hidden;}
  .stats-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(45,193,179,.15),transparent 60%);}
  .stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
  .stat-item{padding-left:20px;border-left:1px solid rgba(255,255,255,.15);}
  .stat-value{font-weight:300;font-size:clamp(38px,4.5vw,58px);line-height:1;letter-spacing:-.03em;color:var(--teal);margin-bottom:10px;}
  .stat-value em{font-style:italic;}
  .stat-label{font-size:13px;color:rgba(255,255,255,.7);line-height:1.4;}
  .stat-src{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:8px;}

  /* ---------- value grid (cards) ---------- */
  .value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:56px;}
  .value-grid.cols-3{grid-template-columns:repeat(3,1fr);}
  .value-card{background:var(--white);padding:40px 34px;display:flex;flex-direction:column;gap:16px;transition:background .3s;}
  .value-card:hover{background:var(--teal-mist);}
  .value-card-num{font-size:12px;color:var(--teal-deep);letter-spacing:.1em;}
  .value-card h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:25px;letter-spacing:-.02em;color:var(--ink);line-height:1.12;}
  .value-card p{font-size:15.5px;line-height:1.6;color:var(--ink-3);}
  .value-card p strong{color:var(--ink-2);font-weight:600;}
  .value-card-foot{margin-top:auto;padding-top:16px;font-size:12.5px;color:var(--ink-2);border-top:1px dashed var(--line);}

  /* ---------- pills ---------- */
  .pill{white-space:nowrap;}
  .pill-nature{text-transform:none;padding:5px 11px;}

  /* ---------- process steps ---------- */
  .steps{margin-top:56px;}
  .step{display:grid;grid-template-columns:92px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line);align-items:start;}
  .step:last-child{border-bottom:1px solid var(--line);}
  .step .num{font-family:'Libre Caslon Text',serif;font-weight:300;font-style:italic;font-size:52px;line-height:.9;color:var(--teal-deep);letter-spacing:-.02em;}
  .step-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:9px;}
  .step h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:23px;letter-spacing:-.02em;color:var(--ink);line-height:1.1;}
  .step p{font-size:16px;line-height:1.6;color:var(--ink-3);max-width:78ch;}

  /* ---------- light metric row ---------- */
  .mrow{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px;}
  .mcell{padding-left:20px;border-left:1px solid var(--line);}
  .mval{font-weight:300;font-size:clamp(34px,4vw,50px);line-height:1;letter-spacing:-.03em;color:var(--teal-deep);margin-bottom:10px;}
  .mval em{font-style:italic;}
  .mlbl{font-size:13.5px;color:var(--ink-3);line-height:1.45;}
  .msrc{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}

  /* ---------- turnaround comparison ---------- */
  .tat{margin-top:52px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:36px;}
  .tat-row{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;padding:16px 0;}
  .tat-row + .tat-row{border-top:1px solid var(--line-soft);}
  .tat-lbl{font-size:15px;font-weight:500;color:var(--ink);}
  .tat-lbl s{display:block;text-decoration:none;font-size:11px;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase;margin-top:4px;}
  .tat-bar{position:relative;height:34px;border-radius:9px;background:var(--paper-warm);overflow:hidden;}
  .tat-fill{position:absolute;left:0;top:0;bottom:0;border-radius:9px;display:flex;align-items:center;padding:0 14px;font-size:11px;letter-spacing:.03em;}
  .fill-old{width:92%;background:repeating-linear-gradient(135deg,var(--coral) 0 11px,#f1543e 11px 22px);color:#fff;}
  .fill-new{width:34%;background:linear-gradient(90deg,var(--teal-deep),var(--teal));color:var(--ink);font-weight:500;}
  .tat-note{font-size:12.5px;color:var(--ink-soft);margin-top:18px;line-height:1.55;border-top:1px dashed var(--line);padding-top:16px;}

  /* ---------- reproducibility visuals ---------- */
  .repro{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;}
  .repro-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px;}
  .repro-card h4{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:20px;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em;}
  .repro-card .sub{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px;}
  .repro-foot{font-size:13px;color:var(--ink-3);margin-top:16px;line-height:1.55;}

  /* ---------- evidence (dark) ---------- */
  .evidence-section{background:var(--ink);color:var(--white);position:relative;overflow:hidden;}
  .evidence-section::before{content:'';position:absolute;top:-200px;left:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(45,193,179,.12),transparent 70%);filter:blur(40px);}
  .evidence-section > .container{position:relative;}
  .evidence-section .section-tag{color:var(--teal);}
  .evidence-section .section-title{color:var(--white);}
  .evidence-section .section-title em{color:var(--teal);}
  .evidence-section .section-lead{color:rgba(255,255,255,.7);}
  .ev-models{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px;}
  .ev-feature{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:36px;display:flex;flex-direction:column;}
  .ev-feature .pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
  .ev-feature h3{font-weight:400;font-size:30px;letter-spacing:-.02em;color:var(--white);margin-bottom:12px;}
  .ev-feature h3 em{font-style:italic;color:var(--teal);}
  .ev-feature p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72);margin-bottom:22px;}
  .ev-spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;margin-top:auto;}
  .ev-spec div{background:#0e2530;padding:15px 16px;}
  .ev-spec .ek{font-family:'Geist Mono',monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px;}
  .ev-spec .ev{font-size:18px;color:var(--white);letter-spacing:-.01em;line-height:1.15;}
  .ev-spec .ev em{font-style:italic;color:var(--teal);}

  .ev-trial{margin-top:20px;background:rgba(45,193,179,.06);border:1px solid rgba(45,193,179,.22);border-radius:24px;padding:36px;}
  .ev-trial .pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
  .ev-trial h3{font-weight:400;font-size:28px;letter-spacing:-.02em;color:var(--white);margin-bottom:12px;}
  .ev-trial h3 em{font-style:italic;color:var(--teal);}
  .ev-trial p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.75);margin-bottom:24px;max-width:90ch;}
  .trial-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;}
  .trial-metrics div{background:#0e2530;padding:22px 20px;}
  .trial-metrics .tn{font-weight:300;font-size:34px;line-height:1;letter-spacing:-.02em;color:var(--white);}
  .trial-metrics .tn.win{color:var(--teal);}
  .trial-metrics .td{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:10px;line-height:1.4;}

  .pubs-block{margin-top:64px;}
  .pubs-block h3{font-weight:400;font-size:24px;color:var(--white);margin-bottom:8px;}
  .pubs-list{display:grid;gap:0;margin-top:20px;}
  .pub-row{display:grid;grid-template-columns:160px 1fr auto;gap:20px;padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.12);align-items:center;font-size:14px;transition:background .2s,padding .2s;}
  .pub-row:hover{background:rgba(45,193,179,.05);padding-left:10px;padding-right:10px;}
  .pub-row:last-child{border-bottom:0;}
  .pub-journal{font-style:italic;color:var(--teal);font-size:15px;}
  .pub-title{color:rgba(255,255,255,.9);font-size:14.5px;line-height:1.4;}
  .pub-ext{display:inline-block;margin-left:8px;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.06em;color:rgba(255,255,255,.35);transition:color .2s;}
  .pub-row:hover .pub-ext{color:var(--teal);}
  .pub-year{font-family:'Geist Mono',monospace;color:rgba(255,255,255,.5);font-size:12.5px;}
  .refs{margin-top:40px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.7;}
  .refs h4{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px;}
  .refs ol{padding-left:20px;}
  .refs li{margin-bottom:8px;}
  .refs a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
  .refs em{font-style:italic;color:rgba(255,255,255,.7);}

  /* ---------- governance ---------- */
  .gov-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start;margin-top:56px;}
  .gov-item{padding:24px 0;border-top:1px solid var(--line);}
  .gov-item:first-child{border-top:0;padding-top:0;}
  .gov-item h4{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:21px;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:12px;letter-spacing:-.01em;}
  .gov-item h4 .ic{width:9px;height:9px;border-radius:2px;background:var(--teal);flex:none;}
  .gov-item p{font-size:15.5px;color:var(--ink-3);line-height:1.6;}
  .gov-quote{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:40px;}
  .gov-quote p{font-family:'Libre Caslon Text',serif;font-style:italic;font-weight:300;font-size:24px;line-height:1.45;color:var(--ink-2);padding-left:24px;border-left:2px solid var(--teal);margin-bottom:22px;}
  .gov-quote .who{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep);}
  .gov-quote .role{font-size:13px;color:var(--ink-soft);margin-top:5px;}

  /* ---------- CTA ---------- */
  .cta-section{background:var(--white);}
  .cta-card{background:var(--ink);color:var(--white);border-radius:32px;padding:72px 60px;display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;position:relative;overflow:hidden;}
  .cta-card::before{content:'';position:absolute;top:-50%;right:-20%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(45,193,179,.25),transparent 60%);pointer-events:none;}
  .cta-card > *{position:relative;z-index:1;}
  .cta-card h2{font-weight:340;font-size:clamp(34px,4.2vw,52px);line-height:1.02;letter-spacing:-.03em;color:var(--white);}
  .cta-card h2 em{font-style:italic;color:var(--teal);font-weight:300;}
  .cta-right{display:flex;flex-direction:column;gap:20px;}
  .cta-right p{color:rgba(255,255,255,.75);font-size:16px;line-height:1.55;}
  .cta-note{font-size:12.5px;color:rgba(255,255,255,.5);}

  /* ---------- footer ---------- */
  .foot-brand .logo-wrap{font-size:20px;margin-bottom:16px;}
  .foot-brand .logo-mark svg{height:30px;width:30px;}

  :focus-visible{outline:2px solid var(--teal-deep);outline-offset:3px;border-radius:4px;}

  /* responsive */
  @media (max-width:1000px){
    .hero-content{grid-template-columns:1fr;gap:48px;}
    .hero-visual{margin:0 auto;}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
    .value-grid,.value-grid.cols-3,.ev-models,.repro,.gov-grid,.cta-card{grid-template-columns:1fr;}
    .gov-grid{gap:40px;}
    .gov-quote{order:-1;}
    .trial-metrics,.mrow{grid-template-columns:repeat(2,1fr);}
    .cta-card{padding:56px 40px;}
  }
  @media (max-width:720px){
    section{padding:72px 0;}
    .hero{padding:56px 0 64px;}
    .stats-grid,.trial-metrics,.mrow{grid-template-columns:1fr;}
    .stat-item,.mcell{padding-left:16px;}
    .step{grid-template-columns:1fr;gap:10px;}
    .step .num{font-size:40px;}
    .tat-row{grid-template-columns:1fr;gap:10px;}
    .ev-spec,.pub-row{grid-template-columns:1fr;}
    .pub-row{gap:6px;}
    .ev-feature,.ev-trial,.gov-quote,.repro-card,.tat{padding:26px;}
    .cta-card{padding:40px 26px;border-radius:24px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
    .reveal{opacity:1;transform:none;}
    .ekg .sweep{opacity:0;}
  }
