/* /the-lab/ landing: page-scoped section styles from the batch-2 master the-lab.html.
   Global chrome (nav/footer/buttons .cta|.btn-*), reset, body, .wrap, h1-h3, .serif,
   .eyebrow, the .hero-unit height system and responsive hero type all come from
   style.css + responsive.css; only the Lab's own section vocabulary lives here. The
   master's min-height:92vh, the .inner padding-top:140px (cleared the master's fixed
   nav) and the .ac-hero h1 clamp(2.6rem,6vw,5rem) are deliberately NOT shipped; the
   .hero-unit system + responsive.css header.ac-hero h1{var(--hero-h1)} own height +
   heading size, so the hero matches the live service pages by construction. Same recipe
   as page-air.css. The Lab keeps its own stat treatment (Fraunces-italic phrases, not
   the numeric Archivo band): .stat .n converted from the master's fixed 1.7rem to a
   responsive clamp capped at 1.7rem so it shrinks on phone. A reduced-motion guard and
   :target offset (absent in the master) are added for skill compliance + clean anchors. */

  sup.tm{font-size:.5em;font-weight:400;vertical-align:super;letter-spacing:.04em;}

  /* Hero (base only; height via .hero-unit, h1 size via responsive.css). No bg image:
     a night field under a warm radial scrim, the Lab's own hero treatment. */
  .ac-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--night);}
  .ac-hero .scrim{position:absolute;inset:0;background:radial-gradient(120% 120% at 72% 8%,rgba(107,79,46,.32) 0%,rgba(33,26,18,.66) 46%,rgba(33,26,18,.96) 100%);}
  .ac-hero .inner{position:relative;padding-bottom:74px;width:100%;}
  .crumb{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:26px;}
  .crumb a{color:rgba(255,255,255,.7);text-decoration:none;}
  .crumb a:hover{color:#e8c79a;}
  .ac-hero h1{color:#fff;max-width:18ch;margin-bottom:24px;}
  .ac-hero h1 em{font-family:'Fraunces';font-style:italic;color:#e8c79a;font-size:1.04em;}
  .ac-hero .sub{color:rgba(255,255,255,.9);font-size:1.2rem;max-width:56ch;margin-bottom:18px;}
  .ac-hero .servesline{color:rgba(255,255,255,.62);font-size:.92rem;letter-spacing:.04em;}
  .ac-hero .cta-row{margin-top:34px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;}

  /* Stat strip: Lab's Fraunces-italic phrases; fixed 1.7rem converted to a responsive
     clamp (capped at 1.7rem) so it shrinks on phone like the other hub stat bands. */
  .stats{background:var(--night);color:var(--night-text);padding:40px 0;border-top:1px solid rgba(179,167,143,.18);}
  .stats .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;}
  .stat{flex:1;min-width:160px;}
  .stat .n{font-family:'Fraunces';font-style:italic;font-weight:400;font-size:clamp(1.25rem, 0.95rem + 1.4vw, 1.7rem);color:#efe4d2;letter-spacing:-.02em;line-height:1.1;}
  .stat .t{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;}

  .sec{padding:120px 0;}
  .sec-head{max-width:48ch;margin-bottom:60px;}
  .sec-head h2{font-size:clamp(2rem,4.2vw,3.2rem);margin:18px 0;}
  .sec-head h2 em{font-family:'Fraunces';font-style:italic;color:var(--accent);font-size:1.12em;}
  .sec-head p{color:var(--ink-soft);font-size:1.1rem;}

  .calm{background:var(--paper-deep);}
  .calm .eyebrow{color:var(--accent);}
  .calm h2{font-size:clamp(1.9rem,3.8vw,2.8rem);margin:18px 0;max-width:26ch;}
  .calm h2 em{font-family:'Fraunces';font-style:italic;color:var(--accent);font-size:1.12em;}
  .calm .lede{max-width:62ch;color:var(--ink-soft);font-size:1.12rem;}
  .calm .lede + .lede{margin-top:20px;}
  .principle{margin-top:40px;border-left:2px solid var(--accent);padding:6px 0 6px 26px;max-width:56ch;}
  .principle .serif{font-size:1.4rem;color:var(--ink);}

  /* cargo / the oxidative-load shift */
  .cargo{background:var(--paper);}
  .cargo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px;}
  .cargo-grid>div{background:var(--paper);padding:38px 36px;}
  .cargo-grid .old{background:var(--paper-deep);}
  .cargo-grid h4{font-family:'Archivo';font-weight:600;font-size:.84rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;color:var(--ink-soft);}
  .cargo-grid .new h4{color:var(--accent);}
  .cargo-grid .big{font-family:'Fraunces';font-style:italic;font-size:1.5rem;color:var(--ink);margin-bottom:14px;}
  .cargo-grid p{color:var(--ink-soft);font-size:1rem;}
  @media(max-width:680px){.cargo-grid{grid-template-columns:1fr;}}

  /* three domains / testing capability */
  .vectors{background:var(--paper-deep);}
  .vec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
  .vec-card{background:var(--paper);border-top:1px solid var(--line);padding:26px 26px 30px;height:100%;}
  .vec-card .kick{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
  .vec-card h3{font-size:1.3rem;margin:10px 0 12px;}
  .vec-card h3 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .vec-card p{color:var(--ink-soft);font-size:.98rem;}
  .vec-card .reads{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.84rem;color:var(--ink);letter-spacing:.02em;}
  .vec-card .reads span{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;display:block;margin-bottom:6px;}
  @media(max-width:760px){.vec-grid{grid-template-columns:1fr;}}

  /* the index */
  .index{background:var(--night);color:var(--night-text);}
  .index .eyebrow{color:#c79a5e;}
  .index .sec-head h2{color:#efe4d2;}
  .index .sec-head h2 em{color:#d9b783;}
  .index .sec-head p{color:#a89c84;}
  .idx-band{border:1px solid rgba(179,167,143,.3);padding:44px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:10px;}
  .idx-band .il-k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#c79a5e;margin-bottom:12px;}
  .idx-band h3{color:#efe4d2;font-size:1.6rem;font-weight:400;margin-bottom:10px;}
  .idx-band h3 em{font-family:'Fraunces';font-style:italic;color:#d9b783;}
  .idx-band p{color:#a89c84;font-size:1rem;}
  .index .idx-note{color:#a89c84;font-size:1.04rem;max-width:66ch;margin:30px 0 0;}
  .index .idx-link{display:inline-block;margin-top:20px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#d9b783;text-decoration:none;border-bottom:1px solid rgba(217,183,131,.4);padding-bottom:3px;}
  @media(max-width:680px){.idx-band{grid-template-columns:1fr;gap:28px;}}

  /* proof engine / diagnose-act-verify */
  .engine{background:var(--paper);}
  .engine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
  .engine-card{border-top:1px solid var(--line);padding-top:22px;}
  .engine-card h4{font-weight:500;font-size:1.1rem;margin-bottom:10px;}
  .engine-card p{color:var(--ink-soft);font-size:.96rem;}
  @media(max-width:760px){.engine-grid{grid-template-columns:1fr;}}

  /* standalone / how to use the lab */
  .use{background:var(--paper-deep);}
  .use-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .use-card{background:var(--paper);border:1px solid var(--line);padding:40px 38px;display:flex;flex-direction:column;}
  .use-card .eyebrow{color:var(--accent);}
  .use-card h3{font-size:1.5rem;margin:14px 0;}
  .use-card h3 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .use-card p{color:var(--ink-soft);flex-grow:1;}
  @media(max-width:760px){.use-grid{grid-template-columns:1fr;}}

  /* grade / quiet institutional layer */
  .grade{background:var(--paper);}
  .grade-row{display:flex;flex-wrap:wrap;gap:40px;margin-top:30px;align-items:flex-start;}
  .grade-row .col{flex:1;min-width:280px;}
  .grade-row h4{font-weight:500;font-size:1.05rem;margin-bottom:10px;color:var(--ink);}
  .grade-row p{color:var(--ink-soft);font-size:.98rem;}
  .grade-note{margin-top:36px;border-left:2px solid var(--line);padding-left:24px;max-width:62ch;color:var(--ink-soft);font-size:1rem;}

  /* honest note */
  .narrow{max-width:780px;margin:0 auto;}
  .honest{border-left:2px solid var(--accent);padding-left:32px;}
  .honest .pull{font-family:'Fraunces';font-style:italic;font-size:1.35rem;color:var(--ink);margin:16px 0 20px;line-height:1.4;}
  .honest p{color:var(--ink-soft);font-size:1.08rem;}
  .honest p + p{margin-top:16px;}

  .nextstep{background:var(--paper-deep);}
  .next-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .next-card{background:var(--paper);border:1px solid var(--line);padding:40px 38px;display:flex;flex-direction:column;}
  .next-card .eyebrow{color:var(--accent);}
  .next-card h3{font-size:1.6rem;margin:14px 0;}
  .next-card h3 em{font-family:'Fraunces';font-style:italic;color:var(--accent);font-size:1.12em;}
  .next-card p{color:var(--ink-soft);flex-grow:1;}
  .next-card a{margin-top:20px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;}
  .next-card a:hover{text-decoration:underline;}
  @media(max-width:760px){.next-grid{grid-template-columns:1fr;}}

  .final{background:var(--night);color:var(--night-text);text-align:center;padding:120px 0;}
  .final .eyebrow{color:#c79a5e;}
  .final h2{color:#efe4d2;font-size:clamp(2rem,4.4vw,3.4rem);margin:22px auto;max-width:24ch;}
  .final h2 em{font-family:'Fraunces';font-style:italic;color:#d9b783;font-size:1.12em;}
  .final p{color:#a89c84;max-width:52ch;margin:0 auto 30px;}
  .final .fineprint{color:#a89c84;font-size:.92rem;margin-top:26px;}

  /* diagnostics shelf */
  .shelf{background:var(--paper-deep);}
  .shelf .eyebrow{color:var(--accent);}
  .shelf-sub{font-family:'Archivo';font-weight:500;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:46px 0 18px;}
  .feature{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .ftest{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);padding:40px 38px;text-decoration:none;color:inherit;transition:transform .4s ease,border-color .4s ease;}
  .ftest:hover{transform:translateY(-4px);border-color:var(--accent);}
  .ftest .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
  .ftest .tag{font-size:.66rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);padding:4px 11px;}
  .ftest h3{font-size:1.7rem;margin-bottom:12px;}
  .ftest h3 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .ftest p{color:var(--ink-soft);font-size:1rem;flex:1;}
  .ftest .go{margin-top:22px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
  @media(max-width:760px){.feature{grid-template-columns:1fr;}}
  .more-tests{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px;}
  .mtest{background:var(--paper);padding:30px 28px;text-decoration:none;color:inherit;transition:background-color .35s ease;}
  .mtest:hover{background:#fff;}
  .mtest h4{font-family:'Archivo';font-weight:500;font-size:1.08rem;letter-spacing:-.01em;margin-bottom:8px;}
  .mtest p{font-size:.9rem;color:var(--ink-soft);}
  .mtest .mt{display:block;margin-top:12px;font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
  @media(max-width:760px){.more-tests{grid-template-columns:1fr;}}
  .shelf-note{margin-top:26px;font-family:'Fraunces';font-style:italic;color:var(--ink-soft);font-size:1rem;max-width:70ch;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.3,1),transform 1s cubic-bezier(.2,.7,.3,1);}
  .reveal.in{opacity:1;transform:none;}
  :target{scroll-margin-top:90px;}

  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .ftest,.mtest{transition:none;}
    .ftest:hover{transform:none;}
  }
