/* =============================================================
   150 — Membership page styles
   ============================================================= */

/* ---- 1 · HERO ---- */
.mhero{min-height:94svh;display:flex;align-items:center;padding-top:clamp(110px,13vh,170px)}
/* hero text aligned with the nav logo (like home) — not the centered maxw inner */
.mhero .sec__inner{max-width:none;margin:0}
.mhero__h1{font-size:clamp(44px,6vw,88px);line-height:1.02;margin:.3em 0}
.mhero__h1 em{font-style:italic;color:var(--sand)}
.mhero__rule{display:block;width:54px;height:1px;background:var(--rule);margin:1em 0 1.4em}
.mhero__copy .btn{margin-top:1.8em}
.mhero__mark{display:flex;flex-direction:column;align-items:center;gap:0;color:var(--sand)}
.mhero__limit{position:relative;width:clamp(220px,26vw,300px);aspect-ratio:1;display:grid;place-items:center}
.mhero__orbit{position:absolute;inset:0;width:100%;height:100%}
.mhero__limitlab{position:absolute;top:-6px;left:50%;transform:translateX(-50%);color:var(--muted)}
.mhero__50{font-size:clamp(90px,11vw,150px);color:var(--oat);line-height:1}
.mhero__50mk{position:absolute;right:-26px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted)}
.mhero__flow{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:8px;position:relative}
.mhero__wire{position:absolute;top:-14px;bottom:40%;width:1px;background:linear-gradient(var(--sand),transparent);left:50%}
.mnode{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;z-index:1}
.mnode__ic{width:48px;height:48px;border:1px solid var(--rule);border-radius:50%;padding:13px;color:var(--sand);background:var(--bark)}
.mnode .mono-label i{font-style:normal;opacity:.7;font-size:9px}
.mhero__node-glow{width:7px;height:7px;border-radius:50%;background:var(--sand);box-shadow:0 0 16px 4px color-mix(in srgb,var(--sand) 70%,transparent)}
@media (max-width:860px){.mhero__mark{margin-top:2em}}

/* ---- 2 · WHAT'S INCLUDED ---- */
.included__head{display:flex;align-items:flex-end;justify-content:space-between}
.included__num{font-size:clamp(34px,4vw,56px);color:var(--fg)}
.included .hr{margin:14px 0 6px}
.spec{list-style:none;position:relative;margin:1em 0}
.spec::before{content:"";position:absolute;left:74%;top:14px;bottom:14px;border-left:1px dashed var(--rule)}
.spec li{display:grid;grid-template-columns:auto auto minmax(0,1fr) 1fr auto auto;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--rule)}
.spec__n{color:var(--muted);font-size:14px}
.spec__dot{width:5px;height:5px;border-radius:50%;background:var(--tan)}
.spec__lab{letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--fg)}
.spec__line{height:1px;background:var(--rule)}
.spec__node{width:22px;height:22px;border:1px solid var(--rule);border-radius:50%;position:relative;justify-self:center}
.spec__node::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--tan)}
.spec__check{display:flex;align-items:center;gap:7px;color:var(--olive);font-size:11px}
.spec__check svg{width:18px;height:18px}
.included__foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:1.4em}
.included__foot .mono-label{opacity:.7}
/* section signature mark, bottom-right (m12) */
.included__mark{display:inline-flex;align-items:center;gap:.05em;color:var(--tan)}
.included__mark .logo__num{font-family:var(--serif);font-weight:300;font-size:1.5rem;letter-spacing:.01em}
.included__markorb{width:1.25rem;height:1.25rem;display:inline-block;margin-left:.05em}
@media (max-width:720px){.spec li{grid-template-columns:auto auto 1fr auto;gap:10px}.spec__line,.spec__node{display:none}.spec::before{display:none}}

/* ---- 3 · WHO IT'S FOR ---- */
.whofor__copy .statement{margin:.3em 0 .6em}
.whofor__line{display:block;width:60%;height:1px;background:linear-gradient(90deg,var(--sand),transparent);margin-top:2em}
/* section signature mark, bottom-left (m13) */
.whofor__mark{display:inline-flex;align-items:center;gap:.06em;margin-top:1.6em;color:var(--sand);opacity:.85}
.whofor__mark .logo__num{font-family:var(--serif);font-weight:300;font-size:1.6rem;letter-spacing:.01em}
.whofor__markorb{width:1.3rem;height:1.3rem;display:inline-block;margin-left:.05em}
/* one centred growth-rings particle composition (orbitdust.js) */
.whofor__portrait{position:relative;aspect-ratio:1/1;max-height:560px;margin:0 auto;width:min(100%,560px);overflow:visible}
.whofor__dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
/* fade the portrait's left edge into the dark section so it blends, no hard
   rounded-rectangle seam (m13 nuance — same as the home hero) */
.whofor__rings{position:absolute;inset:-6%;color:#A4AC8A;opacity:.5;
  -webkit-mask:radial-gradient(115% 92% at 60% 46%, #000 48%, rgba(0,0,0,.5) 70%, transparent 96%);
  mask:radial-gradient(115% 92% at 60% 46%, #000 48%, rgba(0,0,0,.5) 70%, transparent 96%)}
.whofor__orb{position:absolute;left:44%;top:38%;width:24%;color:#EFEEE6;z-index:2;
  filter:drop-shadow(0 0 24px rgba(231,206,143,.35))}
.whofor__orb .orb-sm{width:100%;height:100%}
.whofor__arc{position:absolute;right:-12%;top:-10%;width:80%;height:auto;z-index:2;pointer-events:none}
.whofor__sig{position:absolute;left:0;right:-10%;bottom:14%;display:flex;align-items:center;z-index:3}
.whofor__sigline{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--sand))}
@media (max-width:860px){.whofor{overflow:hidden}.whofor__portrait{aspect-ratio:4/3;margin-top:1.5em}.whofor__arc{right:-6%;width:72%}}

/* ---- 4 · QUIET ANSWERS (carousel) ---- */
.quiet__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2em}
.quiet__nav{display:flex;align-items:center;gap:18px}
.quiet__arr{width:42px;height:42px;border:1px solid var(--rule);border-radius:50%;color:var(--fg);font-size:1rem;transition:.3s}
.quiet__arr:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.quiet__count{color:var(--muted);letter-spacing:.16em}
.quiet__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;border:1px solid var(--panel-line);border-radius:16px;background:var(--panel)}
.quiet__track::-webkit-scrollbar{display:none}
.qslide{min-width:100%;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,4vw,52px)}
.qslide__copy .statement{margin:.4em 0 .6em}
.qslide__copy .statement em{color:var(--ember)}
.qslide__viz{display:flex;align-items:center;justify-content:center;min-height:300px}
/* the "experimental? No" slide has a warm wood-grain backdrop on the right (m15) */
.qgate{position:relative;isolation:isolate}
/* wood panel pulled to the far-right third + deeper left fade so the gate
   labels (Unapproved / Lab-gated / Earned) stay legible on cream (m15) */
.qgate::before{content:"";position:absolute;top:6%;bottom:6%;right:0;width:38%;z-index:0;pointer-events:none;border-radius:14px;
  background:
    repeating-linear-gradient(91deg, rgba(54,38,24,0) 0 5px, rgba(54,38,24,.16) 5px 6px, rgba(120,86,54,.06) 6px 12px),
    linear-gradient(102deg, transparent 0%, rgba(96,68,44,.26) 55%, rgba(72,50,32,.46) 100%);
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 62%);mask:linear-gradient(90deg,transparent 0,#000 62%);opacity:.85}
.qgate > *{position:relative;z-index:1}
/* evidence */
.qevidence{gap:clamp(10px,2vw,24px)}
.qdial{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--fg)}
.qdial .mono-label{color:var(--muted)}
.qdial .inst--speedo{width:clamp(170px,17vw,212px);height:auto}
.qdelta{display:flex;flex-direction:column;align-items:center}
.qdelta__t{font-family:var(--sans);font-weight:420;font-size:1.25rem;color:var(--muted)}
.qdelta .num{font-size:clamp(30px,4vw,52px);color:var(--ember)}
/* physicians */
.qphys{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.qphys__panel{aspect-ratio:3/4;border-radius:12px;position:relative;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(150deg,#4A5340 0%,#38422F 55%,#2D382A 100%)}
.qphys__cells{position:absolute;inset:8%;color:#A4AC8A;opacity:.55}
.qphys__ic{position:relative;width:34%;color:#EFEEE6;z-index:1}
.qphys__ic svg{width:100%;height:100%}
.qphys__readout{padding:18px;background:var(--bark);color:var(--oat);border:none;display:flex;flex-direction:column;gap:10px}
.qphys__readout .mono-label{color:var(--sand)}
.qphys__rows{list-style:none;display:flex;flex-direction:column;gap:9px}
.qphys__rows li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#C9CDBB}
.qspark{width:120px;flex:none}
.qphys__by{color:#9AA18C;margin-top:auto;font-size:9px}
/* data vault */
.qdata{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}
/* skeuomorphic brushed-brass vault */
.qvault{position:relative;align-self:center;width:100%;max-width:300px;margin:8px auto 22px;
  padding:clamp(13px,1.5vw,18px);border-radius:84px/64px;
  background:
    repeating-linear-gradient(92deg,rgba(255,250,232,.05) 0 2px,rgba(60,42,18,.05) 2px 4px),
    linear-gradient(150deg,#ecdcae 0%,#cbab6e 16%,#8d6c40 36%,#d2b277 50%,#7e5e35 68%,#bb9a64 84%,#e7d49f 100%);
  box-shadow:0 34px 60px -26px rgba(0,0,0,.75),0 4px 12px -4px rgba(0,0,0,.5),
    inset 0 2px 3px rgba(255,248,222,.7),inset 0 -4px 7px rgba(40,28,12,.55),inset 0 0 0 1px rgba(120,92,48,.5)}
.qvault__hinge{position:absolute;left:-4px;width:11px;height:34px;border-radius:4px;z-index:2;
  background:linear-gradient(90deg,#6f5230,#d8bd82 45%,#6f5230);box-shadow:0 1px 4px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.4)}
.qvault__hinge--top{top:22%}.qvault__hinge--bot{bottom:22%}
.qvault__glass{position:relative;overflow:hidden;border-radius:70px/52px;
  padding:clamp(18px,2.2vw,26px) clamp(15px,1.8vw,22px) clamp(20px,2.4vw,28px);
  display:flex;flex-direction:column;align-items:center;gap:11px;
  background:radial-gradient(120% 90% at 50% 8%,#2a2114,#140f08 62%,#1d1610);
  box-shadow:inset 0 4px 12px rgba(0,0,0,.75),inset 0 0 0 1px rgba(70,56,34,.9),inset 0 -2px 4px rgba(0,0,0,.6)}
.qvault__glass::before{content:"";position:absolute;top:-10%;left:-25%;width:55%;height:120%;
  background:linear-gradient(104deg,transparent,rgba(255,255,255,.07) 50%,transparent);transform:skewX(-12deg);pointer-events:none}
.qvault__badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:17px;color:#3a2c14;z-index:1;
  background:radial-gradient(circle at 40% 33%,#f5e7bb,#cbab6e 58%,#9a7843);
  box-shadow:0 3px 7px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.7),inset 0 -2px 3px rgba(80,58,28,.6);
  border:1px solid rgba(120,92,48,.6)}
.qvault__label{color:var(--sand);font-size:9px;letter-spacing:.22em;opacity:.85;z-index:1}
.qvault__cards{display:flex;flex-direction:column;gap:9px;width:100%;z-index:1}
.qvault__row{display:flex;align-items:center;gap:11px;border-radius:11px;padding:10px 13px;color:#37301f;font-size:.86rem;
  background:linear-gradient(180deg,#f0e8d4,#dacfb2);box-shadow:0 2px 5px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.75)}
.qvault__row b{font-weight:500}
.qvault__ic{width:23px;height:23px;flex:none;color:#8a6a3e;display:grid;place-items:center}
.qvault__ic svg{width:100%;height:100%}
.qvault__plate{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:linear-gradient(180deg,#dcc187,#a8854f);color:#33270f;border-radius:4px;padding:5px 16px;font-size:9px;letter-spacing:.2em;
  border:1px solid rgba(120,92,48,.55);box-shadow:0 5px 12px -3px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.55)}
.qdata__cards{display:flex;flex-direction:column;gap:14px;justify-content:center}
.qcard{border:1px solid var(--panel-line);border-radius:12px;padding:16px;background:#fff}
.qcard__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.qcard__h b{color:#2A3128}
.qcard span{display:block;font-size:.84rem;color:#6E7561}
.qcard__ok{width:26px;height:26px;color:var(--olive)}
.toggle{width:40px;height:22px;border-radius:999px;background:#ccc3b0;position:relative;flex:none}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.3s}
.toggle--off::after{left:2px}
.quiet__dots{display:flex;gap:8px;justify-content:center;margin-top:1.6em}
.quiet__dots i{width:7px;height:7px;border-radius:50%;background:var(--rule);transition:.3s;cursor:pointer}
.quiet__dots i.is-on{background:var(--accent);width:22px;border-radius:4px}
@media (max-width:860px){.qslide{grid-template-columns:1fr}.qphys,.qdata{grid-template-columns:1fr}.qevidence{flex-wrap:wrap}}

/* ---- 5 · HOW TO APPLY ---- */
/* dark wood-grain texture across the section (m18 backdrop) */
.howapply{position:relative;isolation:isolate}
.howapply::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(90deg, rgba(0,0,0,0) 0 8px, rgba(8,5,2,.5) 8px 9px, rgba(120,86,54,.05) 9px 17px, rgba(0,0,0,0) 17px 22px);
  -webkit-mask:radial-gradient(130% 110% at 50% 45%, #000 45%, transparent 88%);mask:radial-gradient(130% 110% at 50% 45%, #000 45%, transparent 88%)}
.howapply > *{position:relative;z-index:1}
.howapply .statement{margin:.3em 0 1.4em}
.howapply__steps{display:flex;align-items:flex-start;justify-content:center;gap:clamp(10px,2vw,28px);margin:2em 0}
.astep{display:flex;flex-direction:column;align-items:center;gap:.5em;max-width:230px;text-align:center}
.astep__n{font-size:2rem;color:var(--sand);opacity:.5}
.astep__dial{width:clamp(74px,8vw,104px);height:clamp(74px,8vw,104px);border:1px solid var(--rule);border-radius:50%;display:grid;place-items:center;color:var(--sand);padding:26px;position:relative;margin:.4em 0;
  background:radial-gradient(circle at 50% 42%,rgba(181,98,60,.14),rgba(205,187,163,.04) 55%,transparent 72%);
  box-shadow:0 0 46px -12px rgba(181,98,60,.4),inset 0 0 22px -10px rgba(205,187,163,.35)}
.astep__dial::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(205,187,163,.3)}
.astep__dial::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;background:conic-gradient(from 220deg,transparent,rgba(181,98,60,.55),rgba(205,187,163,.3),transparent 60%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9}
.astep__dial .orb-sm{width:36px;height:36px}
.astep b{font-family:var(--sans);font-size:1.15rem;font-weight:460;color:var(--fg)}
.astep span{font-size:.86rem;color:var(--muted)}
.astep__arr{color:var(--sand);opacity:.5;margin-top:60px}
.howapply__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:1em}
.howapply__foot{margin-top:2em;opacity:.7}
@media (max-width:860px){.howapply__steps{flex-direction:column;align-items:center}.astep__arr{transform:rotate(90deg);margin:0}}

/* ---- 7 · CLOSE (m19) — quiet ending: big mark, nav, contact ---- */
.mclose{text-align:center;padding-top:clamp(80px,12vh,150px);padding-bottom:clamp(80px,12vh,150px)}
.mclose__inner{display:flex;flex-direction:column;align-items:center;gap:1.8em}
.mclose__mark{color:var(--sand)}
.mclose__mark .logo-wm{height:clamp(72px,9vw,120px);width:auto}
/* deck page-3 composition: the orb half-cropped at the right edge, dots huge */
.mclose__bigorb{position:absolute;right:0;top:50%;transform:translate(46%,-50%);width:clamp(340px,36vw,560px);z-index:1;
  color:#8E9772;opacity:.5;pointer-events:none}
.mclose__bigorb .orb-sm{width:100%;height:100%}
@media (max-width:760px){.mclose__bigorb{width:300px;opacity:.28}}
.mclose__nav{display:flex;gap:clamp(18px,3.4vw,38px);flex-wrap:wrap;justify-content:center}
.mclose__nav a{transition:color .3s}
.mclose__nav a:hover{color:var(--fg)}
.mclose__rule{position:relative;display:block;width:min(620px,82%);height:1px;background:var(--rule)}
.mclose__rule i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:var(--sand);
  box-shadow:0 0 10px 2px rgba(233,201,160,.7);animation:dot-pulse 2.6s ease-in-out infinite}

/* the spec nodes ping in sequence — the checklist reads as live telemetry (m12) */
.spec__node{animation:node-ping 4.2s ease-in-out infinite}
.spec li:nth-child(2) .spec__node{animation-delay:.5s}
.spec li:nth-child(3) .spec__node{animation-delay:1s}
.spec li:nth-child(4) .spec__node{animation-delay:1.5s}
.spec li:nth-child(5) .spec__node{animation-delay:2s}
.spec li:nth-child(6) .spec__node{animation-delay:2.5s}
.spec li:nth-child(7) .spec__node{animation-delay:3s}
@keyframes node-ping{0%,18%,100%{box-shadow:0 0 0 0 rgba(154,126,99,0)}6%{box-shadow:0 0 0 6px rgba(154,126,99,.25)}12%{box-shadow:0 0 0 2px rgba(154,126,99,.1)}}

/* ============================================================
   FULL LIGHT REBRAND (client review round 2) — Membership
   ============================================================ */
/* hero: same warm landing field */
.mhero{--fg:#1E2A1C;
  background:
    radial-gradient(46% 68% at 72% 46%, rgba(216,206,164,.5), rgba(216,206,164,0) 70%),
    radial-gradient(58% 78% at 10% 6%, rgba(164,172,138,.28), transparent 62%),
    linear-gradient(118deg,#F8F6EF 0%,#EFEDE2 55%,#E5E3D4 100%)}
.mhero__50{color:#22301F}
.mhero__mark{color:#757C5C}
.mhero__limitlab{color:#8A6D2F}

/* page-wide authority */
body[data-page="membership"] .statement{color:#22301F}
body[data-page="membership"] .statement em{color:#90966E}
body[data-page="membership"] .body{font-size:clamp(16px,1.15vw,18px);color:#4C5443}

/* light glass nav */
body[data-page="membership"] .nav{color:#22271F}
body[data-page="membership"] .nav__link{opacity:.85;font-weight:460}
body[data-page="membership"] .nav--solid{background:rgba(246,244,238,.55);
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  border-bottom:1px solid rgba(34,39,31,.08)}
body[data-page="membership"] .nav__apply:hover{background:#2E3B2A}
body[data-page="membership"] .nav__apply:hover span{color:#F5F4EF}

/* who-for on light: forest marks */
.whofor__mark{color:#757C5C}
.whofor__line{background:linear-gradient(90deg,#757C5C,transparent)}

/* FAQ header row */
.quiet__top .statement{margin-bottom:0}

/* how-apply: light — retire the dark woodgrain texture */
.howapply::before{display:none}
.howapply .statement{color:#22301F}

/* close section on light: forest wordmark, dark text */
.mclose .logo-wm,.mclose__bigorb{color:#757C5C}
.mnode__ic{background:#F5F4EF;color:#757C5C}
