/* /radon-testing/ Lab diagnostic page: section styles from the batch-2 master
   radon-testing.html. Global chrome (nav/footer/buttons .cta|.btn-*), reset, body, .wrap,
   h1-h3, .eyebrow, the .hero-unit height system + responsive hero type come from
   style.css + responsive.css; only this page's section vocabulary lives here. The master's
   min-height:88vh and the .ac-hero h1 clamp(2.5rem,5.6vw,4.6rem) are NOT shipped (.hero-unit
   + responsive header.ac-hero h1{var(--hero-h1)} own height + heading size). Stat .n
   converged to the live clamp. Same recipe as the hub/service page CSS. */

  sup.cite{font-family:'Archivo';font-weight:500;font-size:.62em;line-height:0;vertical-align:super;}
  sup.cite a{color:var(--accent);text-decoration:none;padding:0 1px;}
  sup.cite a:hover{text-decoration:underline;}

  /* Hero (base only; height via .hero-unit, h1 size via responsive.css). Gradient-only,
     no image: a warm field, the Lab-diagnostic hero treatment. */
  .ac-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(100% 115% at 78% -5%, rgba(201,166,115,.16), rgba(201,166,115,0) 55%),linear-gradient(165deg,#33271a 0%,#241b12 60%,#1c1610 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,.6);margin-bottom:26px;}
  .crumb a{color:rgba(255,255,255,.6);text-decoration:none;}
  .crumb a:hover{color:#e8c79a;}
  .ac-hero h1{color:#fff;max-width:18ch;margin-bottom:22px;}
  .ac-hero h1 em{font-family:'Fraunces';font-style:italic;color:#e8c79a;font-size:1.03em;}
  .ac-hero .sub{color:rgba(255,255,255,.86);font-size:1.18rem;max-width:56ch;}
  .ac-hero .sub em{font-family:'Fraunces';font-style:italic;color:#d9b783;}
  .ac-hero .cta-row{margin-top:32px;display:flex;gap:18px;flex-wrap:wrap;}

  /* Stat strip: .stat .n converged to the live service-page clamp (was fixed 2rem). */
  .stats{background:var(--night);color:var(--night-text);padding:40px 0;}
  .stats .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;}
  .stat{flex:1;min-width:170px;}
  .stat .n{font-family:'Archivo';font-weight:500;font-size:clamp(1.5rem, 1.1rem + 1.8vw, 2.1rem);color:#efe4d2;letter-spacing:-.03em;line-height:1;}
  .stat .t{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;margin-top:10px;max-width:26ch;}

  .sec{padding:110px 0;}
  .sec-head{max-width:52ch;margin-bottom:50px;}
  .sec-head h2{font-size:clamp(2rem,4vw,3rem);margin:18px 0;}
  .sec-head h2 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .sec-head p{color:var(--ink-soft);font-size:1.1rem;}
  .lead p{color:var(--ink-soft);font-size:1.16rem;max-width:64ch;margin-bottom:22px;}
  .lead p em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .lead p strong{font-weight:400;color:var(--ink);}
  .lead .inlink{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line);}
  .lead .inlink:hover{border-color:var(--accent);}

  /* bounded health note */
  .why{background:var(--paper-deep);}
  .why .narrow{max-width:760px;}
  .why h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:22px;}
  .why h2 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .why p{color:var(--ink-soft);font-size:1.1rem;margin-bottom:18px;}
  .why p strong{font-weight:400;color:var(--ink);}
  .why .bound{margin-top:8px;border-left:2px solid var(--accent);padding:4px 0 4px 22px;font-family:'Fraunces';font-style:italic;color:var(--ink-soft);font-size:1.02rem;}

  /* how we measure */
  .methods{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
  .method{background:var(--paper);border:1px solid var(--line);padding:36px 32px;}
  .method .idx{font-family:'Fraunces';font-style:italic;color:var(--accent);font-size:1rem;}
  .method h3{font-size:1.35rem;margin:8px 0 12px;}
  .method p{color:var(--ink-soft);font-size:.98rem;}
  @media(max-width:820px){.methods{grid-template-columns:1fr;}}

  /* reference levels */
  .levels{background:var(--night);color:var(--night-text);}
  .levels .eyebrow{color:#c79a5e;}
  .levels h2{color:#efe4d2;font-size:clamp(1.9rem,3.8vw,2.7rem);margin:18px 0 40px;max-width:24ch;}
  .levels h2 em{font-family:'Fraunces';font-style:italic;color:#d9b783;}
  .lvl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(239,228,210,.16);border:1px solid rgba(239,228,210,.16);}
  .lvl{padding:36px 34px;background:#241b12;}
  .lvl .n{font-family:'Fraunces';font-style:italic;font-weight:300;font-size:2.6rem;color:#e8c79a;line-height:1;}
  .lvl .src{margin-top:10px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9b8e74;}
  .lvl .d{margin-top:14px;color:#b3a78f;font-size:.98rem;}
  .levels .foot{margin-top:26px;color:#a89c84;font-size:.95rem;max-width:64ch;}
  @media(max-width:680px){.lvl-grid{grid-template-columns:1fr;}}

  /* proof */
  .proof{background:var(--paper-deep);}
  .proof .card{background:var(--paper);border:1px solid var(--line);padding:46px 44px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
  .proof .stag{font-family:'Archivo';font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
  .proof h3{font-size:1.7rem;margin:12px 0;max-width:26ch;}
  .proof h3 em{font-family:'Fraunces';font-style:italic;color:var(--accent);}
  .proof p{color:var(--ink-soft);max-width:56ch;}
  .proof .go{white-space:nowrap;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);padding:15px 26px;text-decoration:none;transition:background-color .4s ease,color .4s ease;}
  .proof .go:hover{background:var(--ink);color:var(--paper);}
  /* mobile (<=760): the proof card stacks (text over button); center its text, matching the surfaces
     own-team (25c90e6) + surface-testing (cfd07b9) cards. text-align centers the eyebrow, the h3
     (+ its italic "villa" accent) and the button label; margin-inline:auto centers the readable-width
     h3/p boxes in the column (so they aren't left-positioned at small-tablet widths). The .go button
     keeps its full-width grid stretch + border; only its label is centered. Desktop/tablet card stays
     left-aligned (no text-align above this query). */
  @media(max-width:760px){
    .proof .card{grid-template-columns:1fr;gap:26px;padding:34px 30px;text-align:center;}
    .proof h3, .proof p{margin-left:auto;margin-right:auto;}
  }

  .final{background:radial-gradient(90% 120% at 80% -10%, rgba(201,166,115,.15), rgba(201,166,115,0) 55%),linear-gradient(165deg,#352819 0%,#271d12 100%);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.2rem);margin:22px auto;max-width:22ch;}
  .final h2 em{font-family:'Fraunces';font-style:italic;color:#d9b783;}
  .final p{color:#a89c84;max-width:48ch;margin:0 auto 30px;}

  .refs{background:var(--paper-deep);padding:70px 0;}
  .refs .eyebrow{margin-bottom:26px;}
  .refs ol{margin:0;padding-left:22px;max-width:94ch;}
  .refs li{font-size:.82rem;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}
  .refs li b{color:var(--ink);font-weight:500;}
  .refs a{color:var(--accent);text-decoration:none;}
  .refs a:hover{text-decoration:underline;}
  .refs .note{margin-top:26px;font-family:'Fraunces';font-style:italic;font-size:.86rem;color:var(--ink-soft);max-width:80ch;}

  .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;}}
