/* ============================================================
   Menaya Premium — design system
   World: «רעש → סדר → מערכת» (approved hero-scene 2026-10-07, 17/18)
   extended with the «מסלול לילי» scroll-cinema architecture
   (design/storyboard.md) and a dawn arc into the honest pages.
   Tokens only. Logical properties only. RTL-first.
   ============================================================ */
:root{
  /* world */
  --ink:#0b0b0a; --ink2:#141318; --fogc:#17161c;
  --paper:#eee9df; --paper-dim:#d9d3c6;
  --acid:#d7ff3f; --stone:#8f897b;
  /* roles on ink */
  --bg:var(--ink); --fg:var(--paper); --fg-muted:rgba(238,233,223,.62);
  --line:rgba(238,233,223,.16); --line-strong:rgba(238,233,223,.34);
  /* type */
  --sans:'Heebo',system-ui,sans-serif;
  --serif:'Frank Ruhl Libre','Heebo',serif;
  --fs-hero:clamp(64px,8.6vw,124px);
  --fs-h2:clamp(32px,4.6vw,58px);
  --fs-h3:clamp(21px,2.2vw,26px);
  --fs-lead:clamp(18px,1.5vw,21px);
  --fs-body:17px; --fs-small:14.5px; --fs-micro:12.5px;
  /* rhythm */
  --wrap:min(1200px,88vw); --gap:clamp(20px,3vw,44px);
  --sect:clamp(84px,11vh,140px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--acid);color:var(--ink)}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;inset-inline-start:16px;top:-60px;z-index:60;background:var(--acid);color:var(--ink);
  padding:10px 18px;border-radius:3px;font-weight:700;text-decoration:none;transition:top .2s var(--ease)}
.skip:focus{top:14px}
:is(a,button,summary,input,[tabindex]):focus-visible{outline:2.5px solid var(--acid);outline-offset:3px;border-radius:2px}

/* word-split reveal targets (JS only) */
html.js .wr{visibility:hidden}
.no-js .wr{visibility:visible}

/* ============ header (quiet orientation — navbar.gallery) ============ */
.hdr{position:fixed;inset-inline:0;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(18px,3.4vw,40px);
  background:linear-gradient(to bottom,rgba(11,11,10,.82),rgba(11,11,10,0));
  transition:background .5s ease;}
.hdr.solid{background:rgba(11,11,10,.92);border-bottom:1px solid var(--line);transition:background .5s ease,border-color .5s ease}
body.dawn .hdr.solid{background:rgba(238,233,223,.96);border-bottom:1px solid rgba(20,19,18,.14)}
.brandmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg)}
body.dawn .hdr.solid .brandmark{color:var(--ink)}
.brandmark .bm-name{font-size:16px;font-weight:600;letter-spacing:.04em}
.brandmark .bm-name b{font-weight:800}
.brandmark .bm-sub{font-size:9.5px;font-weight:500;letter-spacing:.3em;opacity:.55;direction:ltr}
.hnav{display:flex;align-items:center;gap:clamp(14px,2.2vw,28px)}
.hnav a{font-size:15px;font-weight:500;text-decoration:none;color:var(--fg-muted);transition:color .18s ease}
.hnav a:hover{color:var(--fg)}
body.dawn .hdr.solid .hnav a{color:rgba(20,19,18,.66)}
body.dawn .hdr.solid .hnav a:hover{color:var(--ink)}
.hnav .hcta{display:inline-flex;align-items:center;min-height:44px;padding:9px 18px;
  border:1px solid var(--line-strong);border-radius:2px;color:var(--fg);
  font-size:15px;font-weight:700;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease}
.hnav .hcta:hover{border-color:var(--acid);color:var(--acid)}
body.dawn .hdr.solid .hnav .hcta{color:var(--ink);border-color:rgba(20,19,18,.4)}
body.dawn .hdr.solid .hnav .hcta:hover{background:var(--ink);color:var(--acid);border-color:var(--ink)}
@media(max-width:760px){.hnav a:not(.hcta){display:none}}

/* ============ hero — the approved scene, scroll-scrubbed ============ */
.hero{position:relative;height:340vh;background:var(--ink)}
.hero-stick{position:sticky;top:0;height:100vh;overflow:hidden}
#scene{position:absolute;inset:0;width:100%;height:100%}
.hud{position:absolute;inset:0;pointer-events:none;z-index:2}
.hud a{pointer-events:auto}
/* status chip + phase rail (from approved scene) */
.hero .status{position:absolute;top:86px;inset-inline-end:clamp(20px,3vw,40px);
  display:flex;gap:10px;align-items:center;font-size:13px;font-weight:500;letter-spacing:.06em;
  border-inline-start:2px solid var(--paper);padding-inline-start:10px;opacity:.92;transition:border-color .6s ease}
.hero .status.final{border-inline-start-color:var(--acid)}
.hero .status .idx{direction:ltr;font-size:11px;letter-spacing:.18em;opacity:.6}
.hero .display{position:absolute;top:16vh;inset-inline-end:clamp(20px,3vw,40px);max-width:600px;
  display:flex;flex-direction:column;gap:14px;text-align:right;
  padding:26px 30px 22px 38px;
  background:linear-gradient(250deg,rgba(11,11,10,.78),rgba(11,11,10,.42) 55%,rgba(11,11,10,0))}
.beat{display:none;flex-direction:column;gap:14px}
.beat.on{display:flex}
.beat .d1{font-family:var(--sans);font-size:clamp(72px,9vw,118px);font-weight:800;line-height:.94;letter-spacing:-.01em}
.beat .d1 .dot{color:var(--acid)}
.beat .d2{font-size:clamp(20px,2.2vw,30px);font-weight:500;line-height:1.35;max-width:30ch}
.beat.on .d1,.beat.on .d2{animation:rise .55s var(--ease) both}
.beat.on .d2{animation-delay:.12s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .phase{position:absolute;inset-inline-start:clamp(20px,3vw,40px);bottom:30px;
  display:flex;gap:18px;align-items:center;font-size:13px;font-weight:500;letter-spacing:.06em;opacity:.85}
.hero .phase .st{opacity:.55;transition:opacity .45s ease}
.hero .phase .st.on{opacity:1}.hero .phase .st.done{opacity:.85}
.hero .phase .track{position:relative;width:150px;height:2px;background:rgba(238,233,223,.28)}
.hero .phase .fill{position:absolute;inset-inline-start:0;top:0;height:100%;width:0%;background:var(--paper);transition:background .6s ease}
.hero .phase .fill.final{background:var(--acid)}
.hero .cta{position:absolute;bottom:30px;inset-inline-end:clamp(20px,3vw,40px);
  display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 20px;
  border:1px solid rgba(238,233,223,.45);border-radius:2px;color:var(--paper);text-decoration:none;
  font-size:20px;font-weight:700;background:rgba(11,11,10,.55);
  transition:background .5s ease,color .5s ease,border-color .5s ease,transform .5s var(--ease)}
.hero .cta .arr{font-weight:800;transition:transform .4s ease}
.hero .cta:hover{transform:translateY(-2px)}
.hero .cta.primary{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.hero .cta.primary .arr{animation:nudge 1.6s ease infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
.hero .scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  font-size:12.5px;letter-spacing:.14em;opacity:.55;display:flex;flex-direction:column;align-items:center;gap:8px}
.hero .scroll-hint::after{content:"";width:1px;height:34px;background:linear-gradient(to bottom,var(--paper),transparent);animation:hintdrop 2.2s ease infinite}
@keyframes hintdrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:700px){
  .hero .status{top:72px;font-size:12px}
  .hero .display{top:13vh;inset-inline-end:20px;max-width:none;inset-inline-start:20px;padding:18px 18px 16px 24px}
  .beat .d1{font-size:80px}.beat .d2{font-size:21px;max-width:24ch}
  .hero .phase{inset-inline-start:20px;bottom:104px;gap:14px;font-size:12px}
  .hero .phase .track{width:96px}
  .hero .cta{inset-inline-end:20px;inset-inline-start:20px;bottom:calc(22px + env(safe-area-inset-bottom,0px));justify-content:center;font-size:18px;min-height:54px}
  .hero .scroll-hint{display:none}
}

/* ============ chapters (shared scaffolding) ============ */
.sect{position:relative;padding-block:var(--sect);background:var(--ink);color:var(--fg)}
.sect--paper{background:var(--paper);color:var(--ink)}
.wrap{width:var(--wrap);margin-inline:auto}
.scene-no{font-size:var(--fs-micro);font-weight:600;letter-spacing:.22em;color:var(--stone);
  display:flex;align-items:center;gap:12px;margin-bottom:22px}
.scene-no::after{content:"";height:1px;flex:0 0 56px;background:currentColor;opacity:.5}
.sect--paper .scene-no{color:#6e6857}
.h2{font-family:var(--serif);font-weight:700;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.005em;max-width:18ch}
.h2 .acc{color:var(--acid)}
.sect--paper .h2 .acc{color:#3d4b0e}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--fg-muted);max-width:56ch;margin-top:18px}
.sect--paper .lead{color:rgba(20,19,18,.72)}

/* dawn bridge: ink → paper continuity */
.bridge{height:34vh;background:linear-gradient(to bottom,var(--ink) 0%,#3a3830 34%,#8b8677 62%,var(--paper) 100%)}

/* ============ chapter רעש — pain (editorial rows, no cards) ============ */
.pain-list{margin-top:clamp(40px,6vh,72px);display:flex;flex-direction:column}
.pain{display:grid;grid-template-columns:72px 1fr;gap:var(--gap);
  padding-block:clamp(28px,4.5vh,48px);border-top:1px solid var(--line)}
.pain:last-child{border-bottom:1px solid var(--line)}
.pain .no{font-size:15px;font-weight:600;color:var(--stone);letter-spacing:.1em;direction:ltr;text-align:right}
.pain h3{font-family:var(--serif);font-weight:700;font-size:var(--fs-h3);line-height:1.3;margin-bottom:10px}
.pain p{color:var(--fg-muted);max-width:62ch}
.pain:nth-child(2){grid-template-columns:72px minmax(0,58ch) 1fr}
.pain:nth-child(2) .aside-note{align-self:end;font-size:var(--fs-small);color:var(--stone);border-inline-start:2px solid rgba(215,255,63,.5);padding-inline-start:14px;max-width:30ch}
.pain-sum{margin-top:clamp(40px,6vh,64px);font-family:var(--serif);font-weight:500;
  font-size:clamp(22px,2.6vw,32px);line-height:1.4;max-width:34ch}
.pain-sum b{font-weight:700;color:var(--acid)}
@media(max-width:860px){.pain{grid-template-columns:1fr}.pain .no{margin-bottom:6px}
  .pain:nth-child(2){grid-template-columns:1fr}.pain:nth-child(2) .aside-note{margin-top:14px}}

/* ============ chapter סדר — stations rail ============ */
.rail-wrap{margin-top:clamp(44px,7vh,84px);position:relative}
.rail{position:relative;padding-inline-start:clamp(26px,4vw,56px)}
.rail::before{content:"";position:absolute;inset-block:8px;inset-inline-start:8px;width:2px;background:var(--line)}
.rail .rail-fill{position:absolute;top:8px;inset-inline-start:8px;width:2px;height:0;background:var(--acid);transform-origin:top}
.station{position:relative;padding-block:clamp(26px,4vh,44px);max-width:66ch}
.station::before{content:attr(data-dot);position:absolute;inset-inline-start:calc(-1*clamp(26px,4vw,56px) + 1px);top:clamp(30px,4.6vh,50px);
  width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--stone);
  display:grid;place-items:center;font-size:0;transition:border-color .4s ease,box-shadow .4s ease}
.station.lit::before{border-color:var(--acid);box-shadow:0 0 0 5px rgba(215,255,63,.14)}
.station .when{font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;color:var(--stone);margin-bottom:8px}
.station h3{font-family:var(--serif);font-weight:700;font-size:clamp(23px,2.6vw,30px);line-height:1.25;margin-bottom:10px}
.station p{color:var(--fg-muted);max-width:60ch}
.station .out{margin-top:14px;display:inline-flex;flex-direction:column;gap:3px;
  border:1px solid var(--line);border-radius:3px;padding:10px 16px}
.station .out em{font-style:normal;font-size:var(--fs-micro);letter-spacing:.14em;color:var(--stone)}
.station .out b{font-size:15.5px;font-weight:700;color:var(--fg)}
.station.lit .out{border-color:rgba(215,255,63,.45)}
.station.lit .out b{color:var(--acid)}

/* gates — pinned scrub scene (desktop) / static composition (mobile) */
.gates{margin-top:clamp(56px,9vh,110px)}
.gates-pin{position:relative;height:240vh}
.gates-stick{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.gates-stage{position:relative;width:min(1060px,90vw);margin-inline:auto;aspect-ratio:1060/460}
.gates-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gate-lbl{position:absolute;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;
  transform:translate(50%,-50%);inset-inline-start:var(--x);top:var(--y)}
.gate-lbl .g-num{font-size:var(--fs-micro);font-weight:600;letter-spacing:.2em;color:var(--stone);direction:ltr}
.gate-lbl .g-name{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.6vw,30px);color:var(--fg);opacity:.4;transition:opacity .35s ease,color .35s ease}
.gate-lbl.on .g-name{opacity:1}
.gate-lbl.past .g-name{opacity:.75;color:var(--acid)}
.gate-lbl .g-note{font-size:13px;color:var(--fg-muted);max-width:22ch;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s var(--ease)}
.gate-lbl.on .g-note{opacity:1;transform:none}
.gates-head{position:absolute;top:16vh;inset-inline-start:clamp(20px,5vw,72px);max-width:30ch}
.gates-head .scene-no{margin-bottom:12px}
.gates-head .h2{font-size:clamp(26px,3.2vw,40px)}
.gates-progress{position:absolute;bottom:9vh;inset-inline-start:50%;transform:translateX(50%);
  display:flex;gap:10px;align-items:center;font-size:var(--fs-micro);letter-spacing:.18em;color:var(--stone)}
.gates-progress .track{position:relative;width:180px;height:2px;background:var(--line)}
.gates-progress .fill{position:absolute;inset-inline-start:0;top:0;height:100%;width:0;background:var(--acid)}
@media(max-width:1023px){
  .gates-pin{height:auto}
  .gates-stick{position:static;height:auto;padding-block:clamp(40px,7vh,70px)}
  .gates-stage{aspect-ratio:auto}
  .gates-stage svg{position:static;aspect-ratio:1060/300;height:auto}
  .gates-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:26px}
  .gate-lbl{position:static;transform:none;align-items:flex-start;text-align:start}
  .gate-lbl .g-name{opacity:1}
  .gate-lbl .g-note{opacity:1;transform:none}
  .gates-progress{display:none}
  .gates-head{position:static;margin-bottom:26px}
}
@media(max-width:560px){.gates-flow{grid-template-columns:1fr}}

/* ============ chapter מערכת — disc + weekly loop ============ */
.system-grid{margin-top:clamp(40px,6vh,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.disc-stage{position:relative;aspect-ratio:1;width:min(520px,100%);margin-inline:auto}
#disc{width:100%;height:100%}
.disc-fallback{position:absolute;inset:0;display:none}
.disc-stage.no-webgl #disc{display:none}
.disc-stage.no-webgl .disc-fallback{display:block}
.week-loop{display:flex;flex-direction:column;gap:0;margin-top:30px}
.week-loop .wk{display:grid;grid-template-columns:52px 1fr;gap:16px;padding-block:20px;border-top:1px solid var(--line)}
.week-loop .wk:last-child{border-bottom:1px solid var(--line)}
.week-loop .wk .w-i{font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;color:var(--stone);direction:ltr;text-align:right;padding-top:4px}
.week-loop .wk h3{font-family:var(--serif);font-weight:700;font-size:21px;margin-bottom:6px}
.week-loop .wk p{color:var(--fg-muted);font-size:15.5px;max-width:52ch}
.week-loop .wk.hot h3{color:var(--acid)}
@media(max-width:900px){.system-grid{grid-template-columns:1fr}}

/* ============ report docking + proof (dawn) ============ */
.report-sect{overflow:hidden}
.report-grid{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.report-card{border:1.5px solid rgba(20,19,18,.8);border-radius:4px;background:var(--paper);
  box-shadow:0 2px 10px rgba(20,19,18,.07)}
.report-card .rhead{padding:18px 22px;border-bottom:1px solid rgba(20,19,18,.16);
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.report-card .rhead b{font-size:15.5px;font-weight:700}
.report-card .rhead span{font-size:12.5px;color:#6e6857}
.report-card .rrow{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:13px 22px;border-bottom:1px solid rgba(20,19,18,.1);font-size:15.5px}
.report-card .rrow span{color:rgba(20,19,18,.72)}
.report-card .rrow b{font-weight:700;direction:ltr;white-space:nowrap}
.report-card .rrow .tag-off{color:#8a2b18;border:1px solid rgba(138,43,24,.4);border-radius:3px;padding:2px 10px;font-size:13px;font-weight:600}
.report-card .rrow .tag-on{color:#3d4b0e;border:1px solid rgba(61,75,14,.4);border-radius:3px;padding:2px 10px;font-size:13px;font-weight:600}
.report-card .rfoot{padding:14px 22px;font-size:13px;color:#6e6857}
.proof-list{list-style:none;display:flex;flex-direction:column}
.proof-list li{display:grid;grid-template-columns:30px 1fr;gap:14px;padding-block:18px;border-top:1px solid rgba(20,19,18,.14);font-size:16px;line-height:1.6}
.proof-list li:last-child{border-bottom:1px solid rgba(20,19,18,.14)}
.proof-list .tick{color:#3d4b0e;font-weight:800}
.proof-list b{font-weight:700}
.facts{margin-top:clamp(44px,7vh,72px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.fact .n{font-family:var(--serif);font-weight:700;font-size:clamp(40px,4.6vw,64px);line-height:1;direction:ltr;text-align:right;color:var(--ink)}
.fact .n .suf{color:#6e7a1e}
.fact .l{margin-top:10px;font-size:14.5px;color:rgba(20,19,18,.66);line-height:1.5;max-width:24ch}
@media(max-width:900px){.report-grid{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}}

/* ============ services strip (paper) ============ */
.svc-list{margin-top:clamp(36px,5vh,60px)}
.svc-row{display:grid;grid-template-columns:64px minmax(0,42ch) 1fr auto;gap:var(--gap);align-items:baseline;
  padding-block:clamp(22px,3.4vh,34px);border-top:1px solid rgba(20,19,18,.16);text-decoration:none;color:inherit}
.svc-row:last-child{border-bottom:1px solid rgba(20,19,18,.16)}
.svc-row .s-no{font-size:14px;font-weight:600;color:#6e6857;letter-spacing:.1em;direction:ltr;text-align:right}
.svc-row h3{font-family:var(--serif);font-weight:700;font-size:clamp(21px,2.4vw,27px);transition:color .18s ease}
.svc-row p{font-size:15.5px;color:rgba(20,19,18,.66);max-width:52ch}
.svc-row .more{font-size:14px;font-weight:700;color:#3d4b0e;white-space:nowrap}
.svc-row .more::after{content:"←";display:inline-block;margin-inline-start:6px;transition:transform .18s var(--ease)}
.svc-row:hover h3{color:#3d4b0e}
.svc-row:hover .more::after{transform:translateX(-4px)}
@media(max-width:900px){.svc-row{grid-template-columns:44px 1fr}.svc-row p{grid-column:2}.svc-row .more{grid-column:2}}

/* ============ pricing (paper) ============ */
.tiers{margin-top:clamp(36px,5vh,60px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.tier{border:1.5px solid rgba(20,19,18,.55);border-radius:4px;padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:16px}
.tier.full{border-color:var(--ink);position:relative;background:#faf7ef}
.tier.full::before{content:"המסלול המלא";position:absolute;top:-13px;inset-inline-start:26px;background:var(--acid);color:var(--ink);
  font-size:12px;font-weight:700;letter-spacing:.1em;padding:4px 12px;border-radius:2px}
.tier h3{font-family:var(--serif);font-weight:700;font-size:clamp(22px,2.4vw,28px)}
.tier .for{font-size:14.5px;color:rgba(20,19,18,.62);line-height:1.5}
.tier .amount{font-family:var(--serif);font-weight:700;font-size:clamp(44px,4.4vw,60px);line-height:1;direction:ltr;text-align:right}
.tier .per{font-size:13.5px;color:#6e6857;margin-top:-8px}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15.5px;flex:1}
.tier li{display:flex;gap:10px;align-items:baseline}
.tier li::before{content:"";width:7px;height:7px;background:#3d4b0e;border-radius:1px;flex:none;transform:translateY(-1px)}
.tier .btn{margin-top:8px}
.terms{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:rgba(20,19,18,.66)}
.terms span{display:flex;gap:8px;align-items:baseline}
.terms span::before{content:"";width:6px;height:6px;background:#6e7a1e;border-radius:50%;flex:none}
@media(max-width:820px){.tiers{grid-template-columns:1fr}}

/* buttons (paper world) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 26px;
  border-radius:3px;background:var(--ink);color:var(--acid);text-decoration:none;font-size:17px;font-weight:700;
  border:1.5px solid var(--ink);transition:background .18s ease,color .18s ease,transform .18s var(--ease)}
.btn .arr{font-weight:800}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--acid)}
.btn.wa{background:#1f2d0c;color:var(--acid);border-color:#1f2d0c}
.btn.wa:hover{background:var(--ink)}

/* ============ adi (paper) ============ */
.adi-grid{margin-top:clamp(32px,5vh,56px);display:grid;grid-template-columns:120px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.adi-fig{width:120px;height:120px;border:1.5px solid rgba(20,19,18,.7);border-radius:4px;display:grid;place-items:center;
  font-family:var(--serif);font-weight:700;font-size:34px;color:var(--ink);background:#faf7ef}
.adi-copy p{max-width:64ch;color:rgba(20,19,18,.8);margin-bottom:14px;font-size:17px}
.adi-copy p b{font-weight:700;color:var(--ink)}
.adi-copy .tlink{color:#3d4b0e;font-weight:700;text-decoration:none;border-bottom:2px solid rgba(61,75,14,.35);transition:border-color .18s ease}
.adi-copy .tlink:hover{border-color:#3d4b0e}
@media(max-width:700px){.adi-grid{grid-template-columns:1fr}}

/* ============ FAQ (paper) ============ */
.qa-list{margin-top:clamp(30px,4vh,48px)}
details.qa{border-top:1px solid rgba(20,19,18,.16)}
details.qa:last-child{border-bottom:1px solid rgba(20,19,18,.16)}
details.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;
  min-height:64px;padding-block:16px;font-size:clamp(16.5px,1.6vw,19px);font-weight:600;color:var(--ink)}
details.qa summary::-webkit-details-marker{display:none}
details.qa .pm{flex:none;width:34px;height:34px;border:1px solid rgba(20,19,18,.35);border-radius:50%;
  display:grid;place-items:center;font-size:18px;font-weight:600;transition:transform .25s var(--ease),background .25s ease,color .25s ease}
details.qa[open] .pm{transform:rotate(45deg);background:var(--ink);color:var(--acid)}
details.qa .ans{padding-bottom:22px;max-width:66ch;color:rgba(20,19,18,.75);font-size:16px}

/* ============ articles strip (paper) ============ */
.articles-strip{margin-top:clamp(36px,5vh,60px);display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.article-link{display:grid;grid-template-columns:minmax(0,30ch) 1fr auto;gap:var(--gap);align-items:baseline;
  padding-block:clamp(22px,3.4vh,32px);border-top:1px solid rgba(20,19,18,.16);text-decoration:none;color:inherit}
.article-link:last-child{border-bottom:1px solid rgba(20,19,18,.16)}
.article-link .m{font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;color:#6e6857}
.article-link h3{font-family:var(--serif);font-weight:700;font-size:clamp(19px,2vw,24px);transition:color .18s ease}
.article-link:hover h3{color:#3d4b0e}
.article-link .more{font-size:14px;font-weight:700;color:#3d4b0e;white-space:nowrap}
@media(max-width:760px){.article-link{grid-template-columns:1fr}}

/* ============ contact (ink bookend) ============ */
.contact{background:var(--ink);color:var(--fg)}
.contact .h2 .acc{color:var(--acid)}
.contact-box{max-width:760px}
.contact .lead{color:var(--fg-muted)}
.contact-acts{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.wa-btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:14px 28px;
  background:var(--acid);color:var(--ink);border-radius:3px;text-decoration:none;font-size:19px;font-weight:800;
  transition:transform .18s var(--ease),box-shadow .18s ease}
.wa-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(215,255,63,.22)}
.wa-btn svg{flex:none}
.tel-link{font-size:19px;font-weight:700;color:var(--fg-muted);text-decoration:none;direction:ltr;letter-spacing:.03em}
.tel-link:hover{color:var(--acid)}
.contact-meta{margin-top:26px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--fg-muted)}
.contact-meta b{color:var(--fg)}

/* ============ footer (ink) ============ */
.ftr{background:var(--ink);color:var(--fg);border-top:1px solid var(--line);padding-block:clamp(44px,7vh,80px) 34px}
.ftr-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:var(--gap)}
.ftr .brandline{margin-top:14px;font-size:14.5px;color:var(--fg-muted);max-width:44ch;line-height:1.6}
.ftr-h{font-size:var(--fs-micro);font-weight:600;letter-spacing:.18em;color:var(--stone);margin-bottom:14px}
.ftr nav{display:flex;flex-direction:column;gap:10px}
.ftr nav a{font-size:15px;color:var(--fg-muted);text-decoration:none;width:fit-content}
.ftr nav a:hover{color:var(--acid)}
.ftr .legal{margin-top:clamp(36px,5vh,56px);padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px 28px;font-size:13.5px;color:var(--stone)}
.ftr .legal .ltr{direction:ltr}
@media(max-width:760px){.ftr-grid{grid-template-columns:1fr}}

/* ============ subpages (paper world) ============ */
.page-hero{padding-top:calc(84px + clamp(48px,8vh,90px));padding-bottom:clamp(30px,5vh,54px);background:var(--paper);color:var(--ink)}
.page-hero .breadcrumb{margin-top:16px;font-size:13.5px;color:#6e6857}
.page-hero .breadcrumb a{color:inherit}
.h-page{font-family:var(--serif);font-weight:700;font-size:clamp(34px,5vw,62px);line-height:1.08}
.h-page .acc{color:#3d4b0e}
.prose{max-width:70ch}
.prose h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.8vw,32px);margin:42px 0 14px;line-height:1.2}
.prose h3{font-size:19px;font-weight:700;margin:30px 0 10px}
.prose p,.prose li{color:rgba(20,19,18,.78);font-size:16.5px;line-height:1.7}
.prose ul,.prose ol{padding-inline-start:24px;margin-block:12px;display:flex;flex-direction:column;gap:8px}
.prose .callout{border:1px solid rgba(61,75,14,.4);border-inline-start:4px solid #3d4b0e;border-radius:3px;
  padding:16px 20px;margin-block:20px;background:#faf7ef}
.prose .callout b{color:#3d4b0e}
.svc-block{padding-block:clamp(28px,4vh,44px);border-top:1px solid rgba(20,19,18,.16)}
.svc-block h2{font-family:var(--serif);font-weight:700;font-size:clamp(23px,2.6vw,30px);margin-bottom:12px}
.svc-block .meta{font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;color:#6e6857;margin-bottom:10px}
.article-meta{display:flex;gap:18px;font-size:13.5px;color:#6e6857;margin-top:14px;flex-wrap:wrap}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .beat.on .d1,.beat.on .d2{animation:none;opacity:1;transform:none}
  html.js .wr{visibility:visible}
  .hero{height:auto}.hero-stick{position:static;height:100svh}
}
