/* site.css — shared stylesheet for neuronetchiro.com.
   Extracted verbatim from the home page inline <style> (Aug 25 2026, phase2-preview);
   asset URLs made root-relative so inner pages at any depth resolve them. */
 :root{--ink:#1C2321;--green:#194A32;--sage:#849280;--pale:#DDE3D8;--paper:#F7F5F0;--slate:#5F6B62;--clay:#A8563C;--band:#535D50;--onband:#FFFFFF;--onband2:#E9EDE7}
 *{box-sizing:border-box} img{max-width:100%;height:auto}
 html{scroll-behavior:smooth}
 body{margin:0;background:var(--paper);font-family:Inter,system-ui,sans-serif;color:var(--ink);
       font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
 h1,h2,h3{margin:0;text-wrap:balance} p{text-wrap:pretty}
 .shell{max-width:1120px;margin:0 auto;padding:0 34px}

 /* ── HEADER: transparent over the hero, exactly as her site does it ── */
 header{position:absolute;top:0;left:0;right:0;z-index:50}
 .hrow{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:24px}
 .brand{display:flex;align-items:center;gap:11px;text-decoration:none}
 .bname{font-family:Newsreader,serif;font-size:25px;letter-spacing:-.01em;line-height:1;color:#fff;
         text-shadow:0 2px 10px rgba(0,0,0,.5)}
 .bname .b{font-weight:600} .bname .a{font-weight:400;opacity:.92}
 .btag{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);margin-top:4px;
        text-shadow:0 1px 6px rgba(0,0,0,.55)}
 nav a{font-size:14.5px;color:#fff;text-decoration:none;margin-left:26px;opacity:.92;
        text-shadow:0 1px 8px rgba(0,0,0,.55);transition:opacity .2s}
 nav a:hover{opacity:1}

 /* ── HERO: mirrors helenbae.com — full-bleed photo, script motto, ghost CONTACT ── */
 /* Hero cut (Bashō, Aug 25 2026): was min-height 1008px, a full screen and more. Now ~62vh
    with a 520px floor, so the impression section (#about) starts inside the first screen at
    1440x900. overflow:clip on both axes keeps the feathered band scrim from bleeding past the
    shorter hero into the section below. Photo, motto, identity line, ghost CONTACT unchanged. */
 .hero{position:relative;overflow:clip;min-height:max(520px,62vh);background:url(/assets/helen-main.jpg) 50% 0%/cover no-repeat;
        display:flex;align-items:center;justify-content:center;text-align:center}
 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.30) 32%,rgba(0,0,0,.34) 100%)}
 /* Localized scrim behind the hero text only. The QC pass measured the motto and
    the CTA failing WCAG AA at every breakpoint over the photograph. Darkening the
    whole image would change the picture she approved, so the protection is
    confined to the text column and feathered out. */
 .heroin{position:relative;z-index:2;padding:60px 34px}
 /* Full-bleed feathered BAND, not an ellipse. An elliptical scrim strong enough
    to reach AA showed a visible arc across the photograph at desktop; a band has
    no side edges to see. Measured worst-case behind the text: motto 7.11 desktop
    / 7.22 mobile, sub-line 6.77 / 6.35. Was failing at 1.31 and 1.84. */
 .heroin::before{content:"";position:absolute;inset:-120px -50vw;z-index:-1;border-radius:0;
        background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.50) 32%,rgba(0,0,0,.50) 68%,rgba(0,0,0,0) 100%)}
 .motto{font-family:Newsreader,serif;font-style:italic;font-weight:500;font-size:58px;letter-spacing:.01em;line-height:1.32;color:#fff;
         text-shadow:0 2px 16px rgba(0,0,0,.55);max-width:1000px;margin:0 auto}
 .herobtn{display:inline-block;margin-top:44px;border:2px solid #fff;border-radius:20px;padding:10px 40px;
           color:#fff;text-decoration:none;font-size:16.8px;background:transparent;transition:background .25s,color .25s}
 .herobtn:hover{background:#fff;color:var(--green)}

 /* ── everything below runs on the olive ── */
 .partner{background:var(--paper);padding:96px 0 88px;text-align:center}
 .plede{font-family:Newsreader,serif;font-size:36px;font-weight:400;line-height:1.34;color:var(--green);
         max-width:820px;margin:0 auto 32px}
 .plines{max-width:680px;margin:0 auto;color:var(--slate);font-size:16px}
 .plines p{margin:0 0 14px}

 .pillars{background:var(--band);padding:84px 0;color:var(--onband)}
 .pimg{border-radius:14px;overflow:hidden;margin-bottom:16px;box-shadow:0 12px 30px rgba(0,0,0,.22);background:#F4F1EA;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
 .pimg img{width:86%;height:auto;display:block}
 .ptitle{font-family:Newsreader,serif;font-size:30px;font-weight:600;text-align:center;color:var(--onband)}
 .psub{text-align:center;color:var(--onband2);font-size:14.5px;margin:8px 0 48px}
 .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
 .pil{text-align:center}
 .picon{width:80px;height:80px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);
         display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
         transition:background .25s,border-color .25s,transform .25s}
 .pil:hover .picon{background:rgba(255,255,255,.16);border-color:var(--onband);transform:translateY(-3px)}
 .pnum{font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--onband2);margin-bottom:7px}
 .pname{font-family:Newsreader,serif;font-size:17px;line-height:1.35;color:var(--onband)}

 .quote{background:var(--pale);padding:82px 0;text-align:center}
 .quote--olive{background:var(--sage)}
 .qmark{font-family:Newsreader,serif;font-size:60px;color:var(--green);opacity:.45;line-height:.6;margin-bottom:22px}
 .qtext{font-family:Newsreader,serif;font-size:26px;font-style:italic;line-height:1.5;color:var(--ink);
         max-width:840px;margin:0 auto 22px}
 .qwho{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:#3B4A3F}

 .story{background:var(--paper);padding:96px 0}
 .sgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
 .story img{width:100%;border-radius:10px;display:block}
 .ssub{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--band);margin-bottom:14px}
 .stitle{font-family:Newsreader,serif;font-size:34px;font-weight:600;color:var(--green);margin-bottom:18px}
 .story p{color:var(--slate);margin:0 0 17px;font-size:16.5px}
 .sign{font-family:Newsreader,serif;font-style:italic;font-size:19px;color:var(--ink);margin-top:26px}
 .signm{font-size:13px;color:var(--slate);font-style:normal;letter-spacing:.04em;margin-top:4px}

 .book{background:var(--band);padding:92px 0;text-align:center}
 .btitle{font-family:Newsreader,serif;font-size:34px;font-weight:600;color:var(--onband);margin-bottom:12px}
 .bsub{color:var(--onband2);max-width:560px;margin:0 auto 30px;font-size:16.5px}
 .bmail{display:inline-block;background:var(--clay);color:#fff;text-decoration:none;font-size:16px;font-weight:500;
         padding:15px 36px;border-radius:4px;transition:transform .2s}
 .bmail:hover{transform:translateY(-2px)}
 .clinics{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;text-align:left}
 .clinic{background:var(--paper);border-radius:10px;padding:28px 30px}
 .clbl{font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--band);margin-bottom:11px}
 .cname{font-family:Newsreader,serif;font-size:21px;font-weight:600;margin-bottom:9px;color:var(--green)}
 .caddr{color:var(--slate);font-size:15px;line-height:1.6}
 .chrs{margin-top:13px;padding-top:13px;border-top:1px solid #E6E4DD;font-size:15px}
 .cby{color:var(--slate);font-size:14px}

 .edison{background:var(--green);padding:78px 0;text-align:center;color:#fff}
 .etext{font-family:Newsreader,serif;font-size:24px;font-style:italic;line-height:1.55;max-width:820px;margin:0 auto 18px}
 .ewho{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9FB0A2}

 footer{background:#12321F;color:#9FB0A2;padding:52px 0 40px;font-size:14px}
 .frow{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;align-items:flex-start}
 .fnav a{display:block;color:#C7D2C6;text-decoration:none;margin-bottom:9px;opacity:.82}
 .fnav a:hover{opacity:1}
 .fbot{margin-top:38px;padding-top:22px;border-top:1px solid rgba(221,227,216,.14);
        display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:12.5px}
 .glscredit img{height:26px;width:auto;opacity:.55;display:block;transition:opacity .25s}
 .glscredit:hover img{opacity:.85}

 .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease var(--d,0ms),transform .7s ease var(--d,0ms)}
 .reveal.in{opacity:1;transform:none}
 @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}
   html{scroll-behavior:auto}}

  .hid{margin-top:18px;font-size:13.5px;letter-spacing:.17em;text-transform:uppercase;color:#F0EDE5;text-shadow:0 1px 10px rgba(0,0,0,.55)}
 .hid b{font-weight:600;color:#fff}
 .creds{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;margin:30px 0 46px}
 .cred2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:600}
 .cred2 span{color:var(--slate);font-weight:400}
 .rmsteps{font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--band);margin-bottom:14px}
 .roadmap{background:var(--paper);padding:92px 0;text-align:center}
 .rmeyeb{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--band);margin-bottom:16px}
 .rmtitle{font-family:Newsreader,serif;font-size:38px;font-weight:600;color:var(--green);line-height:1.25;text-wrap:balance}
 .rmsub{max-width:640px;margin:18px auto 0;font-size:16px;line-height:1.65;color:var(--slate);text-wrap:pretty}
 .rmindex{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
 .rmchip{border:1px solid #DCE1D8;border-radius:999px;padding:9px 18px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#fff}
 .rmchip b{color:var(--green);font-weight:600;margin-right:6px}
 .step{padding:92px 0}
 .step:nth-of-type(even){background:#fff}
 .sgrid2{display:grid;grid-template-columns:1.05fr 1fr;gap:66px;align-items:center}
 .sgrid2.flip .simg{order:2}
 .simg{border-radius:12px;overflow:hidden;box-shadow:0 18px 50px rgba(28,35,33,.14)}
 .simg img{width:100%;height:auto;display:block}
 .snum{font-family:Newsreader,serif;font-size:15px;letter-spacing:.17em;font-weight:600;color:var(--band);text-transform:uppercase;margin-bottom:12px}
 .stitle{font-family:Newsreader,serif;font-size:31px;font-weight:600;color:var(--ink);line-height:1.28;text-wrap:balance}
 .stext{margin-top:14px;font-size:15.5px;line-height:1.72;color:var(--slate);text-wrap:pretty}
 .step-dark{background:var(--ink)!important;color:#fff}
 .step-dark .stitle{color:#fff}
 .step-dark .stext{color:#C9D2C7}
 .step-dark .snum{color:#9BA79A}
 .bridge{background:var(--pale);padding:66px 0;text-align:center}
 .btext{font-family:Newsreader,serif;font-style:italic;font-size:26px;color:var(--green);text-wrap:balance}
 .inwords{margin-top:34px;border-left:3px solid var(--pale);padding-left:22px}
 .inwords p{font-family:Newsreader,serif;font-style:italic;font-size:16.5px;line-height:1.6;color:var(--slate);margin-bottom:12px}
  .plx{background-size:cover;background-position:center;background-attachment:fixed;position:relative}
 @media (max-width:900px){.plx{background-attachment:scroll}}
 @media (prefers-reduced-motion: reduce){.plx{background-attachment:scroll}}
 .fog{background-image:linear-gradient(rgba(18,20,18,.62),rgba(18,20,18,.7)),url(/assets/journey/fog.jpg);padding:130px 0;color:#fff;text-align:center}
 .fog .eyeb,.fire .eyeb,.joy .eyeb,.evid .eyeb{font-size:12px;letter-spacing:.19em;text-transform:uppercase;margin-bottom:16px}
 .fog .eyeb{color:#C9D2C7}
 .ftitle{font-family:Newsreader,serif;font-size:38px;font-weight:600;line-height:1.28;text-wrap:balance;text-shadow:0 2px 14px rgba(0,0,0,.45)}
 .ftext{max-width:620px;margin:20px auto 0;font-size:16.5px;line-height:1.7;color:#E9EDE7;text-wrap:pretty;text-shadow:0 1px 8px rgba(0,0,0,.5)}
 .fire{background:var(--ink);color:#fff;padding:100px 0}
 .firegrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
 .fire .eyeb{color:#9BA79A}
 .fititle{font-family:Newsreader,serif;font-size:32px;font-weight:600;line-height:1.3;text-wrap:balance}
 .fitext{margin-top:16px;font-size:15.5px;line-height:1.72;color:#C9D2C7;text-wrap:pretty}
 .fimg{border-radius:10px;overflow:hidden}
 .fimg img{width:100%;height:auto;display:block;opacity:.92}
 .diag{margin-top:26px;display:flex;flex-direction:column;gap:14px}
 .drow{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.06em;color:#C9D2C7}
 .joy{background-image:linear-gradient(rgba(24,26,23,.55),rgba(24,26,23,.66)),url(/assets/journey/light.jpg);background-position:center 28%;padding:120px 0;text-align:center;color:#fff}
 .joy .eyeb{color:#D9E0D6}
 .jtext{font-family:Newsreader,serif;font-size:31px;font-weight:500;line-height:1.5;max-width:840px;margin:0 auto;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.45)}
 .jtext b{font-weight:700}
 .evid{background:var(--paper);padding:92px 0}
 .evid .eyeb{color:var(--band);text-align:center}
 .etitle2{font-family:Newsreader,serif;font-size:30px;font-weight:600;text-align:center;color:var(--green);text-wrap:balance;margin-bottom:48px}
 .egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
 .ecard{background:#fff;border:1px solid var(--border,#E7E4DF);border-radius:10px;padding:26px 24px}
 .ecard .ehead{font-family:Newsreader,serif;font-size:17px;font-weight:600;color:var(--ink);margin-bottom:8px;text-wrap:balance}
 .ecard p{font-size:13.5px;line-height:1.6;color:var(--slate);text-wrap:pretty}
 .ecard a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
 .cform{max-width:560px;margin:34px auto 0;display:grid;gap:12px;text-align:left}
 .cform input,.cform textarea{width:100%;padding:13px 14px;border:1px solid #D8DDD5;border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
 .cform textarea{min-height:110px;resize:vertical}
 .cbtn{background:var(--green);color:#fff;border:0;border-radius:8px;padding:14px 22px;font:inherit;font-size:15.5px;cursor:pointer}
 .cbtn:hover{background:#143C28}
 /* Was var(--slate) #5F6B62 sitting on the band #535D50 — measured 1.24:1 against
    a required 4.5:1, i.e. effectively invisible. Her stated law: "I wanted to
    really be able to see that." */
 .cnote{font-size:12.5px;color:var(--onband2);text-align:center}
 .cmsg{margin-top:4px;padding:12px 14px;border-radius:8px;font-size:14.5px;line-height:1.5;text-align:left}
 .cmsg.ok{background:#EAF1EA;color:#12321F;border-left:3px solid #194A32}
 .cmsg.err{background:#F7EDE9;color:#6B2E19;border-left:3px solid #A8563C}
 .cform[aria-busy="true"] .cbtn{opacity:.6;cursor:progress}
 .visit{background:var(--paper);padding:92px 0}
 .vtitle{font-family:Newsreader,serif;font-size:30px;font-weight:600;text-align:center;color:var(--green);text-wrap:balance}
 .vsub{text-align:center;color:var(--slate);font-size:14.5px;margin:10px 0 54px}
 .vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
 .vnum{font-family:Newsreader,serif;font-size:13px;letter-spacing:.17em;color:var(--green);font-weight:600;margin-bottom:10px}
 .vstep h3{font-family:Newsreader,serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:9px;text-wrap:balance}
 .vstep p{font-size:14.5px;line-height:1.68;color:var(--slate);text-wrap:pretty}
 .vclose{margin-top:58px;text-align:center;font-family:Newsreader,serif;font-style:italic;font-size:23px;line-height:1.5;color:var(--green);text-wrap:balance}
 @media (max-width:860px){
   body{font-size:16px} .shell{padding:0 20px} nav{display:none}
   .hero{min-height:64vh;background-position:60% 0%}
   .motto{font-size:32px;line-height:1.4} .herobtn{margin-top:32px}
   .plede{font-size:25px} .pgrid{grid-template-columns:1fr 1fr;gap:30px}
   .qtext{font-size:20px} .sgrid{grid-template-columns:1fr;gap:30px}
   .stitle{font-size:26px} .btitle{font-size:26px} .clinics{grid-template-columns:1fr}
   .etext{font-size:19px} .partner,.story,.book,.pillars{padding:62px 0}
   .visit{padding:62px 0} .vgrid{grid-template-columns:1fr;gap:30px} .vclose{font-size:20px;margin-top:40px}
   .roadmap{padding:60px 0} .rmtitle{font-size:28px} .step{padding:56px 0} .sgrid2{grid-template-columns:1fr;gap:26px} .sgrid2.flip .simg{order:0} .stitle{font-size:24px} .btext{font-size:21px}
   .fog,.joy{padding:84px 0} .ftitle{font-size:29px} .firegrid{grid-template-columns:1fr;gap:34px} .fititle{font-size:26px} .jtext{font-size:23px} .egrid{grid-template-columns:1fr 1fr;gap:16px} .fire{padding:66px 0} .evid{padding:62px 0}
 }

/* ── LOCATIONS: two clinic cards above the footer (Helen asked for the map, Sep 2 2026).
   Bashō's ruling: a block directly above the footer, not inside it; footer keeps plain-text NAP.
   Iframes are loading="lazy" so the maps cost nothing until scrolled to. White on clay = 5.17:1 (AA). ── */
.locs{background:var(--pale);padding:72px 0 78px}
.locs .lk{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--band);font-weight:600}
.locs .stitle{margin-top:8px}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}
.lcard{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(28,35,33,.08);display:flex;flex-direction:column}
.lmap{aspect-ratio:16/10;background:#CFD7CB} .lmap iframe{width:100%;height:100%;border:0;display:block}
.lbody{padding:22px 24px 26px}
.lcity{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--band);font-weight:600}
.ltitle{font-family:Newsreader,serif;font-weight:600;font-size:22px;line-height:1.3;margin:6px 0 10px;color:var(--ink)}
.lvenue{color:var(--slate);font-size:15px;margin:0 0 8px}
.lhours{margin:0;line-height:1.6}
.lacts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}
.lbtn{background:var(--clay);color:#fff;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px}
.lbtn:hover{filter:brightness(.94)}
.llink{color:var(--green);text-decoration:underline;text-underline-offset:2px;font-size:15px}
.more{margin-top:26px;text-align:center}
.more a{color:var(--green);text-decoration:underline;text-underline-offset:3px;font-weight:500}
@media (max-width:768px){.lgrid{grid-template-columns:1fr;gap:22px}.locs{padding:56px 0 60px}}

/* footer Instagram link (Bashō, Sep 4) */
.figlink{display:inline-flex;align-items:center;gap:8px;color:#DDE3D8;text-decoration:none;font-size:15px}
.figlink:hover{color:#fff}

.plink{display:inline-block;margin-top:10px;color:var(--green);text-decoration:underline;text-underline-offset:3px;font-weight:500;font-size:15px}
