
/* ===== sub-pages: shared pieces ===== */
.pg main{display:block}
.lede{margin-top:22px;max-width:34em;font-size:clamp(1rem,1.25vw,1.12rem);color:var(--ink-2)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px}
.vt{width:15px;height:15px;flex:none}
.st{font-family:var(--f-tape);text-transform:uppercase;letter-spacing:.06em;padding:10px 15px 9px;border-radius:12px;box-shadow:0 18px 34px -18px rgba(19,32,30,.6);line-height:1.05;white-space:nowrap}
.st b{display:block;font-weight:700;font-size:clamp(1rem,1.5vw,1.4rem);letter-spacing:.02em}
.st span{display:block;font-weight:500;font-size:.72rem;opacity:.86;margin-top:3px}
.st.clay{background:var(--clay);color:#FFF4EC}.st.gold{background:var(--gold);color:var(--night)}.st.teal{background:var(--teal);color:var(--on-night)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;color:var(--ink-3);margin-bottom:22px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--teal)}
.nav a[aria-current="page"]{color:var(--teal)}
.nav a[aria-current="page"]::after{transform:scaleX(1)}
.hdr.on-night .nav a[aria-current="page"]{color:var(--gold-hi)}

/* page hero */
.phero{position:relative;overflow:clip;padding-block:clamp(36px,5vw,72px) clamp(56px,7vw,100px)}
.phero-grid{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
@media(min-width:960px){.phero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ph1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.7rem,5.6vw,5.2rem);line-height:.95;letter-spacing:-.016em;margin-top:16px;text-wrap:balance}
.ph1 em{font-style:italic;color:var(--teal)}
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.pchips li{font-family:var(--f-tape);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px 5px;border-radius:999px;color:var(--teal);box-shadow:inset 0 0 0 1px rgba(0,75,73,.25);background:rgba(255,255,255,.4)}
.phero-vis{position:relative;min-width:0}
.motion .phero-copy>*{animation:fadeup .9s var(--ease) both}
.motion .phero-copy>*:nth-child(2){animation-delay:.06s}.motion .phero-copy>*:nth-child(3){animation-delay:.12s}
.motion .phero-copy>*:nth-child(4){animation-delay:.2s}.motion .phero-copy>*:nth-child(5){animation-delay:.28s}.motion .phero-copy>*:nth-child(6){animation-delay:.36s}
@keyframes fadeup{from{opacity:0;transform:translateY(18px)}}

/* sections */
.sec{position:relative;padding-block:clamp(72px,9vw,128px)}
.sec.night{background:var(--night)}
.sec-head{max-width:46rem}
.sec-head .h2{margin-top:14px}
.sec-intro{margin-top:16px;color:var(--ink-2);max-width:38em;font-size:1.02rem}
.night .sec-intro{color:var(--on-night-2)}
.reveal{opacity:1}
.motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.motion .reveal.in{opacity:1;transform:none}

/* light and night card grids */
.bento-l,.bento-n{margin-top:clamp(28px,4vw,48px);display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.bento-l,.bento-n{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.bento-l.n6,.bento-n.n6{grid-template-columns:repeat(3,minmax(0,1fr))}.bento-l.n4,.bento-n.n4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.lcard{position:relative;border-radius:22px;padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:10px;overflow:hidden;isolation:isolate}
.bento-l .lcard{background:var(--paper);box-shadow:0 0 0 1px var(--line),0 20px 40px -32px rgba(19,32,30,.4)}
.bento-n .lcard{background:linear-gradient(180deg,rgba(238,232,219,.065),rgba(238,232,219,.02));box-shadow:inset 0 0 0 1px var(--line-night)}
.lcard .ln{font-family:var(--f-tape);font-weight:700;font-size:.82rem;letter-spacing:.14em;color:var(--gold-lo)}
.bento-n .lcard .ln{color:var(--gold-hi)}
.lcard h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,2vw,1.95rem);line-height:1.02}
.lcard p{color:var(--ink-2);font-size:.95rem}
.bento-n .lcard p{color:var(--on-night-2)}
.bento-l .spot::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(0,75,73,.08),transparent 60%)}
.bento-l .spot::after{background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),rgba(0,75,73,.55),transparent 62%)}

/* process steps on a tape */
.tsteps{margin-top:clamp(34px,4vw,56px);display:grid;gap:22px;position:relative;counter-reset:s}
@media(min-width:900px){.tsteps{grid-template-columns:repeat(4,1fr);gap:26px;padding-top:58px}
  .tsteps::before{content:"";position:absolute;left:0;right:0;top:12px;height:30px;border-radius:3px;background:repeating-linear-gradient(90deg,#1D1B16 0 1px,transparent 1px 12px) 0 0/100% 9px no-repeat,repeating-linear-gradient(90deg,#1D1B16 0 1px,transparent 1px 60px) 0 0/100% 15px no-repeat,#F3EBD3;box-shadow:inset 0 -1px 0 #C9BA8E,0 14px 24px -14px rgba(0,0,0,.6)}}
.tsteps li{position:relative}
.tsteps .tn{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--night);border:2px solid var(--gold);font-family:var(--f-tape);font-weight:700;color:var(--gold-hi);position:relative;z-index:1}
@media(min-width:900px){.tsteps .tn{position:absolute;top:-58px;left:0}}
.tsteps h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1;margin-top:10px}
.tsteps p{margin-top:8px;color:var(--on-night-2);font-size:.95rem}

/* plans page */
.pstack{position:relative;height:clamp(330px,36vw,470px);max-width:560px;margin:24px auto 0}
.pstack img,.pstack figure{position:absolute;border-radius:14px;box-shadow:0 30px 60px -30px rgba(19,32,30,.6),0 0 0 1px rgba(19,32,30,.08);background:#fff}
.pstack img{height:auto}
.ps3{width:38%;right:0;top:0;rotate:7deg}
.ps2{width:38%;right:17%;top:5%;rotate:-4deg}
.ps1{width:70%;left:0;bottom:4%;margin:0;overflow:hidden;rotate:-2deg}
.ps1 img{position:static;width:100%;height:auto;border-radius:0;box-shadow:none}
.ps1 figcaption{font-size:.76rem;color:var(--ink-3);padding:8px 12px;background:#fff}
.pst-tag{position:absolute;right:4%;bottom:0;rotate:5deg}
.motion .pstack>*{animation:stackin 1s var(--ease) both}
.motion .ps2{animation-delay:.12s}.motion .ps1{animation-delay:.24s}.motion .pst-tag{animation-delay:.5s}
@keyframes stackin{from{opacity:0;translate:0 40px}}
.tape28{padding-block:clamp(10px,2vw,24px) clamp(40px,5vw,70px)}
.tape28 .mtape{margin-top:10px}
.curs{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:999px;background:var(--bone-2);box-shadow:inset 0 1px 3px rgba(19,32,30,.14)}
.cur-b{appearance:none;-webkit-appearance:none;border:0;background:none;font:600 .82rem var(--f-tape);letter-spacing:.12em;padding:9px 13px;border-radius:999px;color:var(--ink-2);cursor:pointer;transition:background .3s,color .3s}
.cur-b[aria-pressed="true"]{background:var(--teal);color:var(--on-night)}
.paynote{margin-top:22px;font-size:.9rem;color:var(--ink-2);max-width:60em}
.paynote b{color:var(--ink)}
.sample{padding-block:clamp(72px,9vw,120px);background:var(--bone)}
.sp-row{margin-top:clamp(28px,4vw,44px);overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x mandatory}
.sp-track{display:flex;gap:18px;width:max-content;padding:8px var(--gutter) 18px}
.sp-track li{flex:none;width:clamp(220px,22vw,300px);scroll-snap-align:start}
.sp-c{all:unset;box-sizing:border-box;display:block;width:100%;aspect-ratio:1075/1521;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 26px 44px -28px rgba(19,32,30,.6),0 0 0 1px var(--line);cursor:zoom-in;transition:transform .45s var(--ease)}
.sp-c img{width:100%;height:100%;object-fit:cover}
.sp-c:hover{transform:translateY(-6px) rotate(.6deg)}
.sp-c:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.sp-n{margin-top:8px;font-family:var(--f-tape);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;color:var(--ink-3)}

/* about */
.emb{position:relative;width:min(440px,80vw);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.emb-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin360 46s linear infinite}
.emb-ring text{font-family:var(--f-tape);font-weight:600;font-size:11.5px;letter-spacing:1px;fill:var(--teal)}
.emb-tile{width:62%;height:auto;overflow:visible;filter:drop-shadow(0 30px 40px rgba(0,43,41,.35))}
@keyframes spin360{to{transform:rotate(360deg)}}
.story-grid,.what-grid,.work-grid{display:grid;gap:clamp(28px,4vw,60px)}
@media(min-width:960px){.story-grid,.what-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.work-grid{grid-template-columns:1.2fr .8fr;align-items:end}}
.story-text p,.what-text p{font-size:1.06rem;color:var(--ink-2);max-width:36em}
.story-text p+p,.what-text p+p{margin-top:16px}
.dropcap::first-letter{float:left;font-family:var(--f-display);font-size:4.6em;line-height:.8;margin:.06em .1em 0 0;color:var(--teal)}
.mvg-grid{margin-top:clamp(28px,4vw,48px);display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.mvg-grid article{border-radius:22px;padding:clamp(20px,2.4vw,30px);box-shadow:inset 0 0 0 1px var(--line-night);background:linear-gradient(180deg,rgba(238,232,219,.06),rgba(238,232,219,.015))}
.mvg-grid article p:last-child{margin-top:12px;color:var(--on-night-2)}
.bigq{margin-top:clamp(40px,6vw,80px);text-align:center}
.bigq p{font-family:var(--f-display);font-style:italic;font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.08;color:var(--gold-hi);max-width:22em;margin-inline:auto;text-wrap:balance}
.person{margin-top:clamp(28px,4vw,48px);display:grid;gap:clamp(22px,3vw,48px);align-items:start}
@media(min-width:960px){.person{grid-template-columns:.85fr 1.15fr}}
.person+.person{padding-top:clamp(28px,4vw,48px);border-top:1px solid var(--line)}
.person-card{border-radius:22px;background:var(--paper);box-shadow:0 0 0 1px var(--line),0 30px 50px -40px rgba(19,32,30,.5);padding:14px}
.pc-band{display:flex;align-items:center;gap:16px;border-radius:14px;background:var(--teal);color:var(--on-night);padding:18px}
.pc-mono{flex:none;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-family:var(--f-display);font-size:1.6rem;color:var(--gold-hi);box-shadow:inset 0 0 0 1.5px rgba(212,175,55,.65)}
.pc-band h3{font-family:var(--f-display);font-weight:400;font-size:1.7rem;line-height:1}
.pc-band p{font-size:.86rem;opacity:.86;margin-top:4px}
.person-card .pc-list{padding:6px 8px 4px}
.person-card .pc-list>div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.person-card .pc-list>div:last-child{border-bottom:0}
.person-card dd{font-size:.92rem;color:var(--ink-2)}
.person-text p{font-size:1.04rem;color:var(--ink-2);max-width:38em}
.person-text p+p{margin-top:14px}
.workwith{background:var(--paper)}

/* reviews */
.pfan{position:relative;height:clamp(420px,46vw,560px);max-width:560px;margin-inline:auto}
.pf{position:absolute;top:4%;width:42%;aspect-ratio:600/1301;padding:7px;border-radius:26px;background:var(--night);box-shadow:0 36px 60px -30px rgba(19,32,30,.7),inset 0 0 0 1px rgba(212,175,55,.4)}
.pf img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:20px}
.pf.r1{left:2%;rotate:-9deg;top:9%}.pf.r2{left:29%;z-index:2}.pf.r3{right:2%;rotate:8deg;top:10%}
.motion .pf{animation:stackin 1s var(--ease) both}.motion .pf.r2{animation-delay:.12s}.motion .pf.r3{animation-delay:.24s}
.wallsec{background:var(--bone)}
.wall{margin-top:clamp(28px,4vw,48px);display:grid;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.rv-c.rv-full{aspect-ratio:600/1301}
.rv-c.rv-full img{object-position:top}
.wall-end{margin-top:clamp(40px,5vw,64px);text-align:center}
.wall-end p{font-family:var(--f-display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15;max-width:24em;margin-inline:auto}
.wall-end .actions{justify-content:center}

/* PCOS */
.gcard{border-radius:24px;background:var(--night);color:var(--on-night);padding:clamp(18px,2.4vw,28px);box-shadow:0 40px 70px -40px rgba(7,23,21,.85)}
.gcard figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gtag{font-family:var(--f-tape);font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px 3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-night);color:var(--on-night-2)}
.gcard svg{display:block;width:100%;height:auto;margin-top:14px;overflow:visible}
.ggrid path{stroke:rgba(238,232,219,.1);stroke-width:1}
.gx text{font-family:var(--f-tape);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;fill:rgba(238,232,219,.45)}
.gspike{fill:none;stroke:rgba(238,232,219,.42);stroke-width:2.6;stroke-dasharray:.012 .012}
.gsteady{fill:none;stroke:#F0D67A;stroke-width:3.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 8px rgba(240,214,122,.35))}
.motion .gsteady{animation:draw 2.4s .5s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:1}}
.glegend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.84rem;color:var(--on-night-2)}
.glegend i{display:inline-block;width:22px;height:3px;border-radius:2px;margin-right:8px;vertical-align:middle}
.glegend .ls{background:repeating-linear-gradient(90deg,rgba(238,232,219,.5) 0 4px,transparent 4px 7px)}.glegend .lg{background:#F0D67A}
.stat{margin-top:28px;display:flex;gap:16px;align-items:baseline;max-width:30em}
.stat b{font-family:var(--f-display);font-weight:400;font-size:clamp(3.4rem,6vw,5.4rem);line-height:.9;color:var(--teal);flex:none}
.stat span{color:var(--ink-2);font-size:.95rem}
.pq{margin-top:28px;padding:22px 24px;border-radius:18px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.pq p{font-family:var(--f-display);font-style:italic;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.22;color:var(--ink)!important;max-width:none!important}
.pq cite{display:block;margin-top:12px;font-style:normal;font-family:var(--f-tape);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;color:var(--gold-lo)}

/* weight */
.bigdial{position:relative;display:grid;place-items:center;padding-block:10px 40px}
.bigdial .dialwrap{--dw:clamp(250px,32vw,400px)}
.bigdial .dl-n{font-size:9px}
.bigdial .dial-cap{font-size:1.25rem;padding:3px 12px 1px}
.bigdial .dial-sub{font-size:.85rem;color:var(--ink-2);margin-top:14px}
.bd-tag{position:absolute;right:2%;top:6%;rotate:6deg}
.quotes{margin-top:clamp(28px,4vw,48px);display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.qcard{position:relative;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,rgba(238,232,219,.07),rgba(238,232,219,.02));box-shadow:inset 0 0 0 1px var(--line-night);overflow:hidden;isolation:isolate}
.qpill{align-self:flex-start;font-family:var(--f-tape);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 3px;border-radius:999px;background:var(--gold);color:var(--night)}
.qcard blockquote p{font-family:var(--f-display);font-size:1.28rem;line-height:1.2;color:var(--on-night)}
.qname{margin-top:auto;display:flex;align-items:center;gap:7px;font-size:.88rem;color:var(--on-night-2)}
.more-l{margin-top:28px}.more-l .ulink{color:var(--on-night)}

/* family */
.platefig{margin:0}
.plates{display:block;width:100%;height:auto;overflow:visible}
.flow path{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round;opacity:.8}
.motion .flow path{animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-24}}
.pot-shadow{fill:rgba(19,32,30,.15)}
.pot-body{fill:#0B4A47}
.pot-rim{fill:none;stroke:#D4AF37;stroke-width:6}
.pot-daal{fill:#E2A93B}
.pl-rim{fill:#E9DFC9;stroke:#C9B98F;stroke-width:1.5}
.pl-well{fill:#F8F3E7}
.pl-veg{fill:#6FA94F}.pl-pro{fill:#D9A93A}.pl-carb{fill:#C8755A}
.plate path{stroke:#F8F3E7;stroke-width:2.5}
.pl-t{font-family:var(--f-display);font-size:22px;fill:var(--ink);text-anchor:middle}
.pl-s{font-family:var(--f-tape);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;fill:var(--ink-3);text-anchor:middle}
.motion .plate{animation:platein .8s var(--ease) both;animation-delay:calc(.3s + var(--i)*.15s);transform-box:fill-box;transform-origin:center}
@keyframes platein{from{opacity:0;transform:translateY(20px) scale(.92)}}
.plegend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:10px;font-size:.84rem;color:var(--ink-2)}
.plegend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.plegend .lv{background:#6FA94F}.plegend .lp{background:#D9A93A}.plegend .lc{background:#C8755A}
.plegend .ill{color:var(--ink-3);font-style:italic}
.mailnote{color:var(--on-night-2);font-size:.92rem}

/* legal */
.lhero{padding-block:clamp(36px,5vw,64px) clamp(24px,3vw,40px)}
.lmeta{margin-top:18px;color:var(--ink-3);font-size:.88rem}
.lbody{padding-bottom:clamp(70px,9vw,120px)}
.lgrid{display:grid;gap:36px;align-items:start}
@media(min-width:980px){.lgrid{grid-template-columns:260px minmax(0,1fr);gap:64px}.ltoc{position:sticky;top:92px}}
.ltoc{border-radius:18px;background:var(--paper);box-shadow:0 0 0 1px var(--line);padding:18px 20px}
.ltoc .bk{color:var(--gold-lo)}
.ltoc ol{margin-top:10px;display:grid;gap:7px;list-style:decimal;padding-left:20px;font-size:.88rem;color:var(--ink-3)}
.ltoc a{text-decoration:none;color:var(--ink-2)}.ltoc a:hover{color:var(--teal)}
.ldoc{max-width:46em;min-width:0;color:var(--ink-2);font-size:1rem}
.ldoc .legal-h{display:flex;gap:14px;align-items:baseline;font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.05;color:var(--ink);margin-top:48px;scroll-margin-top:90px}
.ldoc .legal-h:first-child{margin-top:0}
.ldoc .legal-h span{font-family:var(--f-tape);font-weight:700;font-size:.9rem;letter-spacing:.12em;color:var(--gold-lo)}
.ldoc h3{font-family:var(--f-tape);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.86rem;color:var(--ink);margin-top:24px}
.ldoc p,.ldoc ul,.ldoc ol{margin-top:12px}
.ldoc ul{list-style:disc;padding-left:22px;display:grid;gap:8px}
.ldoc ol{list-style:decimal;padding-left:22px;display:grid;gap:8px}
.ldoc strong{color:var(--ink);font-weight:600}
.ldoc a{color:var(--teal)}
.ldoc .legal-table-wrap{margin-top:16px;overflow-x:auto;border-radius:14px;box-shadow:0 0 0 1px var(--line)}
.ldoc table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.ldoc th,.ldoc td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.ldoc th{font-weight:600;color:var(--ink);background:var(--paper);width:36%}
.ldoc tr:last-child th,.ldoc tr:last-child td{border-bottom:0}
.ldoc .legal-callout{margin-top:18px;padding:16px 18px;border-radius:14px;background:rgba(212,175,55,.12);box-shadow:inset 3px 0 0 var(--gold)}
.ldoc .legal-callout p:first-child{margin-top:0}

@media(max-width:600px){.contact-lines li{grid-template-columns:1fr;gap:2px}.pstack{height:330px}.pfan{height:400px}.bd-tag{right:0;top:0}}

/* services */
.jumpbar{position:sticky;top:68px;z-index:30;background:rgba(244,240,232,.97);border-block:1px solid var(--line)}
.jump{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:none;font-family:var(--f-tape);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:7px 13px 6px;border-radius:999px;color:var(--teal);box-shadow:inset 0 0 0 1px rgba(0,75,73,.25)}
.jump a:hover{background:var(--teal);color:var(--on-night)}
.svc{scroll-margin-top:120px}
.svc .bento-l,.svc .bento-n{margin-top:clamp(36px,5vw,56px)}
.night .what-text p{color:var(--on-night-2)}
.night .stat b{color:var(--gold-hi)}
.night .stat span{color:var(--on-night-2)}
.biz{background:var(--paper)}
.biz .actions{margin-top:30px}

/* plans: your plan at a glance */
.glance{background:var(--bone);scroll-margin-top:80px}
.gl-grid{margin-top:clamp(30px,4vw,52px);display:grid;gap:clamp(18px,2.4vw,30px);grid-template-columns:1fr}
@media(min-width:860px){.gl-grid{grid-template-columns:1fr 1.3fr 1fr;align-items:start}.gl-i:not(.gl-main){margin-top:clamp(30px,5vw,70px)}}
.gl-i .sp-c{aspect-ratio:auto;border-radius:12px}
.gl-i .sp-c img{height:auto;object-fit:contain}
.gl-main .sp-c{box-shadow:0 40px 70px -36px rgba(19,32,30,.7),0 0 0 1px var(--line)}
.gl-cap{margin-top:14px}
.gl-tag{display:inline-block;font-family:var(--f-tape);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px 3px;border-radius:999px;background:var(--teal);color:var(--on-night)}
.gl-cap h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1;margin-top:10px}
.gl-cap p:last-child{margin-top:6px;color:var(--ink-2);font-size:.92rem;max-width:30em}
.ps1.gl{width:52%;left:2%;bottom:0;rotate:-3deg;background:#fff}
.ps1.gl img{display:block}

/* plans: How it works on the 28-day tape */
.tape-steps{margin-top:clamp(30px,4vw,48px)}
.night .mtape-cap{color:var(--on-night-2)}
.steps4{margin-top:clamp(28px,3.4vw,44px);display:grid;gap:26px}
@media(min-width:900px){.steps4{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}}
.steps4 li{padding-top:18px;border-top:1px solid var(--line-night)}
.steps4 .tn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--night);border:2px solid var(--gold);font-family:var(--f-tape);font-weight:700;color:var(--gold-hi)}
.steps4 h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1;margin-top:12px}
.steps4 p{margin-top:8px;color:var(--on-night-2);font-size:.95rem}

/* about: Nida's photo on her card */
.pc-pic{margin:0 0 12px;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:#EDE6D6}
.pc-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

@media(min-width:960px){.person{grid-template-columns:minmax(0,380px) minmax(0,1fr)}}
@media(max-width:700px){.mtape svg{min-width:0}}

/* currency switch */
.cur-switch .sw-opt{font-family:var(--f-tape);letter-spacing:.12em;font-size:.9rem;padding:10px 26px}
.cur-switch[data-cur="usd"] .sw-knob{transform:translateX(100%)}

/* reviewer byline and source links */
.reviewed{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.84rem;color:var(--ink-3)}
.reviewed svg{width:16px;height:16px;flex:none}
.reviewed a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
a.src{color:inherit;text-decoration:underline;text-decoration-color:rgba(212,175,55,.75);text-underline-offset:3px}
a.src:hover{text-decoration-color:currentColor}

/* reviews page */
.rvfan{position:relative;height:clamp(380px,40vw,520px);max-width:500px;margin:4px auto 0}
.rvph{position:absolute;width:42%;aspect-ratio:3/5.3;padding:7px;border-radius:26px;background:var(--night);box-shadow:0 30px 60px -28px rgba(19,32,30,.7),inset 0 0 0 1px rgba(212,175,55,.35)}
.rvph img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;border-radius:20px;background:#ECE5DD}
.rvph.p1{left:0;top:13%;rotate:-8deg}
.rvph.p2{left:29%;top:0;rotate:1deg;z-index:2}
.rvph.p3{right:0;top:13%;rotate:8deg}
.rvfan .pst-tag{right:auto;left:50%;bottom:1%;translate:-50% 0;rotate:-3deg;z-index:3}
.motion .rvfan>*{animation:stackin 1s var(--ease) both}
.motion .rvph.p2{animation-delay:.12s}.motion .rvph.p3{animation-delay:.24s}.motion .rvfan .pst-tag{animation-delay:.5s}
.rvwall{padding-top:clamp(40px,5vw,72px)}
.rvgrid{list-style:none;margin:clamp(30px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,214px),1fr));gap:clamp(30px,3.4vw,46px) clamp(16px,2vw,26px)}
.rvg-i figure{margin:0;display:flex;flex-direction:column;height:100%}
.rvg-i figcaption{display:flex;flex-direction:column;flex:1}
.rvg-i blockquote{margin:16px 2px 0;font-family:var(--f-display);font-size:1.16rem;line-height:1.24;color:var(--ink);text-wrap:pretty}
.rvg-i .rv-n{margin-top:auto;padding-top:10px;font-family:var(--f-tape);font-size:.86rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.rvclose{background:var(--paper)}
@media(max-width:600px){.rvgrid{grid-template-columns:1fr 1fr;gap:28px 12px}.rvg-i blockquote{font-size:1rem}.rvfan{height:380px}}
.rvg-i .rv-gl{margin:6px 2px 0;font-size:.84rem;line-height:1.4;color:var(--ink-3)}

/* tables: plan comparison and blog guides */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
.tbl table{width:100%;border-collapse:collapse;font-size:.93rem;line-height:1.45}
.tbl th,.tbl td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl tr:last-child>*{border-bottom:0}
.tbl thead th{font-family:var(--f-tape);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:var(--teal);background:rgba(0,75,73,.06)}
.cmp{margin-top:clamp(44px,5vw,68px)}
.cmp-h{font-family:var(--f-display);font-weight:400;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1;margin-bottom:20px;text-wrap:balance}
.cmp-h em{color:var(--teal)}
.ctable{min-width:600px}
.ctable tbody th{font-weight:500;color:var(--ink)}
.ctable td{width:27%;color:var(--ink-2)}
.ctable thead th:nth-child(3){color:var(--gold-lo)}
.ck{display:inline-block;width:13px;height:7px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:translateY(-3px) rotate(-45deg)}
.nx{display:inline-block;width:12px;height:2px;background:var(--clay);opacity:.65;vertical-align:middle}
.readnext{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;font-size:.95rem}
.readnext span{font-family:var(--f-tape);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--ink-3)}
.readnext a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.night .readnext span{color:var(--on-night-2)}.night .readnext a{color:var(--gold-hi)}

/* blog: index */
.bcover{position:relative;max-width:440px;margin:6px auto 0;padding:14px 0 46px}
.bc-paper{position:relative;background:var(--paper);border-radius:20px;padding:30px 28px 20px;rotate:-2deg;box-shadow:0 30px 60px -30px rgba(19,32,30,.45),inset 0 0 0 1px var(--line)}
.bc-paper::before{content:"";position:absolute;left:22px;right:22px;top:-10px;height:20px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(7,23,21,.55) 0 1.5px,transparent 1.5px 8px) 0 0/100% 7px no-repeat,var(--gold);box-shadow:0 6px 14px -8px rgba(143,110,30,.8)}
.bc-k{font-family:var(--f-tape);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:var(--teal)}
.bc-paper ol{margin-top:10px}
.bc-paper li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(19,32,30,.18);font-family:var(--f-display);font-size:1.4rem;line-height:1.1}
.bc-paper li:last-child{border-bottom:0}
.bc-paper li b{font-family:var(--f-tape);font-weight:600;font-size:.95rem;letter-spacing:.08em;color:var(--ink-3)}
.bcover .pst-tag{right:-4px;bottom:0;rotate:4deg}
.bchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.bchip{appearance:none;-webkit-appearance:none;border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);font:600 .8rem var(--f-tape);letter-spacing:.1em;text-transform:uppercase;padding:10px 15px;border-radius:999px;color:var(--ink-2);cursor:pointer;transition:background .3s,color .3s}
.bchip[aria-pressed="true"]{background:var(--teal);color:var(--on-night);box-shadow:none}
.bgrid{margin-top:clamp(22px,3vw,34px);display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.bpost{display:flex}
.bpost[hidden]{display:none}
.bc-in{display:flex;flex-direction:column;gap:10px;width:100%;padding:24px 24px 20px;border-radius:20px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.bc-in:hover{transform:translateY(-4px);box-shadow:0 24px 40px -26px rgba(19,32,30,.45),inset 0 0 0 1px rgba(0,75,73,.28)}
.bcat{font-family:var(--f-tape);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;color:var(--clay)}
.bc-in h3{font-family:var(--f-display);font-weight:400;font-size:1.8rem;line-height:1.04;text-wrap:balance}
.bdesc{font-size:.93rem;color:var(--ink-2)}
.bmeta{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:var(--ink-3)}
.bgo{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:600}
.bgo .arr{transition:transform .4s var(--ease)}.bc-in:hover .bgo .arr{transform:translateX(3px)}
@media(min-width:900px){.bpost.big{grid-column:span 2}.bpost.big .bc-in{background:var(--night);color:var(--on-night);padding:32px}
  .bpost.big h3{font-size:2.6rem}.bpost.big .bdesc{color:var(--on-night-2);font-size:1rem;max-width:34em}.bpost.big .bcat,.bpost.big .bgo{color:var(--gold-hi)}.bpost.big .bmeta{color:var(--on-night-2)}}
.brel{background:var(--paper)}
.brel .bc-in{background:var(--bone)}

/* blog: article */
.ahero{padding-block:clamp(30px,4.5vw,64px) clamp(24px,3vw,40px)}
.ahero-in{max-width:900px}
.ah1{font-size:clamp(2.5rem,5.2vw,4.5rem)}
.alede{font-size:clamp(1.06rem,1.4vw,1.24rem);color:var(--ink);max-width:40em}
.ameta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-family:var(--f-tape);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ameta a{color:var(--teal)}
.abody{padding-bottom:clamp(56px,7vw,96px)}
.agrid{display:grid;gap:clamp(32px,4vw,60px)}
@media(min-width:1040px){.agrid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}
.prose{max-width:720px;font-size:1.06rem;line-height:1.72;color:var(--ink);min-width:0}
.prose>*+*{margin-top:1.05em}
.prose h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.06;letter-spacing:-.01em;margin-top:1.8em;scroll-margin-top:100px;text-wrap:balance}
.prose h3{font-size:1.16rem;font-weight:600;margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--teal)}
.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose strong{font-weight:600}
.prose .tbl{margin-top:1.4em}
.prose .tbl table{min-width:540px;font-size:.92rem}
.takeaways{background:var(--paper);border-radius:18px;padding:20px 24px;box-shadow:inset 0 0 0 1px var(--line)}
.tk-h{font-family:var(--f-tape);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:var(--teal)}
.takeaways ul{margin-top:10px}
.prose .note{background:rgba(212,175,55,.15);border-left:3px solid var(--gold);border-radius:0 14px 14px 0;padding:14px 18px}
.disclaimer{margin-top:2.2em;padding:16px 20px;border-radius:14px;background:rgba(162,91,68,.08);font-size:.92rem;line-height:1.55;color:var(--ink-2)}
.asources h2{font-size:1.7rem}
.asources ol{font-size:.9rem;line-height:1.55;color:var(--ink-2)}
.asources a{overflow-wrap:anywhere}
.aaside{display:grid;gap:18px;align-content:start}
@media(min-width:1040px){.aaside{position:sticky;top:96px}}
@media(max-width:1039px){.toc{display:none}}
.toc{background:var(--paper);border-radius:18px;padding:18px 20px;box-shadow:inset 0 0 0 1px var(--line)}
.toc-h{font-family:var(--f-tape);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--teal)}
.toc ol{margin-top:10px;display:grid;gap:9px;counter-reset:t}
.toc li{counter-increment:t;display:grid;grid-template-columns:24px 1fr;font-size:.9rem;line-height:1.35}
.toc li::before{content:counter(t,decimal-leading-zero);font-family:var(--f-tape);font-size:.78rem;color:var(--ink-3);padding-top:2px}
.toc a{text-decoration:none;color:var(--ink-2)}.toc a:hover{color:var(--teal)}
.acard{background:var(--night);color:var(--on-night);border-radius:18px;padding:22px}
.acard-h{font-family:var(--f-display);font-size:1.7rem;line-height:1.04}
.acard-h em{color:var(--gold-hi)}
.acard p+p{margin-top:8px;font-size:.9rem;color:var(--on-night-2)}
.acard .cta{margin-top:16px}
@media(max-width:640px){.ctable{min-width:0;font-size:.84rem}.ctable th,.ctable td{padding:10px 9px}.ctable td{width:25%}}
.brel .bgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}

/* r10 layout: services topic bar stays on one swipeable line */
.jump li{flex:none}
.jump a{display:inline-block;white-space:nowrap}
/* r10 layout: plan comparison keeps prices on one line */
.ctable .c-pkr,.ctable .c-usd{white-space:nowrap}
/* r10 layout: on phones only wide (4+ column) guide tables scroll sideways */
@media(max-width:640px){.prose .tbl table{min-width:0}.prose .tbl table:has(th:nth-child(4)){min-width:540px}.prose .tbl th,.prose .tbl td{padding:11px 12px}}

/* blog: about this guide */
.abox{margin-top:2em;padding:18px 22px;border-radius:16px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);font-size:.95rem;line-height:1.6;color:var(--ink-2)}
.abox-h{font-family:var(--f-tape);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--teal)}
.abox p+p{margin-top:8px}

/* round 21: on wide screens the plans tape runs the full width, so day 28 lines up with step 04 */
.tape-steps .mt-wide{display:none}
@media(min-width:900px){.tape-steps .mt-wide{display:block;width:100%;max-width:none;min-width:0}.tape-steps .mt-narrow{display:none}}
/* sample plan pages: the notice, and no dragging or long-press saving */
.gl-note{margin-top:clamp(22px,3vw,34px);max-width:60em;font-size:.82rem;line-height:1.5;color:var(--ink-3)}
.gl-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.gl-grid img,.pstack img,.rv-box.sample img{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}
/* about: who said it */
.bigq figcaption{margin-top:18px;font-family:var(--f-tape);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-2)}
/* plans: the USD price points to the note under the table */
.pg-plans .pp .c-usd::after{content:"*"}

/* About: NutriZaika in brief, and client results */
.abf-grid{display:grid;gap:clamp(28px,4vw,60px)}
@media(min-width:960px){.abf-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.abf-grid>div:first-child{position:sticky;top:120px}}
.abf-list{margin:0;border-top:1px solid var(--line)}
.abf-list>div{display:grid;gap:4px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
@media(min-width:600px){.abf-list>div{grid-template-columns:9.5em 1fr}}
.abf-list dt{font-family:var(--f-tape);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lo);padding-top:3px}
.abf-list dd{margin:0;color:var(--ink-2)}
.abf-list dd b{color:var(--ink);font-weight:600}
.abf-res{margin-top:clamp(40px,5vw,64px)}
.abf-res h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.3rem,2vw,1.65rem);color:var(--ink)}
.abf-res ul{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:760px){.abf-res ul{grid-template-columns:repeat(4,1fr)}}
.abf-res li{background:var(--paper);border-radius:12px;padding:16px 16px 14px;box-shadow:0 0 0 1px var(--line)}
.abf-res li b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.5rem;line-height:1.1;color:var(--ink)}
.abf-res li span{display:block;margin-top:6px;font-size:.85rem;color:var(--ink-3)}
.abf-note{margin-top:14px;font-size:.88rem;color:var(--ink-3)}
/* city hub: six place cards sit in a 3 by 2 grid on wide screens */
.bgrid.places{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
