@font-face{font-family:"Sora";src:url(fonts/Sora-normal.woff2) format("woff2");font-weight:600 800;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/SourceSans3-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/SourceSans3-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Alegreya";src:url(fonts/Alegreya-italic.woff2) format("woff2");font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:"Alegreya";src:url(fonts/Alegreya-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --paper:#FAF9F5;--ink:#171717;--sand:#EEE8DD;--sand2:#F5F1EA;--label:#F0ECE0;--mid:#5E5E5A;--line:#E2DCCF;
  --forest:#0F2B24;--forest-d:#06110D;--forest-m:#223A34;--sage:#8FB0A5;
  --calm:#A699CA;--nude:#71A9DC;--ritual:#EDAEA2;--love:#E77D82;--spa:#7DC49C;--vacay:#C4987A;
  --h:"Sora","Manrope",system-ui,sans-serif;--b:"Source Sans 3","Source Sans Pro",system-ui,sans-serif;--s:"Alegreya",Georgia,serif;
  --acc:#7DC49C;--measure:44rem;--wide:74rem;--pad:1.25rem;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.1875rem/1.58 var(--b);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#1F5F95;text-underline-offset:.15em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid #1F5F95;outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--h);color:var(--ink);margin:0}
h2{font-weight:800;font-size:clamp(2rem,6.4vw,3.25rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
h3{font-weight:700;font-size:clamp(1.35rem,3.6vw,1.75rem);line-height:1.18;letter-spacing:-.015em;margin:2.6rem 0 .8rem;text-wrap:balance}
h4{font-weight:700;font-size:.95rem;line-height:1.3;margin:1.4rem 0 .45rem;letter-spacing:-.005em}
p{margin:0 0 1rem}
strong,b{font-weight:700}
ul,ol{padding-left:1.2rem;margin:0 0 1rem}
li{margin:.25rem 0}
.small{font-size:.9rem}
.serif{font-family:var(--s);font-style:italic}
.tag{display:inline-block;font:700 .7rem/1 var(--h);letter-spacing:.08em;text-transform:uppercase;padding:.3rem .5rem;border-radius:3px;background:var(--ink);color:#fff;vertical-align:.15em}
.tag.est{background:#8A5A2B}.tag.prop{background:#1F5F95}.tag.fact{background:#2E6B4F}

/* ---------- top bar + nav */
.topbar{position:sticky;top:0;z-index:30;background:rgba(250,249,245,.94);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;gap:.75rem;padding:.55rem var(--pad);max-width:90rem;margin:0 auto}
.topbar .logo{width:84px;flex:0 0 auto}
.topbar .now{margin:0;flex:1;min-width:0;font:600 .82rem/1.2 var(--h);color:var(--mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .now b{color:var(--ink)}
.toc-btn{font:700 .82rem/1 var(--h);background:var(--ink);color:#fff;border:0;border-radius:999px;padding:.6rem .95rem;cursor:pointer;flex:0 0 auto}
.progress{height:3px;background:transparent}
.progress i{display:block;height:100%;width:0;background:var(--acc-now,var(--spa));transition:width .1s linear}
.toc-sheet{position:fixed;inset:0;z-index:40;background:var(--paper);overflow:auto;padding:1rem var(--pad) 3rem;display:none}
.toc-sheet.open{display:block}
.toc-sheet .close{position:sticky;top:0;margin-left:auto;display:block}
.toc{list-style:none;padding:0;margin:1rem 0 0}
.toc li{margin:0}
.toc a{display:flex;gap:.8rem;align-items:baseline;padding:.7rem 0 .7rem .9rem;border-left:6px solid var(--c,#ccc);text-decoration:none;color:var(--ink);font:600 1.02rem/1.3 var(--h);margin:.3rem 0}
.toc a span{font:700 .78rem/1 var(--h);color:var(--mid);min-width:1.6rem}
.toc a[aria-current="true"]{background:var(--sand)}
.side{display:none}
@media (min-width:1200px){
  .layout{display:grid;grid-template-columns:15.5rem minmax(0,1fr);gap:0}
  .side{display:block;position:sticky;top:3.6rem;align-self:start;height:calc(100vh - 3.6rem);overflow:auto;padding:1.5rem 1rem 2rem 1.25rem;border-right:1px solid var(--line)}
  .side .toc a{font-size:.88rem;padding:.42rem 0 .42rem .7rem;border-left-width:4px;margin:.15rem 0}
  .toc-btn{display:none}
}

/* ---------- page structure */
main{min-width:0}
.ch{padding:4.5rem var(--pad) 3rem;border-top:1px solid var(--line)}
.ch>*{max-width:var(--wide);margin-left:auto;margin-right:auto}
.prose{max-width:var(--measure)!important;margin-left:auto;margin-right:auto}
.ch-h{position:relative;padding-left:1.35rem;margin-bottom:2.2rem!important;max-width:var(--wide)}
.ch-h::before{content:"";position:absolute;left:0;top:.2rem;bottom:.2rem;width:9px;background:var(--acc)}
.eyebrow{font:700 .78rem/1.2 var(--h);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab,var(--acc) 58%,#171717);margin:0 0 .9rem}
.lede{font-size:1.28rem;line-height:1.5;color:#2a2a28;max-width:44rem;margin-top:1rem}
.cols2{display:grid;gap:1.6rem}
@media (min-width:860px){.cols2{grid-template-columns:1fr 1fr;gap:2.4rem}}
.cols3{display:grid;gap:1.2rem}
@media (min-width:760px){.cols3{grid-template-columns:repeat(3,1fr)}}
.note{background:var(--sand2);border-left:6px solid var(--acc);padding:1rem 1.15rem;margin:1.4rem 0;font-size:1.02rem}
.note p:last-child{margin:0}
.guard{background:#FFF4E8;border-left:6px solid #C9733A;padding:.8rem 1rem;font-size:.98rem}

/* ---------- cover */
.cover{padding:1.5rem var(--pad) 3rem;background:var(--paper)}
.cover-in{max-width:var(--wide);margin:0 auto;display:grid;gap:2rem;align-items:center}
@media (min-width:980px){.cover-in{grid-template-columns:1fr 1fr;gap:3.5rem;min-height:calc(100vh - 6rem)}}
.cover .brandlogo{width:min(46vw,250px);margin:1rem 0 2.2rem}
.cover .eyebrow{color:#3f6f5c}
.cover h1{font-weight:800;font-size:clamp(2.25rem,7.4vw,3.7rem);line-height:1.03;letter-spacing:-.03em;text-wrap:balance}
.cover .pos{font-family:var(--s);font-style:italic;font-size:clamp(1.35rem,3.6vw,1.8rem);line-height:1.38;margin:1.6rem 0 1.4rem;max-width:34rem}
.cover .meta{font-size:.95rem;color:var(--mid)}
.cover-photo{position:relative}
.cover-photo img{border-radius:4px;width:100%}
.cover-photo .lid{position:absolute;right:-.4rem;bottom:-2.4rem}
.scentstrip{display:flex;height:10px;margin-top:2rem;max-width:22rem}
.scentstrip i{flex:1}

/* ---------- lid quote device */
.lid{--ring:var(--calm);margin:0;width:15.5rem;aspect-ratio:1;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.6rem 2.1rem 1.9rem;position:relative;box-shadow:0 1px 0 rgba(23,23,23,.06),0 10px 30px -18px rgba(23,23,23,.35)}
.lid::before{content:"";position:absolute;inset:.55rem;border-radius:50%;border:7px solid var(--ring)}
.lid blockquote{margin:0}
.lid p{font:600 1.02rem/1.25 var(--h);letter-spacing:-.01em;margin:0}
.lid figcaption{font:400 .78rem/1.2 var(--b);color:var(--mid);margin-top:.55rem}
.lid .lid-mark{font:800 .95rem/1 var(--h);margin-top:.7rem;letter-spacing:-.02em}
.lid-sm{width:12.5rem;padding:2rem 1.7rem 1.5rem}
.lid-sm p{font-size:.88rem}
.lids{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin:2rem auto}

/* ---------- summary */
.sum{display:grid;gap:0;counter-reset:s;margin-top:1rem}
.sum li{list-style:none;display:grid;grid-template-columns:2.4rem 1fr;gap:.6rem;padding:1.15rem 0;border-top:1px solid var(--line)}
.sum li::before{counter-increment:s;content:counter(s);font:800 1.4rem/1 var(--h);color:color-mix(in oklab,var(--acc) 58%,#171717)}
.sum b{font-family:var(--h);font-weight:700}
@media (min-width:900px){.sum{grid-template-columns:1fr 1fr;column-gap:3rem}}

/* ---------- stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.6rem 0}
@media (min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--sand2);padding:1rem 1rem .9rem;border-top:5px solid var(--acc)}
.stat b{display:block;font:800 1.9rem/1.05 var(--h);letter-spacing:-.02em}
.stat span{font-size:.9rem;color:#3c3c39;line-height:1.35;display:block;margin-top:.35rem}

/* ---------- tables */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2rem 0 1.6rem;border:1px solid var(--line);background:#fff}
.tbl{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.4}
.tbl th,.tbl td{padding:.62rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{background:var(--sand);font:700 .8rem/1.25 var(--h);letter-spacing:.01em;position:sticky;top:0}
.tbl tbody tr:nth-child(even) td,.tbl tbody tr:nth-child(even) th{background:#FCFBF8}
.tbl.wide{min-width:46rem}
.tbl.xwide{min-width:62rem}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl.small{font-size:.85rem}
.tbl .hl td{background:#FFF3F3!important;font-weight:600}

/* ---------- details (deep dives) */
details.deep{margin:.55rem 0;background:var(--sand2);border-radius:4px}
details.deep>summary{cursor:pointer;list-style:none;padding:.8rem 2.6rem .8rem 1rem;font:700 .92rem/1.35 var(--h);position:relative}
details.deep>summary::-webkit-details-marker{display:none}
details.deep>summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-52%);font:400 1.5rem/1 var(--h);color:var(--mid)}
details.deep[open]>summary::after{content:"–"}
details.deep[open]>summary{border-bottom:1px solid var(--line)}
.deep-in{padding:1rem 1rem .4rem;font-size:1rem;overflow-x:auto}
.deep-in table{border-collapse:collapse;font-size:.88rem;line-height:1.38;min-width:38rem;background:#fff}
.deep-in th,.deep-in td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left;vertical-align:top}
.deep-in th{background:var(--sand)}
.deep-in h3{font-size:1.15rem;margin:1.2rem 0 .5rem}
details.tableview{margin-top:.4rem}
details.tableview summary{cursor:pointer;font:600 .82rem/1.2 var(--h);color:var(--mid)}
details.tableview .tbl{margin-top:.5rem;max-width:30rem}

/* ---------- charts */
.fig{margin:1.8rem 0;background:#fff;border:1px solid var(--line);padding:1rem 1rem .9rem}
.fig figcaption{font:700 .98rem/1.35 var(--h);margin-bottom:.8rem}
.chart{width:100%;height:auto;overflow:visible}
.chart .vl{font:500 13px var(--b);fill:#3a3a37}
.chart .vl.small{font-size:12px;fill:var(--mid)}
.chart .vv{font:700 13px var(--h);fill:var(--ink)}
.chart .vin{font:700 12px var(--h);fill:#fff}
.fignote{font-size:.86rem;color:var(--mid);margin:.7rem 0 .2rem;line-height:1.45}
.legend{list-style:none;padding:0;margin:0 0 .6rem;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.86rem}
.legend li{display:flex;align-items:center;gap:.4rem;margin:0}
.legend i{width:.8rem;height:.8rem;border-radius:2px;display:inline-block}
.tip{position:fixed;z-index:60;pointer-events:none;background:var(--ink);color:#fff;font:500 .82rem/1.35 var(--b);padding:.45rem .6rem;border-radius:4px;max-width:18rem;opacity:0;transition:opacity .08s}
.tip.on{opacity:1}

/* ---------- pain matrix */
.pm-legend{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.88rem;margin:.6rem 0}
.pm-legend li{display:flex;align-items:center;gap:.4rem;margin:0}
.pm-legend i{width:1.1rem;height:1.1rem;display:inline-block;border:1px solid var(--line)}
.pm-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch}
.pm{border-collapse:separate;border-spacing:2px;font-size:.84rem;min-width:52rem}
.pm th,.pm td{padding:0}
.pm thead th{font:700 .72rem/1.1 var(--h);height:4.8rem;vertical-align:bottom;padding:.3rem .1rem}
.pm thead th span{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block}
.pm .pm-pain{text-align:left;font:500 .84rem/1.25 var(--b);padding:.4rem .6rem .4rem .4rem;min-width:10.5rem;max-width:16rem;position:sticky;left:0;background:#fff;z-index:1}
.pm tbody td{width:2.2rem;height:2.2rem;text-align:center;font-size:.72rem}
.pm td.s3,.pm-legend i.s3{background:#1E5C45;color:#fff}
.pm td.s2,.pm-legend i.s2{background:#7FB39B;color:#0d2a20}
.pm td.s1,.pm-legend i.s1{background:#E3EDE7;color:#3d5a4d}
.pm td.s0,.pm-legend i.s0{background:#FBFAF7}
.pm td.pm-site{width:auto;text-align:left;font:600 .78rem/1.2 var(--h);padding:0 .6rem;white-space:nowrap}
.pm-site.said{color:#2E6B4F}.pm-site.feat{color:#8A5A2B}.pm-site.never{color:#B23A43}
.pm-site .ico::before{display:inline-block;width:1.1rem}
.pm-site.said .ico::before{content:"✓"}.pm-site.feat .ico::before{content:"~"}.pm-site.never .ico::before{content:"✕"}
.cov{display:flex;gap:2px;margin:1.2rem 0;min-height:5rem}
.cov-seg{padding:.7rem .75rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-width:5.5rem}
.cov-seg b{font:800 1.9rem/1 var(--h)}.cov-seg span{font:600 .8rem/1.2 var(--h)}
.cov-seg.said{background:#2E6B4F}.cov-seg.feat{background:#B07A45}.cov-seg.never{background:#B23A43}

/* ---------- products */
.prod-index{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 .5rem}
.prod-index a{font:600 .82rem/1 var(--h);text-decoration:none;color:var(--ink);padding:.5rem .7rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--acc)}
.group-h{margin-top:3rem}
.prods{display:grid;gap:1.6rem}
.prod{display:grid;gap:0;background:#fff;border:1px solid var(--line)}
@media (min-width:860px){.prod{grid-template-columns:20rem 1fr}}
.prod-media{position:relative;background:#fff;padding:1rem}
.prod-media img{width:100%;aspect-ratio:1;object-fit:contain}
.labelbar{position:absolute;left:0;top:1rem;bottom:1rem;width:10px;display:flex;flex-direction:column}
.labelbar i{flex:1}
.prod-body{padding:1.2rem 1.2rem 1.4rem;border-top:1px solid var(--line)}
@media (min-width:860px){.prod-body{border-top:0;border-left:1px solid var(--line);padding:1.6rem 1.8rem}}
.prod-line{display:flex;justify-content:space-between;gap:1rem;font:700 .74rem/1 var(--h);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--acc) 55%,#171717);margin-bottom:.6rem}
.prod-line .role{letter-spacing:.04em;text-transform:none;font-weight:600;color:var(--mid)}
.prod h3{margin:0;font-size:1.7rem}
.prod-kind{font-family:var(--s);font-style:italic;color:color-mix(in oklab,var(--acc) 55%,#171717);font-size:1.1rem;margin:.2rem 0 1rem}
.prod-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin:0 0 1rem;font-size:.93rem}
.prod-facts dt{font:700 .7rem/1.2 var(--h);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.prod-facts dd{margin:.1rem 0 0}
.prod-key{font-size:.98rem;color:#33332f}
.painlist{padding-left:1.1rem}
.painlist li::marker{color:var(--acc)}
.say{font-family:var(--s);font-style:italic;font-size:1.18rem;line-height:1.4;border-left:4px solid var(--acc);padding-left:.8rem}
.site-now{font-size:.95rem;color:#3a3a37}
.src{font:600 .85rem/1 var(--h)}
.deeps{margin-top:1.1rem}
.reviews{list-style:none;padding:0}
.reviews li{border-bottom:1px solid var(--line);padding:.6rem 0}
.rv-h{margin:0 0 .2rem}.rv-b{margin:0 0 .2rem;font-size:.97rem}.rv-m{font-size:.8rem;color:var(--mid);margin:0}
.stars{color:#B88A2E;letter-spacing:.05em}
.vb{background:#E6F0EA;color:#2E6B4F;font:700 .68rem/1 var(--h);padding:.2rem .35rem;border-radius:3px;margin-left:.3rem}

/* ---------- quotes / ICPs */
.q{margin:0;padding:.8rem .9rem;background:var(--sand2);border-left:4px solid var(--acc)}
.q p{font-family:var(--s);font-style:italic;font-size:1.06rem;line-height:1.4;margin:0 0 .35rem}
.q footer{font-size:.78rem;color:var(--mid)}
.q footer a{color:var(--mid)}
.qid{font:600 .7rem var(--h);opacity:.6}
.quotes{display:grid;gap:.6rem}
@media (min-width:760px){.icp .quotes{grid-template-columns:1fr 1fr}}
.icps{display:grid;gap:1.6rem;margin-top:1.4rem}
.icp{background:#fff;border:1px solid var(--line);border-top:8px solid var(--acc);padding:1.3rem 1.2rem 1.1rem}
@media (min-width:860px){.icp{padding:1.8rem 2rem 1.4rem}}
.icp header h3{margin:.3rem 0 .4rem}
.icp-k{font:800 .78rem/1 var(--h);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in oklab,var(--acc) 55%,#171717)}
.icp-prod{margin:0 0 .3rem}
.aw{font-size:.92rem;color:var(--mid)}.aw span{font:700 .7rem var(--h);letter-spacing:.1em;text-transform:uppercase;margin-right:.4rem;color:var(--ink)}
.rung{font-size:.92rem;color:#3a3a37;background:var(--sand2);padding:.6rem .75rem}
.hooks{list-style:none;padding:0}
.hooks li{font:600 1rem/1.35 var(--h);padding:.45rem 0 .45rem .9rem;border-left:3px solid var(--acc);margin:.35rem 0}
dl.kv dt{font:700 .78rem/1.3 var(--h);margin-top:.7rem}dl.kv dd{margin:.15rem 0 0}

/* ---------- positioning (forest) */
.forest{background:linear-gradient(170deg,var(--forest-d) 0%,var(--forest) 55%,var(--forest-m) 100%);color:#EAF0EC;border-top:0}
.forest h2,.forest h3,.forest h4{color:#fff}
.forest .eyebrow{color:var(--sage)}
.forest .ch-h::before{background:var(--sage)}
.forest .lede{color:#D5E0DA}
.forest a{color:#BFE3D1}
.forest .tblwrap{background:#0B231D;border-color:#2C463F}
.forest .tbl th,.forest .tbl td{border-color:#2C463F;color:#EAF0EC}
.forest .tbl thead th{background:#18352D;color:#fff}
.forest .tbl tbody tr:nth-child(even) td,.forest .tbl tbody tr:nth-child(even) th{background:#0E2822}
.forest details.deep{background:#14322A}
.forest details.deep>summary::after{color:#BFD3CA}
.forest details.deep[open]>summary{border-color:#2C463F}
.forest .note{background:#14322A;border-color:var(--sage)}
.posline{font:800 clamp(1.7rem,5.2vw,3rem)/1.12 var(--h);letter-spacing:-.025em;color:#fff;max-width:56rem;margin:1rem 0 2rem;text-wrap:balance}
.special{display:grid;gap:1rem;counter-reset:sp}
@media (min-width:860px){.special{grid-template-columns:repeat(5,1fr)}}
.special>div{border-top:3px solid var(--sage);padding-top:.8rem}
.special b{display:block;font:700 1.02rem/1.3 var(--h);color:#fff;margin-bottom:.4rem}
.special span{font-size:.95rem;color:#C9D7D0;line-height:1.45;display:block}
.forest .lid{color:var(--ink)}

/* ---------- screenshots and galleries */
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.4rem 0}
@media (min-width:860px){.shots{grid-template-columns:repeat(5,1fr)}}
.shot{margin:0}
.shot img{border:1px solid var(--line);border-radius:6px;background:#fff}
.shot figcaption{font-size:.84rem;line-height:1.38;margin-top:.5rem;color:#3a3a37}
.shot figcaption b{display:block;font:700 .82rem/1.3 var(--h);color:var(--ink);margin-bottom:.15rem}
.srcgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (min-width:860px){.srcgrid{grid-template-columns:repeat(5,1fr)}}
.srcad{margin:0;background:#fff;border:1px solid var(--line)}
.srcad img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--sand2)}
.srcad figcaption{padding:.55rem .6rem .7rem;font-size:.78rem;line-height:1.35;display:flex;flex-direction:column;gap:.2rem}
.srcad figcaption b{font:700 .8rem/1.25 var(--h)}
.fbagal{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.2rem 0}
@media (min-width:860px){.fbagal{grid-template-columns:repeat(6,1fr)}}
.fbag{margin:0}.fbag img{background:#fff;border:1px solid var(--line)}
.fbag figcaption{font-size:.78rem;color:var(--mid);margin-top:.35rem;line-height:1.3}
.btn{display:inline-block;font:700 .95rem/1 var(--h);background:var(--ink);color:#fff;text-decoration:none;padding:.9rem 1.2rem;border-radius:999px;margin:.4rem .4rem .4rem 0}
.btn:hover{color:#fff;background:#333}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.slot{border:2px dashed #BDB4A3;background:var(--sand2);padding:1.4rem;text-align:center;color:var(--mid);font:600 .95rem/1.4 var(--h)}

/* ---------- ads */
.ads{display:grid;gap:2rem;margin-top:1.4rem}
.ad{background:#fff;border:1px solid var(--line);padding:1rem}
@media (min-width:860px){.ad{padding:1.4rem 1.6rem}}
.ad-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:.8rem}
.ad-h b{font:800 1.05rem/1 var(--h)}
.ad-h span{font-size:.88rem;color:var(--mid)}
.ad-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ad-pair figure{margin:0}
.ad-pair img{width:100%;aspect-ratio:4/5;object-fit:contain;border:1px solid var(--line);background:var(--sand2)}
.ad-pair figcaption{font:700 .72rem/1.25 var(--h);letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-top:.45rem}
.ad-pair .slot{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;padding:1rem;font-size:.85rem}
.ad-copy{margin-top:1rem}
.ad-hook{font:800 1.3rem/1.2 var(--h);letter-spacing:-.015em;margin:.2rem 0 .6rem}
.ad-meta{font-size:.88rem;color:#3a3a37}
.pt{white-space:pre-line;font-size:.98rem}
@media (min-width:980px){.ad{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.6rem}.ad-copy{margin-top:0}}

/* ---------- checklist, roadmap */
.check{list-style:none;padding:0;margin:1rem 0}
.check li{display:grid;grid-template-columns:6.4rem 1fr;gap:.8rem;padding:.85rem 0;border-top:1px solid var(--line);margin:0}
.check li>span:first-child{font:700 .7rem/1.2 var(--h);letter-spacing:.08em;text-transform:uppercase;padding:.35rem .4rem;border-radius:3px;text-align:center;align-self:start}
.must{background:#B23A43;color:#fff}.do{background:#1F5F95;color:#fff}.chk{background:#E8DFCE;color:#4a3d24}
.check b{font-family:var(--h)}
.phases{display:grid;gap:1rem;margin:1.4rem 0}
@media (min-width:860px){.phases{grid-template-columns:repeat(4,1fr)}}
.phase{background:#fff;border:1px solid var(--line);border-top:8px solid var(--c);padding:1rem 1rem .6rem}
.phase h4{margin:0 0 .2rem;font-size:1.05rem}
.phase .when{font:600 .8rem/1.2 var(--h);color:var(--mid);margin-bottom:.6rem}
.phase ul{padding-left:1rem;font-size:.95rem}
.doors{columns:2 16rem;column-gap:2rem;list-style:none;padding:0;font-size:.9rem}
.doors li{break-inside:avoid;margin:0 0 .35rem}
.doors b{font-weight:600;display:block}.doors span{color:var(--mid);font-size:.82rem}
.foot{padding:3rem var(--pad) 4rem;background:var(--forest-d);color:#C9D7D0;font-size:.92rem}
.foot>*{max-width:var(--wide);margin-left:auto;margin-right:auto}
.foot img{width:140px;margin-bottom:1rem}
.ref{font:700 .72rem var(--h);text-decoration:none;background:#EAF1F7;padding:0 .2rem;border-radius:2px}
.refs li{font-size:.9rem;margin:.4rem 0}
.mono-off{font-variant-numeric:tabular-nums}
/* retail matrix */
.rm tbody td{font:700 .9rem/1 var(--h)}
.rm td.rm-said,.pm-legend i.rm-said{background:#DCEEE3;color:#2E6B4F}
.rm td.rm-feat,.pm-legend i.rm-feat{background:#F6E7D2;color:#8A5A2B}
.rm td.rm-never,.pm-legend i.rm-never{background:#F6D9DB;color:#B23A43}
.rm td.rm-s0,.pm-legend i.rm-s0{background:#F1EEE8;color:#77736B}
.rm td.rm-note{width:auto;min-width:20rem;text-align:left;font:400 .84rem/1.35 var(--b);padding:.45rem .6rem;color:#33332f}

@media (min-width:760px){.pm .pm-pain{min-width:16rem}}

/* html bar charts */
.bars{display:grid;gap:.55rem}
.br{display:grid;grid-template-columns:minmax(0,1fr) 3.6rem;grid-template-areas:"l l" "t v";gap:.2rem .6rem;align-items:center}
.br .bl{grid-area:l;font-size:.88rem;line-height:1.25;color:#33332f}
.br .bt{grid-area:t;position:relative;height:16px;background:#F3F0EA;border-radius:2px}
.br .bt>i{display:block;height:100%;border-radius:0 4px 4px 0}
.br .bv{grid-area:v;font:700 .82rem/1 var(--h);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (min-width:760px){.br{grid-template-columns:var(--lw,180px) minmax(0,1fr) 3.8rem;grid-template-areas:"l t v";gap:.6rem}.br .bl{text-align:right}}
.db .bt{background:transparent;border-top:1px dashed #E2DCCF;height:18px;border-radius:0;margin:0 7px}
.db-line{position:absolute;top:7px;height:3px;background:#CFC8BB}
.db-dot{position:absolute;top:2px;width:13px;height:13px;border-radius:50%;margin-left:-6.5px;border:2px solid #fff}
.db-dot.us{background:#D9545C}.db-dot.best{background:#2E7FC2}
.db-scale .bt{background:transparent;height:14px;margin:0 7px}
.db-scale em{position:absolute;transform:translateX(-50%);font:600 .72rem/1 var(--h);color:var(--mid);font-style:normal}
.fs-row{margin:.9rem 0}
.fs-l{font-size:.88rem;margin:0 0 .3rem;color:#3a3a37}
.fs-bar{display:flex;gap:2px;height:30px;min-width:12rem}
.fs-bar i{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;border-radius:2px}
.fs-bar span{font:700 .72rem/1 var(--h);color:#fff;white-space:nowrap}
