:root{--desk:#ECEAE3;--ink:#141414;--white:#fff;--paper:#F3F2EE;--blush:#FBE3DE;--red:#C42B1C;--display:'Instrument Serif',Georgia,serif;--sans:'Inter Tight',system-ui,sans-serif;--hand:'Caveat','Bradley Hand',cursive;--ease:cubic-bezier(.2,.7,.2,1);--wrap:1240px;--gut:clamp(18px,3.4vw,40px);--space:clamp(64px,8vw,116px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5}
img{max-width:100%}a{color:inherit}button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
::selection{background:#F7C9C1}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
/* paper system: sheets on a desk */
body{background:var(--desk)}
.blk{padding:clamp(7px,.9vw,12px) var(--gut);--bg:#fff;--fg:var(--ink);--muted:#5C5C5C;--line:#E4E2DC;--note:var(--red);--soft:var(--desk);--on:#fff}
.blk>.wrap{background:var(--bg);color:var(--fg);padding:clamp(40px,6vw,88px) clamp(22px,5vw,76px);box-shadow:0 1px 0 rgba(0,0,0,.05),0 18px 40px -30px rgba(0,0,0,.28)}
.blk--tight>.wrap{padding-block:clamp(32px,4.4vw,60px)}
.blk--white{}
.blk--blush>.wrap{background-image:radial-gradient(#D5D3CC 1px,transparent 1.3px);background-size:20px 20px;background-position:10px 10px}
.blk--paper{--bg:transparent;--soft:#fff}
.blk--paper>.wrap{box-shadow:none;padding-inline:0;padding-block:clamp(36px,5vw,72px)}
.blk--ink{--bg:var(--ink);--fg:#fff;--muted:#B4B4B4;--line:#3A3A3A;--note:#FF7A6B;--soft:#222;--on:var(--ink)}
.blk--red{--bg:var(--red);--fg:#fff;--muted:#FCE0DB;--line:#E0766B;--note:#fff;--soft:#B02417;--on:var(--red)}
/* type */
.kicker{margin:0;font:500 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.h1{margin:0;font:400 clamp(44px,5.6vw,86px)/.95 var(--display);letter-spacing:-.03em}
.h2{margin:0;font:400 clamp(36px,4.4vw,64px)/1 var(--display);letter-spacing:-.025em}
.h3{margin:0;font:400 clamp(26px,2.4vw,36px)/1.05 var(--display);letter-spacing:-.015em}
em{font-style:italic}
.p{margin:0;font-size:17px;line-height:1.6;color:var(--fg);opacity:.9;max-width:520px}
.src{margin:0;font:400 12.5px/1.5 var(--sans);color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:18px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:clamp(30px,4vw,52px)}
.note{display:inline-flex;align-items:flex-start;gap:4px;font:600 24px/1.08 var(--hand);color:var(--note)}
.note>span{max-width:300px}
.note svg{width:38px;height:28px;flex:0 0 38px;overflow:visible;margin-top:4px}
.note path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.note--up,.note--down{flex-direction:column}.note--down svg{margin-left:18px}.note--up svg{margin-left:6px}
.strike{position:relative;display:inline-block;white-space:nowrap}
.strike::after{content:"";position:absolute;left:-3%;right:-3%;top:54%;height:.075em;background:var(--note);transform:rotate(-2.5deg);border-radius:2px}
.mark{display:inline-block;vertical-align:middle;overflow:visible}
.mark *{fill:none;stroke:currentColor;stroke-width:1.6}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid var(--fg);background:var(--fg);color:var(--on);font:500 15px var(--sans);text-decoration:none;cursor:pointer;border-radius:0;transition:transform .25s var(--ease),opacity .2s}
.btn:hover{transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--fg)}
.btn--red{background:var(--red);border-color:var(--red);color:#fff}
.btn--block{width:100%}
.link{font:500 15px var(--sans);color:var(--fg);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid var(--fg);background:transparent;color:var(--fg);font:500 15px/1.2 var(--sans);cursor:pointer;border-radius:0;text-align:left;transition:background .2s,color .2s}
.chip:hover{background:var(--soft)}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--on)}
.input{width:100%;min-height:52px;padding:0 18px;border:1px solid #CFCFCB;background:#fff;color:var(--ink);font:400 16px var(--sans);border-radius:0}
.input:focus{outline:none;border-color:var(--ink)}
.field{display:flex;flex-direction:column;gap:6px;font:500 13px var(--sans);color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.ticks li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.ticks li::before{content:"";width:10px;height:6px;margin:7px 0 0 3px;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(-45deg)}
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
/* header */
.bar{background:var(--ink);color:#fff;text-align:center;padding:9px var(--gut);font:500 12.5px/1.4 var(--sans);letter-spacing:.04em}
.bar a{text-decoration:none}
.top{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px}
.logo{font:400 30px/1 var(--display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:26px;font:500 14px var(--sans)}
.nav a{text-decoration:none}.nav a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){.nav a:not(.nav__shop){display:none}}
/* course */
.course{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4.5vw,72px);align-items:center}
.course__tag{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 10px;background:var(--red);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.course__tag i{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
.course__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:15px;color:#D6D6D6}
.course__list li::before{content:"→ ";color:var(--note)}
.course__v{height:min(460px,calc(100svh - 250px));min-height:280px;background:#222;border:1px solid #3A3A3A;display:flex;align-items:flex-end;padding:22px;font:500 13px/1.45 var(--sans);color:#9A9A9A}
.form{display:flex;flex-wrap:wrap;gap:10px;max-width:520px}.form .input{flex:1 1 240px}
.form__msg{margin:0;font:500 14px var(--sans)}
.cd{display:flex;gap:8px}.cd[hidden]{display:none}.cd div{min-width:64px;padding:8px;border:1px solid var(--line);text-align:center}
.cd strong{display:block;font:400 30px/1 var(--display)}.cd span{font:500 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
/* finder */
.finder{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:start}
.finder__opts{display:flex;flex-direction:column;gap:10px}
.finder__opts .chip{justify-content:space-between;width:100%;min-height:58px;font-size:16px}
.finder__opts .chip::after{content:"→";opacity:.45}
.finder__out{min-height:420px;background:#fff radial-gradient(#D5D3CC 1px,transparent 1.3px) 9px 9px/18px 18px;border:1px solid #D9D7D0;box-shadow:0 26px 50px -34px rgba(0,0,0,.35);padding:clamp(24px,3vw,44px);transform:rotate(.6deg)}
.finder__out .res>*:not(.note),.finder__empty p{background:#fff;box-shadow:0 0 0 6px #fff}
.finder__out .res__row{background:none!important;box-shadow:none!important}
.finder__empty{min-height:330px;display:flex;align-items:center}
.finder__empty p{margin:0;font:400 clamp(28px,2.6vw,38px)/1.05 var(--display);color:#9A978E}
.res{display:flex;flex-direction:column;gap:18px}.res[hidden],.finder__empty[hidden]{display:none}
.res__lbl{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.res__t{margin:0;font:400 clamp(36px,3.6vw,54px)/.95 var(--display);letter-spacing:-.025em}
.res__why{margin:0;font-size:17px;line-height:1.6;max-width:520px}
.res__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:6px}
.res.js .res__lbl{opacity:0;transition:opacity .4s}
.res.js .note,.res.js .res__row{opacity:0;transform:translateY(12px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.res.js .is-on{opacity:1;transform:none}
.is-typing::after{content:"";display:inline-block;width:2px;height:.85em;margin-left:3px;vertical-align:-.08em;background:var(--red);animation:caret .7s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
/* flagship hero */
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.hero__h{margin:0;font:400 clamp(40px,5.4vw,82px)/.96 var(--display);letter-spacing:-.03em}
.hero__fix{position:relative;display:inline-block}
.hero__h{padding-bottom:.42em}
.hero__fix .hand{letter-spacing:0;position:absolute;left:6%;top:96%;font:600 .42em/1 var(--hand);color:var(--note);white-space:nowrap;transform:rotate(-4deg)}
.hero__vis{position:relative;padding-top:24px}
.book{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#fff;color:var(--ink);border:1px solid #D9D9D5;box-shadow:0 30px 60px -30px rgba(0,0,0,.3);transform:rotate(1.4deg)}
.book::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:28px;margin-left:-14px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08) 50%,transparent);pointer-events:none}
.pg{padding:clamp(16px,2vw,28px);display:flex;flex-direction:column;gap:13px;min-height:400px;background-image:radial-gradient(#D7D7D3 1px,transparent 1.2px);background-size:16px 16px}
.pg>*{background:#fff}
.pg__h{display:flex;justify-content:space-between;font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5C5C5C;padding:4px 0}
.pg__t{margin:0;font:400 25px/1 var(--display);align-self:flex-start;padding-right:6px}
.nn{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #E2E2DF}
.nn div{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:center;font:600 21px/1 var(--hand);color:#1D3557}
.nn i{width:14px;height:14px;border:1.5px solid var(--ink);position:relative}
.nn i.on::after{content:"";position:absolute;left:3px;top:-5px;width:6px;height:13px;border:solid var(--red);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.zone{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:none!important}
.zone div,.q{background:#fff;border:1px solid #E2E2DF;padding:8px 10px}
.q{border-width:0 0 1px;padding:6px 0 8px}
.zone small,.q small{display:block;font:600 9px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#5C5C5C;margin-bottom:4px}
.zone span,.q span{font:600 19px/1.05 var(--hand);color:#1D3557}
.trk{display:grid;grid-template-columns:72px repeat(7,1fr);gap:4px;align-items:center;padding:6px 0;font:500 10px var(--sans);color:#5C5C5C}
.trk i{height:14px;border:1px solid #CFCFCB}.trk i.on{background:var(--ink);border-color:var(--ink)}
.sticky-note{position:absolute;right:-8px;top:-6px;z-index:2;transform:rotate(4deg);font:600 23px/1.05 var(--hand);color:var(--red);background:#fff;padding:6px 10px;box-shadow:0 10px 20px -12px rgba(0,0,0,.35)}
/* method */
.method{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.method li{background:var(--soft) repeating-linear-gradient(transparent 0 27px,rgba(29,53,87,.07) 27px 28px);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 28px -24px rgba(0,0,0,.35)}
.method li:nth-child(1){transform:rotate(-.5deg)}.method li:nth-child(3){transform:rotate(.5deg)}
.method__n{font:400 64px/.8 var(--display);letter-spacing:-.03em;color:var(--red);padding-bottom:14px;border-bottom:2px solid var(--red)}
.method p{margin:0;font-size:15.5px;line-height:1.55}
.method .hand{font:600 22px/1.1 var(--hand);color:var(--note)}
.why{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:6px}
.why small{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.why cite{font:italic 400 12.5px/1.45 var(--sans);color:var(--muted)}
/* equation */
.eq{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr;gap:clamp(10px,1.6vw,24px);align-items:start}
.eq__w{margin:14px 0 12px;font:400 clamp(36px,4.2vw,62px)/.95 var(--display);letter-spacing:-.025em}
.eq p.d{margin:0;font-size:15px;color:var(--muted);max-width:240px}
.eq__op{font:400 clamp(36px,4vw,56px)/1 var(--display);color:#6E6E6E;padding-top:40px}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
.card{position:relative;display:flex;flex-direction:column;gap:14px;transition:opacity .3s}
.card.is-dim{opacity:.25}
.cover{position:relative;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2.4vw,30px);text-decoration:none;transition:transform .35s var(--ease)}
a.cover:hover{transform:translateY(-4px)}
.cover--blush{background:#fff radial-gradient(#D5D3CC 1px,transparent 1.3px) 9px 9px/18px 18px;color:var(--ink);box-shadow:inset 0 0 0 1px #D9D7D0}.cover--ink{background:var(--ink);color:#fff}.cover--red{background:var(--red);color:#fff}
.cover{box-shadow:0 20px 36px -28px rgba(0,0,0,.4)}
.cover__top{display:flex;justify-content:space-between;align-items:center;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.cover__name{margin:0;font:400 clamp(40px,4vw,58px)/.92 var(--display);letter-spacing:-.03em}
.card__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:500 17px var(--sans)}
.card__row a{text-decoration:none}
.card>p{margin:0;font-size:15px;color:var(--muted)}
.card>p b{color:var(--fg);font-weight:600}
.card__act{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto}
.card__act .btn{min-height:46px;padding:0 18px;font-size:14px}
.card__tag{box-shadow:0 6px 14px -8px rgba(0,0,0,.3);position:absolute;z-index:2;top:-16px;right:8px;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;transform:rotate(3deg);font:600 22px/1 var(--hand);color:var(--red);background:#fff;padding:3px 8px}
/* bundle */
.bundle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center}
.bundle ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px}
.bundle li{display:inline-flex;gap:8px;align-items:center}
/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.rev{margin:0;padding:clamp(22px,2.6vw,34px);background:var(--soft);box-shadow:0 14px 28px -24px rgba(0,0,0,.35);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:230px}
.rev blockquote{margin:0;font:400 clamp(24px,2.2vw,32px)/1.12 var(--display);letter-spacing:-.015em}
.rev mark{background:linear-gradient(transparent 58%,#F7C9C1 58%,#F7C9C1 92%,transparent 92%);color:inherit}
.rev figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.score{display:flex;align-items:baseline;gap:12px}.score strong{font:400 64px/1 var(--display)}.score span{font-size:14px;color:var(--muted);max-width:170px}
/* letter */
.letter{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:center}
.letter__ph{position:relative;transform:rotate(-1.5deg);box-shadow:0 0 0 10px #fff,0 24px 40px -26px rgba(0,0,0,.4);aspect-ratio:4/5;background:#DFDDD6;display:flex;align-items:flex-end;padding:22px;font:500 13px/1.45 var(--sans);color:#4A4A4A}
.letter .hi{font:600 clamp(34px,3.2vw,44px)/1 var(--hand);color:var(--note);transform:rotate(-2deg);align-self:flex-start}
.letter .sig{font:600 34px/1 var(--hand)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:8px}
.facts strong{display:block;font:400 36px/1 var(--display);margin-bottom:6px}.facts span{font-size:13px;color:var(--muted)}
/* honest */
.honest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.honest>div{box-shadow:0 14px 28px -24px rgba(0,0,0,.35);padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:14px}
.honest .yes{background:var(--ink);color:#fff}.honest .no{background:#fff;color:var(--ink)}
.honest ul{list-style:none;margin:0;padding:0}
.honest li{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:13px 0;border-top:1px solid rgba(128,128,128,.3);font-size:16px}
.honest .yes li::before{content:"✓"}.honest .no li::before{content:"✕";color:var(--red)}
/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:start}
details{border-bottom:1px solid var(--line)}details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font:400 23px/1.15 var(--display)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:300 26px/1 var(--sans);transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 20px;font-size:15.5px;line-height:1.65;max-width:620px;opacity:.9}
/* newsletter + footer */
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.foot{background:#0C0C0C;color:#B4B4B4;padding:36px 0;font-size:13px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.foot a{text-decoration:none;margin-right:18px}.foot .logo{color:#fff;font-size:26px}
/* shop */
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:clamp(40px,4vw,60px)}
.chips .chip{min-height:42px;padding:0 16px;font-size:14px}.chips>span{font:500 13px var(--sans);color:var(--muted);margin-right:6px}
.tw{overflow-x:auto;color:var(--ink)}
table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
th,td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid #E2E2DF}
thead th{font:400 24px/1.1 var(--display);border-bottom:1px solid var(--ink)}thead td{border-bottom:1px solid var(--ink)}
tbody th{font:600 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5C5C5C;width:150px}
tr:last-child th,tr:last-child td{border-bottom:0}
/* product */
.prod{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,88px);align-items:start}
.prod__cover{position:sticky;top:96px;aspect-ratio:4/5;max-height:calc(100svh - 120px);width:100%}
.prod__cover .cover__name{font-size:clamp(56px,6vw,96px)}
.price{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding-block:4px}
.price strong{font:400 44px/1 var(--display)}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trust div{padding:12px;background:var(--desk);font:500 12px/1.35 var(--sans)}.trust b{display:block;font:400 18px/1.1 var(--display);margin-bottom:4px}
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ink);color:#fff;transform:translateY(110%);transition:transform .35s var(--ease)}
.stickybar.is-on{transform:none}
.stickybar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.stickybar p{margin:0;font:400 22px/1.1 var(--display)}.stickybar small{display:block;font:400 13px var(--sans);color:#B4B4B4}
/* tool */
.tool{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.tool__in{display:flex;flex-direction:column;gap:12px}
.tool__vis{display:flex;flex-direction:column}
.page{background:#fff;color:var(--ink);border:1px solid #D9D9D5;box-shadow:0 30px 60px -34px rgba(0,0,0,.3);padding:clamp(24px,3vw,44px);min-height:400px;display:flex;flex-direction:column;gap:16px;background-image:radial-gradient(#DADAD6 1px,transparent 1.2px);background-size:18px 18px;transform:rotate(-1deg)}
.page>*{background-color:#fff}
.page .pg__t{font-size:32px}
.tn{display:flex;flex-direction:column;gap:12px;border:1px solid #E2E2DF;padding:16px}
.tn label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;cursor:pointer;position:relative}
.tn input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.tn .box{width:22px;height:22px;border:1.5px solid var(--ink);position:relative}
.tn .box svg{position:absolute;left:-2px;top:-9px;width:28px;height:28px;overflow:visible}
.tn .box path{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .3s}
.tn input:checked+.box path{stroke-dashoffset:0}
.tn input:focus-visible+.box{outline:2px solid var(--red);outline-offset:2px}
.tn .w{font:600 26px/1.1 var(--hand);color:#1D3557;min-height:30px;justify-self:start}
.tn .w:empty::before{content:attr(data-ph);color:#B9B9B5}
.tn input:checked~.w{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;color:#5C6B80}
.big{margin:0;font:400 clamp(34px,3.4vw,50px)/1.02 var(--display);letter-spacing:-.02em}
.big em{background:linear-gradient(transparent 62%,#F7C9C1 62%,#F7C9C1 90%,transparent 90%)}
.line{padding:10px 0;border-bottom:1px solid #E2E2DF;font-size:16px}
.line small{display:block;font:600 10px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5C5C5C;margin-bottom:4px}
.stat{display:flex;gap:10px;background:none!important}
.stat div{flex:1;background:#fff;border:1px solid #E2E2DF;padding:14px}.stat strong{display:block;font:400 44px/1 var(--display)}.stat span{font-size:13px;color:#5C5C5C}
.sched{list-style:none;margin:0;padding:0}
.sched li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid #E2E2DF;font-size:15px;animation:up .4s var(--ease) both}
.sched li:last-child{border-bottom:0}.sched li.is-exam{color:var(--red);font-weight:600}
.sched .min{font:500 13px var(--sans);color:#5C5C5C}
@keyframes up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.page .note{align-self:flex-end;transform:rotate(-2deg);padding:0 6px;color:var(--red)}
.tool__vis>.note{align-self:flex-end;margin:22px 12px 0 0;transform:rotate(-2deg)}
/* checkout modal */
.co{position:fixed;inset:0;z-index:60;background:rgba(20,20,20,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.co[hidden]{display:none}
.co__box{background:#fff;color:var(--ink);width:min(560px,100%);max-height:calc(100svh - 32px);overflow:auto;padding:24px}
.co__top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.co__top p{margin:0;font:400 28px/1 var(--display)}
.co__x{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;min-width:44px;min-height:44px}
.co__msg{font-size:15px;line-height:1.55;background:var(--desk);padding:14px}
@media(max-width:900px){.course,.finder,.hero,.letter,.faq,.news,.prod,.tool,.bundle{grid-template-columns:1fr}.method,.cards,.revs,.honest,.cards--2{grid-template-columns:1fr}.eq{grid-template-columns:1fr;gap:14px}.eq__op{padding:0}.course__v{height:auto;min-height:0;aspect-ratio:16/9}.finder__out{min-height:0}.finder__empty{min-height:130px}.prod__cover{position:static;aspect-ratio:5/4}.tool__vis>.note{align-self:flex-start}}
@media(max-width:560px){.book{grid-template-columns:1fr;transform:none}.book .pg+.pg{display:none}.book::after{display:none}.trust{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}html{scroll-behavior:auto}}

.letter__ph::before{content:"";position:absolute;top:-22px;left:50%;width:110px;height:28px;margin-left:-55px;background:rgba(236,234,227,.85);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.foot{margin-top:clamp(7px,.9vw,12px)}
@media(max-width:900px){.finder__out,.method li{transform:none!important}}
@media(max-width:900px){.cards{row-gap:48px}}
