/* PRO-Z · единая дизайн-система сайта */
:root{
  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.84rem + .18vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg:clamp(1.125rem,1.03rem + .45vw,1.375rem);
  --text-xl:clamp(1.5rem,1.25rem + 1.1vw,2.25rem);
  --text-2xl:clamp(2rem,1.4rem + 2.6vw,3.5rem);
  --text-hero:clamp(2.6rem,1.4rem + 5vw,5.75rem);
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--s24:6rem;
  --r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:18px;
  --bg:#F2F1EE;--surface:#F8F7F5;--surface-2:#FFFFFF;--offset:#E8E6E2;--divider:#D9D6D0;
  --line:rgba(20,20,18,.12);--line-strong:rgba(20,20,18,.22);
  --text:#141412;--muted:#57544F;--faint:#85827B;
  --accent:#C8321E;--accent-hover:#A82814;--accent-soft:rgba(200,50,30,.09);
  --ink:#141412;--ink-2:#22211E;--on-ink:#F2F1EE;--on-ink-muted:#A9A6A0;
  --ok:#2F6B3A;
  --font-display:'Onest','Inter',system-ui,sans-serif;
  --font-body:'Onest','Inter',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --wrap:1240px;--wrap-narrow:760px;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 1px 2px rgba(40,34,24,.05),0 8px 24px rgba(40,34,24,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);line-height:1.08;letter-spacing:-.025em;font-weight:700;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--on-ink);padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{width:min(100% - 2*clamp(1rem,4vw,2.5rem),var(--wrap));margin-inline:auto}
.narrow{max-width:var(--wrap-narrow)}
.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.8rem 1.4rem;border-radius:var(--r-md);font-weight:600;font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);white-space:nowrap}
.btn svg{width:16px;height:16px;transition:transform .18s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-ink{background:var(--ink);color:var(--on-ink)}
.btn-ink:hover{background:#2c2a26}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-hover)}
.btn-line{border-color:var(--line-strong);background:transparent}
.btn-line:hover{border-color:var(--text);background:var(--surface-2)}
.btn-light{background:var(--on-ink);color:var(--ink)}
.btn-light:hover{background:#fff}
.btn-line-light{border-color:rgba(242,241,238,.3);color:var(--on-ink)}
.btn-line-light:hover{border-color:var(--on-ink)}
.btn-sm{min-height:40px;padding:.55rem 1rem}
.btn-wide{width:100%}

/* promo bar */
.promo{background:var(--ink);color:var(--on-ink);font-size:var(--text-sm)}
.promo .wrap{display:flex;align-items:center;justify-content:center;gap:clamp(.6rem,2vw,1.25rem);min-height:44px;flex-wrap:wrap;padding-block:.35rem}
.promo b{background:var(--accent);color:#fff;font-family:var(--font-mono);font-weight:500;padding:.15rem .55rem;border-radius:var(--r-sm)}
.promo .timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.promo a{color:var(--on-ink);font-weight:600}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(242,241,238,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:var(--s6);height:72px}
.logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);flex-shrink:0}
.logo svg{width:34px;height:34px}
.logo span{font-family:var(--font-display);font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.logo small{display:block;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;color:var(--muted);font-weight:400;margin-top:-2px;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:var(--s1);margin-left:var(--s4)}
.nav>a,.nav>.dd>button{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:500;text-decoration:none;background:none;border:0;color:var(--text)}
.nav>a:hover,.nav>.dd>button:hover,.nav>a[aria-current]{background:var(--offset)}
.dd{position:relative}
.dd svg{width:12px;height:12px;transition:transform .2s}
.dd.open svg{transform:rotate(180deg)}
.mega{position:absolute;left:0;top:calc(100% + 10px);width:min(860px,90vw);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:var(--s6);display:none;grid-template-columns:repeat(3,1fr);gap:var(--s6) var(--s8)}
.dd.open .mega{display:grid}
.mega h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:.5rem}
.mega a{display:block;padding:.3rem 0;font-size:var(--text-sm);text-decoration:none;line-height:1.35}
.mega a:hover{color:var(--accent)}
.mega .all{grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--s4);display:flex;justify-content:space-between;align-items:center}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:var(--s3)}
.hdr-phone{font-weight:600;font-size:var(--text-sm);text-decoration:none;white-space:nowrap}
.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:var(--r-md);border:1px solid var(--line);background:transparent;text-decoration:none}
.icon-btn:hover{border-color:var(--line-strong);background:var(--surface-2)}
.icon-btn svg{width:18px;height:18px}
.burger{display:none}
.mnav{display:none}

/* sections */
.sec{padding-block:clamp(3.5rem,8vw,7rem)}
.sec-tight{padding-block:clamp(2.5rem,5vw,4.5rem)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s6);margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec-head h2{font-size:var(--text-2xl);max-width:20ch}
.sec-head p{color:var(--muted);max-width:52ch;margin-top:var(--s4)}
.sec-head .eyebrow{margin-bottom:var(--s4)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .muted,.dark .sec-head p{color:var(--on-ink-muted)}
.dark .eyebrow{color:var(--on-ink-muted)}
.paper{background:var(--surface)}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* hero (home) */
.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,6rem) clamp(3rem,6vw,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero h1{font-size:var(--text-hero);font-weight:750;letter-spacing:-.035em;line-height:.98;margin-top:var(--s5)}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lead{font-size:var(--text-lg);color:var(--muted);max-width:40ch;margin-top:var(--s6);line-height:1.5}
.hero .ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s8)}
.hero-art{position:relative;aspect-ratio:1/1;max-width:560px;justify-self:end;width:100%}
.hero-art svg{width:100%;height:100%;color:var(--text)}
.license{display:flex;align-items:center;gap:.6rem;margin-top:var(--s8);font-size:var(--text-xs);color:var(--muted)}
.license svg{width:18px;height:18px;color:var(--ok);flex-shrink:0}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{padding:var(--s6) var(--s5) var(--s6) 0}
.stats>div+div{padding-left:var(--s5);border-left:1px solid var(--line)}
.stats b{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.stats span{font-size:var(--text-sm);color:var(--muted)}
.dark .stats,.dark .stats>div+div{border-color:rgba(242,241,238,.14)}
.dark .stats span{color:var(--on-ink-muted)}

/* top courses */
.tops{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:var(--s5)}
.top-card{position:relative;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;text-decoration:none;transition:border-color .2s,transform .3s var(--ease)}
.top-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.top-card:first-child{grid-row:span 2}
.top-card .img{aspect-ratio:16/9;overflow:hidden;background:var(--offset)}
.top-card:first-child .img{aspect-ratio:auto;flex:1;min-height:320px}
.top-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.top-card:hover img{transform:scale(1.03)}
.top-card .body{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s3);flex:1}
.top-card .tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.top-card h3{font-size:var(--text-lg);line-height:1.2;letter-spacing:-.015em}
.top-card:first-child h3{font-size:var(--text-xl)}
.top-card p{color:var(--muted);font-size:var(--text-sm)}
.top-card .foot{margin-top:auto;padding-top:var(--s4);display:flex;justify-content:space-between;align-items:end;gap:var(--s4);border-top:1px solid var(--line)}
.price{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em;white-space:nowrap}
.price s{font-weight:400;color:var(--faint);font-size:.75em;margin-left:.35rem}
.price small{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--text-xs);color:var(--muted);letter-spacing:0}
.arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);flex-shrink:0;transition:background .2s,color .2s}
.arrow svg{width:16px;height:16px}
.top-card:hover .arrow,.card:hover .arrow{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}

/* catalog */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s8)}
.chip{min-height:40px;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line-strong);background:transparent;font-size:var(--text-sm);font-weight:500}
.chip:hover{background:var(--surface-2)}
.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.chip sup{font-family:var(--font-mono);font-size:.7em;margin-left:.2rem;opacity:.6}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.card{display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;transition:border-color .2s,transform .3s var(--ease)}
.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.card .img{aspect-ratio:16/10;background:var(--offset);overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover}
.card .body{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2);flex:1}
.card .meta{display:flex;gap:var(--s3);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.card h3{font-size:1.0625rem;line-height:1.3;letter-spacing:-.01em;font-weight:650}
.card p{font-size:var(--text-sm);color:var(--muted);line-height:1.5}
.card .foot{margin-top:auto;padding-top:var(--s4);display:flex;justify-content:space-between;align-items:end;gap:var(--s3)}
.card .price{font-size:1.0625rem}
.card[hidden]{display:none}

/* diploma banner */
.banner{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--ink);color:var(--on-ink);border-radius:var(--r-xl);padding:clamp(2rem,5vw,4rem);position:relative;overflow:hidden}
.banner h2{font-size:var(--text-2xl);margin-top:var(--s4)}
.banner p{color:var(--on-ink-muted);margin-top:var(--s4);max-width:46ch}
.banner .ctas{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s8)}
.banner .pricebox{border:1px solid rgba(242,241,238,.16);border-radius:var(--r-lg);padding:var(--s6)}
.banner .pricebox .big{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.03em}
.banner .pricebox s{color:var(--on-ink-muted)}
.banner .pricebox li{display:flex;gap:.6rem;padding:.55rem 0;border-top:1px solid rgba(242,241,238,.1);font-size:var(--text-sm);color:#D7D4CE}
.banner .pricebox li:first-of-type{margin-top:var(--s4)}
.badge{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--r-sm);background:var(--accent);color:#fff}
.badge-line{background:transparent;border:1px solid currentColor;color:inherit}

/* steps / how */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);list-style:none;margin:0;padding:0}
.steps li{padding:var(--s6) var(--s6) var(--s6) 0;border-right:1px solid var(--line)}
.steps li+li{padding-left:var(--s6)}
.steps li:last-child{border-right:0}
.steps .n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.06em}
.steps h3{font-size:var(--text-lg);margin:var(--s4) 0 var(--s2);letter-spacing:-.015em}
.steps p{font-size:var(--text-sm);color:var(--muted)}

/* stories */
.stories{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.story{display:flex;flex-direction:column;gap:var(--s4)}
.story .ph{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--offset)}
.story .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.story blockquote{margin:0;font-size:var(--text-sm);line-height:1.55}
.story cite{font-style:normal;font-weight:600;font-size:var(--text-sm)}
.story cite span{display:block;font-weight:400;color:var(--muted);font-size:var(--text-xs)}
.reviews{columns:3 300px;column-gap:var(--s5);margin-top:var(--s12)}
.review{break-inside:avoid;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);margin-bottom:var(--s5)}
.review p{font-size:var(--text-sm);line-height:1.6}
.review footer{margin-top:var(--s4);font-size:var(--text-sm);font-weight:600}
.review footer span{display:block;font-weight:400;color:var(--muted);font-size:var(--text-xs)}
.more-reviews{display:none}
.reviews.expanded .more-reviews{display:block}

/* corp teaser */
.corp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.corp h2{font-size:var(--text-2xl);margin-top:var(--s4)}
.corp p{color:var(--muted);margin-top:var(--s4);max-width:48ch}
.tiers{display:grid;gap:var(--s3)}
.tier{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg)}
.tier b{font-size:var(--text-base)}
.tier span{display:block;font-size:var(--text-sm);color:var(--muted)}
.tier .off{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--accent);letter-spacing:-.02em}
.tier.feat{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.tier.feat span{color:var(--on-ink-muted)}
.tier.feat .off{color:var(--on-ink);font-size:var(--text-lg)}

/* free */
.free{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.free-card{border-radius:var(--r-xl);padding:clamp(1.5rem,4vw,2.5rem);display:flex;flex-direction:column;gap:var(--s4);min-height:280px;text-decoration:none;border:1px solid var(--line);background:var(--surface-2);transition:border-color .2s}
.free-card:hover{border-color:var(--line-strong)}
.free-card h3{font-size:var(--text-xl)}
.free-card p{color:var(--muted);max-width:40ch}
.free-card .btn{margin-top:auto;align-self:flex-start}
.free-card.tg{background:var(--offset)}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s6);align-items:center;padding:var(--s6) 0;font-weight:600;font-size:var(--text-lg);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:28px;height:28px;flex-shrink:0;position:relative;border:1px solid var(--line-strong);border-radius:50%}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .25s var(--ease)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq .a{padding:0 0 var(--s6);color:var(--muted);max-width:70ch}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem)}
.faq-grid h2{font-size:var(--text-2xl);position:sticky;top:110px}

/* footer */
.ftr{background:var(--ink);color:var(--on-ink-muted);padding-block:clamp(3rem,6vw,5rem) var(--s8);font-size:var(--text-sm)}
.ftr a{text-decoration:none;color:var(--on-ink)}
.ftr a:hover{text-decoration:underline}
.ftr-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:var(--s8)}
.ftr .logo{color:var(--on-ink);--logo-fg:#141412}
.ftr .logo small{color:var(--on-ink-muted)}
.ftr h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-ink-muted);margin-bottom:var(--s4)}
.ftr li{padding:.25rem 0}
.ftr-about p{margin-top:var(--s4);max-width:34ch}
.ftr-social{display:flex;gap:var(--s2);margin-top:var(--s6)}
.ftr-social a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(242,241,238,.18);border-radius:var(--r-md)}
.ftr-social a:hover{border-color:var(--on-ink);text-decoration:none}
.ftr-social svg{width:18px;height:18px}
.ftr-bottom{margin-top:var(--s12);padding-top:var(--s6);border-top:1px solid rgba(242,241,238,.12);display:flex;justify-content:space-between;gap:var(--s6);flex-wrap:wrap;font-size:var(--text-xs);line-height:1.6}

/* course page */
.c-hero{position:relative;padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4rem);overflow:hidden}
.c-hero .bg{position:absolute;inset:0;pointer-events:none;color:var(--text);opacity:.16}
.c-hero .bg svg{position:absolute;right:-6%;top:-4%;width:min(900px,85vw);height:auto}
.c-hero .wrap{position:relative}
.crumbs{display:flex;gap:.5rem;flex-wrap:wrap;font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--s8)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.c-hero h1{font-size:var(--text-hero);font-weight:750;letter-spacing:-.04em;line-height:.96;max-width:12ch;margin-top:var(--s5)}
.c-hero .lead{font-size:var(--text-lg);color:var(--muted);max-width:46ch;margin-top:var(--s6);line-height:1.5}
.c-hero .ctas{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s8)}
.c-hero .pricing-hint{margin-top:var(--s4);font-size:var(--text-sm);color:var(--muted)}
.c-hero .pricing-hint b{color:var(--text)}
.c-hero .stats{margin-top:clamp(2.5rem,6vw,4.5rem);background:rgba(242,241,238,.7)}

.aud{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.aud li{background:var(--surface-2);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:var(--s3)}
.aud .n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.aud h3{font-size:var(--text-lg);letter-spacing:-.015em}
.aud p{color:var(--muted);font-size:var(--text-sm)}

.ba{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.ba>div{border-radius:var(--r-xl);padding:clamp(1.5rem,4vw,2.5rem)}
.ba .b{background:var(--offset)}
.ba .a{background:var(--ink);color:var(--on-ink)}
.ba .sal{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.03em;margin:var(--s3) 0 var(--s6)}
.ba li{display:flex;gap:.75rem;padding:.7rem 0;border-top:1px solid var(--line);font-size:var(--text-sm)}
.ba .a li{border-color:rgba(242,241,238,.12)}
.ba li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.ba .b li svg{color:var(--faint)}
.ba .a li svg{color:#E9705F}

.prog{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.prog-side{position:sticky;top:110px}
.prog-side h2{font-size:var(--text-2xl)}
.prog-side ul{margin-top:var(--s8);border-top:1px solid var(--line)}
.prog-side li{display:flex;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.prog-side li svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}
.mods{counter-reset:m;border-top:1px solid var(--line)}
.mods details{border-bottom:1px solid var(--line)}
.mods summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:7.5rem 1fr 28px;gap:var(--s4);align-items:center;padding:var(--s5) 0}
.mods summary::-webkit-details-marker{display:none}
.mods .wk{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.05em;text-transform:uppercase}
.mods .t{font-weight:650;font-size:var(--text-lg);letter-spacing:-.01em;line-height:1.25}
.mods summary i{width:28px;height:28px;position:relative;border:1px solid var(--line-strong);border-radius:50%}
.mods summary i::before,.mods summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .25s var(--ease)}
.mods summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.mods details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.mods ul{padding:0 0 var(--s6) calc(7.5rem + var(--s4));display:grid;gap:.5rem}
.mods li{position:relative;padding-left:1.1rem;color:var(--muted);font-size:var(--text-sm)}
.mods li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:1px;background:var(--text)}

.outs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.outs li{padding:var(--s8) var(--s6) var(--s8) 0;border-bottom:1px solid var(--line)}
.outs li:not(:nth-child(3n+1)){padding-left:var(--s6);border-left:1px solid var(--line)}
.outs .n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint)}
.outs h3{font-size:var(--text-lg);margin:var(--s3) 0 var(--s2);letter-spacing:-.015em;line-height:1.25}
.outs p{color:var(--muted);font-size:var(--text-sm)}

.author{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.author .ph{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:#2a2926;max-width:440px}
.author .ph img{width:100%;height:100%;object-fit:cover}
.author h2{font-size:var(--text-2xl);margin-top:var(--s4)}
.author .role{color:var(--on-ink-muted);margin-top:var(--s2)}
.author .bio{margin-top:var(--s6);max-width:52ch;color:#D7D4CE}
.author .stats{margin-top:var(--s8);grid-template-columns:repeat(3,1fr)}
.author blockquote{margin:var(--s8) 0 0;padding-left:var(--s6);border-left:1px solid rgba(242,241,238,.25);font-size:var(--text-lg);line-height:1.45;color:var(--on-ink);max-width:48ch}

.video{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.video h2{font-size:var(--text-2xl);margin-top:var(--s4)}
.video p{color:var(--muted);margin-top:var(--s4);max-width:42ch}
.video .ctas{margin-top:var(--s8);display:flex;gap:var(--s3);flex-wrap:wrap}
.player{position:relative;aspect-ratio:16/9;border-radius:var(--r-xl);overflow:hidden;background:var(--ink)}
.player iframe,.player button{position:absolute;inset:0;width:100%;height:100%;border:0}
.player button{display:grid;place-items:center;background:var(--ink);color:var(--on-ink);gap:var(--s4);align-content:center}
.player button .play{width:76px;height:76px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .2s var(--ease)}
.player button:hover .play{transform:scale(1.06)}
.player button .play svg{width:26px;height:26px;margin-left:4px;color:#fff}
.player button span{font-size:var(--text-sm);color:var(--on-ink-muted);max-width:40ch;text-align:center;padding:0 var(--s4)}

.cstories{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5)}
.cstory{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:var(--s5)}
.cstory blockquote{margin:0;font-size:var(--text-base);line-height:1.6}
.cstory footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.cstory .who{display:flex;align-items:center;gap:.75rem}
.cstory .av{width:44px;height:44px;border-radius:50%;background:var(--offset);display:grid;place-items:center;font-weight:700}
.cstory .who b{display:block;font-size:var(--text-sm)}
.cstory .who span{font-size:var(--text-xs);color:var(--muted)}
.cstory .grow{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ok);background:rgba(47,107,58,.08);padding:.3rem .6rem;border-radius:var(--r-sm);white-space:nowrap}

.buy{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s5);align-items:stretch}
.buy-card{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-xl);padding:clamp(1.5rem,4vw,2.75rem);display:flex;flex-direction:column}
.buy-card .top{display:flex;justify-content:space-between;align-items:center;gap:var(--s4)}
.buy-card .now{font-family:var(--font-display);font-size:var(--text-hero);font-weight:750;letter-spacing:-.045em;line-height:1;margin-top:var(--s6)}
.buy-card .old{color:var(--faint);font-size:var(--text-lg);margin-top:var(--s2)}
.buy-card .month{margin-top:var(--s4);font-size:var(--text-base)}
.buy-card .month b{font-weight:700}
.buy-card ul{margin:var(--s8) 0;border-top:1px solid var(--line)}
.buy-card li{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.buy-card li svg{width:18px;height:18px;color:var(--ok);flex-shrink:0;margin-top:2px}
.buy-card .acts{display:grid;gap:var(--s3);margin-top:auto}
.buy-card .note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s4)}
.buy-side{display:grid;gap:var(--s5);grid-template-rows:auto 1fr}
.cert{background:var(--offset);border-radius:var(--r-xl);padding:var(--s6)}
.cert img{border-radius:var(--r-md);box-shadow:var(--shadow);background:#fff}
.cert p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--s4)}
.b2b{background:var(--ink);color:var(--on-ink);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:var(--s4)}
.b2b h3{font-size:var(--text-xl)}
.b2b p{color:var(--on-ink-muted);font-size:var(--text-sm)}
.b2b ul{display:grid;grid-template-columns:1fr 1fr;gap:.5rem var(--s4);font-size:var(--text-sm);color:#D7D4CE}
.b2b li::before{content:"— ";color:var(--on-ink-muted)}
.b2b .btn{align-self:flex-start;margin-top:auto}
.guarantee{display:flex;gap:var(--s3);align-items:center;margin-top:var(--s5);font-size:var(--text-sm);color:var(--muted)}
.guarantee svg{width:20px;height:20px;color:var(--ok);flex-shrink:0}

.related{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}

/* sticky mobile CTA */
.mcta{display:none}

/* cookie */
.cookie{position:fixed;left:var(--s4);bottom:var(--s4);z-index:60;max-width:420px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--s4) var(--s5);font-size:var(--text-xs);color:var(--muted);display:flex;gap:var(--s4);align-items:center}
.cookie[hidden]{display:none}
.cookie a{color:var(--text)}

/* catalog page */
.p-hero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem)}
.p-hero h1{font-size:var(--text-2xl);max-width:20ch;margin-top:var(--s4)}
.p-hero p{color:var(--muted);max-width:56ch;margin-top:var(--s4);font-size:var(--text-lg);line-height:1.5}
.cat-group{margin-top:clamp(2.5rem,5vw,4rem)}
.cat-group h2{font-size:var(--text-xl);display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s6);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}
.cat-group h2 span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint);font-weight:400;letter-spacing:.04em}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .rv.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* responsive */
@media (max-width:1100px){
  .nav,.hdr-phone{display:none}
  .burger{display:inline-grid}
  .mnav{position:fixed;inset:72px 0 0;background:var(--bg);z-index:49;overflow:auto;padding:var(--s6) clamp(1rem,4vw,2.5rem) var(--s16)}
  .mnav.open{display:block}
  .mnav a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}
  .mnav h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:var(--s6) 0 var(--s2)}
  .mnav .sub a{font-weight:400;font-size:var(--text-sm);padding:.6rem 0}
  .cards,.related{grid-template-columns:repeat(2,1fr)}
  .stories{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps li:nth-child(2){border-right:0}
  .steps li:nth-child(3){padding-left:0}
  .steps li:nth-child(n+3){border-top:1px solid var(--line)}
  .ftr-top{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .hero-grid,.banner,.corp,.free,.faq-grid,.prog,.author,.video,.buy,.ba,.tops{grid-template-columns:1fr}
  .top-card:first-child{grid-row:auto}
  .hero-art{max-width:420px;justify-self:center;order:-1;margin-bottom:-1rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats>div:nth-child(3){padding-left:0;border-left:0}
  .stats>div:nth-child(n+3){border-top:1px solid var(--line)}
  .author .stats>div:nth-child(3){padding-left:var(--s5);border-left:1px solid rgba(242,241,238,.14);border-top:0}
  .faq-grid h2,.prog-side{position:static}
  .outs{grid-template-columns:1fr 1fr}
  .outs li:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .outs li:nth-child(even){padding-left:var(--s6);border-left:1px solid var(--line)}
  .sec-head{grid-template-columns:1fr}
  .author .ph{max-width:360px}
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:var(--s3);align-items:center;justify-content:space-between;padding:.6rem clamp(1rem,4vw,2.5rem) calc(.6rem + env(safe-area-inset-bottom));background:rgba(242,241,238,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s var(--ease)}
  .mcta.show{transform:none}
  .mcta .price{font-size:var(--text-base)}
  .has-mcta .ftr{padding-bottom:6rem}
  .cookie{left:var(--s3);right:var(--s3);bottom:calc(var(--s3) + 64px);max-width:none}
}
@media (max-width:600px){
  .cards,.related,.stories,.cstories,.aud,.b2b ul{grid-template-columns:1fr}
  .steps,.outs{grid-template-columns:1fr}
  .steps li,.steps li+li,.outs li,.outs li:nth-child(even){padding-left:0;border-left:0;border-right:0;border-top:1px solid var(--line)}
  .mods summary{grid-template-columns:1fr 28px}
  .mods .wk{grid-column:1/-1}
  .mods ul{padding-left:0}
  .ftr-top{grid-template-columns:1fr}
  .hdr .wrap{height:64px;gap:var(--s3)}
  .mnav{inset:64px 0 0}
  .hdr-right .btn{display:none}
  .promo .wrap{font-size:var(--text-xs);gap:.5rem;flex-wrap:nowrap}
  .promo .lbl{display:none}
  .hero-art{display:none}
  .c-hero h1{max-width:none}
  .story .ph{aspect-ratio:1/1}
}

.card .img img,.top-card .img img{background:var(--offset)}
.c-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.c-hero-img{margin:0;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1/1;background:#EFEDE9}
.c-hero-img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
@media (max-width:860px){.c-hero-grid{grid-template-columns:1fr}.c-hero-img{aspect-ratio:4/3;order:-1}}
@media (max-width:600px){.c-hero-img{display:none}}
.card .img img,.top-card .img img{mix-blend-mode:multiply}
.card .img,.top-card .img{background:#F4F3F0}
.card .img img,.top-card .img img{background:transparent}
.top-card:first-child .body{flex:0 0 auto}
.c-hero-img{background:#F4F3F0}

.logo-img{width:42px;height:42px;display:block;border-radius:50%}
.ftr .logo-img{background:#fff}
.card .img,.top-card .img{position:relative}
.disc{position:absolute;top:.75rem;left:.75rem;z-index:1;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;padding:.2rem .55rem;border-radius:var(--r-sm)}
.sale-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sale-note{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--muted)}
.sale-note i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;animation:pz-pulse 1.6s ease-in-out infinite}
@keyframes pz-pulse{50%{opacity:.25}}

.promo .lbl-m{display:none}
@media (max-width:600px){.promo .lbl-m{display:inline}}
.logo-img{width:48px;height:48px}
.top-card:first-child .img img{object-position:50% 25%}

/* hero chooser */
.trust{list-style:none;margin:var(--s6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:var(--text-sm);color:var(--muted)}
.trust li{display:inline-flex;align-items:center;gap:.4rem}
.trust svg{width:16px;height:16px;color:var(--ok)}
.chooser{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,2.5vw,1.75rem);box-shadow:0 20px 50px -30px rgba(20,20,18,.35)}
.chooser .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.chooser h2{font-size:var(--text-lg);margin:.4rem 0 1rem;letter-spacing:-.01em}
.chooser>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;margin:0 -.9rem;border-top:1px solid var(--line);text-decoration:none;color:var(--text);border-radius:var(--r-md);transition:background .2s}
.chooser>a:hover{background:var(--offset)}
.chooser>a b{display:block;font-weight:600;font-size:var(--text-sm)}
.chooser>a small{display:block;color:var(--muted);font-size:var(--text-xs);margin-top:.15rem}
.chooser>a svg{width:18px;height:18px;flex-shrink:0;color:var(--accent);transition:transform .2s}
.chooser>a:hover svg{transform:translateX(3px)}
.chooser-foot{margin:.9rem 0 0;padding-top:.9rem;border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
.chooser-foot a{color:var(--text);font-weight:600}
@media (max-width:600px){.hero-art{display:none}.chooser{margin-top:var(--s6)}}

/* teachers */
.teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.teacher .ph{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--offset);margin-bottom:var(--s4)}
.teacher .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .5s var(--ease),filter .3s}
.teacher:hover .ph img{transform:scale(1.03);filter:none}
.teacher h3{font-size:var(--text-base);margin:0}
.teacher .role{font-size:var(--text-sm);color:var(--muted);margin:.2rem 0 0}
.teacher .fact{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text);margin:.6rem 0 0;line-height:1.5}
.teacher .tc{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}
.teacher .tc a{font-size:var(--text-xs);padding:.2rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teacher .tc a:hover{border-color:var(--text)}
@media (max-width:1000px){.teachers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* stories with avatars */
.stories2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(1rem,2vw,1.5rem)}
.story2{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,2.5vw,2rem);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}
.story2 blockquote{margin:0;font-size:var(--text-base);line-height:1.6}
.story2 figcaption{display:flex;align-items:center;gap:.8rem}
.story2 img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}
.story2 b{display:block;font-size:var(--text-sm)}
.story2 small{color:var(--muted);font-size:var(--text-xs)}
@media (max-width:760px){.stories2{grid-template-columns:1fr}}

/* guarantee */
.guar{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.5rem);background:var(--surface)}
.guar .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ok)}
.guar h2{font-size:var(--text-xl);margin:.4rem 0 0}
.guar ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.guar li b{display:block;font-size:var(--text-sm);margin-bottom:.3rem}
.guar li span{font-size:var(--text-xs);color:var(--muted);line-height:1.5}
@media (max-width:1000px){.guar{grid-template-columns:1fr}.guar ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* final cta */
.final{background:var(--ink);color:var(--on-ink);padding-block:clamp(3rem,7vw,5.5rem)}
.final-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center}
.final .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:#E86A55}
.final h2{color:var(--on-ink);margin:.5rem 0 .75rem}
.final p{color:var(--on-ink-muted);max-width:52ch;margin:0}
.final-ctas{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}
.final-ctas .btn{justify-content:center}
.final-ctas svg{width:18px;height:18px}
.btn-on-ink{background:transparent;color:var(--on-ink);border:1px solid rgba(242,241,238,.25)}
.btn-on-ink:hover{border-color:var(--on-ink)}
@media (max-width:860px){.final-in{grid-template-columns:1fr}}
.mcta-home .price{font-weight:700}
.final h2{font-size:clamp(1.75rem,3.5vw,2.75rem);line-height:1.1;letter-spacing:-.02em}
.final{background:#1E1E1B;border-bottom:1px solid rgba(242,241,238,.08)}
.chooser-foot a[href^="tel"]{white-space:nowrap}
.teacher .ph{aspect-ratio:1/1}
.teachers{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.teachers{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* hero: headline never collides with chooser */
.hero h1{font-size:min(var(--text-hero),4.6vw)}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}
@media (max-width:1100px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:min(var(--text-hero),8.5vw)}.chooser{max-width:640px}}
.logo-img{border-radius:0;background:none}
.ftr .logo-img{background:none}

/* company */
.ptiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.ptier{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.75rem}
.ptier.feat{border-color:var(--text);box-shadow:0 20px 50px -30px rgba(20,20,18,.4)}
.ptier .mono,.allin .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ptier.feat .mono{color:var(--accent)}
.ptier .off{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:750;letter-spacing:-.03em;line-height:1}
.ptier .ex{font-size:var(--text-sm);color:var(--muted);margin:0}
.ptier ul{list-style:none;margin:.25rem 0 auto;padding:0;display:grid;gap:.45rem;font-size:var(--text-sm)}
.ptier li{padding-left:1.1rem;position:relative}
.ptier li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.ptier .btn{margin-top:1rem;justify-content:center}
.allin{margin-top:clamp(1rem,2vw,1.5rem);background:var(--ink);color:var(--on-ink);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.5rem);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;align-items:center}
.allin .mono{color:#E86A55}
.allin h3{color:var(--on-ink);font-size:var(--text-xl);margin:.4rem 0 .6rem}
.allin p{color:var(--on-ink-muted);margin:0;font-size:var(--text-sm);line-height:1.6}
.allin-p{display:grid;gap:.6rem}
.allin-p div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(242,241,238,.12);padding-bottom:.5rem}
.allin-p span{color:var(--on-ink-muted);font-size:var(--text-sm)}
.allin-p b{font-size:var(--text-lg)}
.allin-p small{color:var(--on-ink-muted);font-size:var(--text-xs)}
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.calc-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,2.5vw,2rem);display:grid;gap:1rem}
.calc-box label{display:grid;gap:.4rem;font-size:var(--text-sm);font-weight:600}
.calc-box select,.calc-box input{font:inherit;font-weight:400;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--text);width:100%}
.calc-box dl{margin:0;display:grid;gap:.5rem}
.calc-box dl div{display:flex;justify-content:space-between;gap:1rem;font-size:var(--text-sm);border-bottom:1px dashed var(--line);padding-bottom:.45rem}
.calc-box dt{color:var(--muted)} .calc-box dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.calc-box .tot dd{font-size:var(--text-lg);color:var(--accent)}
.calc-box .note{font-size:var(--text-xs);color:var(--muted);margin:0}
@media (max-width:960px){.ptiers,.allin,.calc{grid-template-columns:1fr}}
.doc-in{max-width:780px}
.doc h1{font-size:clamp(1.75rem,3.5vw,2.5rem);margin:var(--s5) 0 var(--s6);letter-spacing:-.02em}
.doc h2{font-size:var(--text-lg);margin:var(--s8) 0 var(--s3)}
.doc p{font-size:var(--text-sm);line-height:1.7;color:var(--text);margin:0 0 .75rem;overflow-wrap:anywhere}
.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:clamp(2rem,4vw,3rem)}
.contact-card{display:grid;gap:.35rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.contact-card:hover{border-color:var(--text);transform:translateY(-2px)}
.contact-card .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.contact-card b{font-size:var(--text-base);overflow-wrap:anywhere}
.contact-card small{color:var(--muted);font-size:var(--text-xs)}
.req{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.req-list{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.req-list div{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.req-list dt{color:var(--muted)} .req-list dd{margin:0;font-weight:600;font-family:var(--font-mono)}
@media (max-width:960px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.req{grid-template-columns:1fr}}
@media (max-width:520px){.contact-grid{grid-template-columns:1fr}}
.author.noph{grid-template-columns:1fr;max-width:820px}
.author>div{min-width:0}
.author h2,.author .role{overflow-wrap:anywhere}
.author .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stats b{overflow-wrap:anywhere;hyphens:auto}
.cstories{grid-template-columns:repeat(2,minmax(0,1fr))}
.cstory{min-width:0;overflow-wrap:anywhere}
@media (max-width:760px){.cstories{grid-template-columns:1fr}}
.fcard{display:flex;flex-direction:column}
.fcard .img{display:block}
.fcard .disc.free{background:var(--text);color:var(--bg)}
.fcard .fact{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:1rem}
.fcard .body{display:flex;flex-direction:column;flex:1}

/* blog */
.post-card .img{background:var(--surface-2,#e9e7e2)}
.post-card h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-in{max-width:780px}
.post-head{margin:var(--s5) 0 var(--s8)}
.post-head .meta{display:flex;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.post-head .meta span:first-child{color:var(--accent)}
.post-head h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em;margin:.75rem 0 1rem;overflow-wrap:anywhere}
.post-cover{margin:0 0 var(--s8);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line)}
.post-cover img{width:100%;height:auto;display:block}
.prose{font-size:1.0625rem;line-height:1.75;color:var(--text);overflow-wrap:anywhere}
.prose p{margin:0 0 1.1em}
.prose h2{font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.2;letter-spacing:-.015em;margin:2em 0 .6em}
.prose h3{font-size:1.25rem;margin:1.7em 0 .5em}
.prose h4{font-size:1.075rem;margin:1.5em 0 .4em}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}
.prose li{margin:.35em 0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose figure{margin:1.6em 0}
.prose img{max-width:100%;height:auto;display:block;border-radius:var(--r-lg);border:1px solid var(--line);margin:1.4em auto}
.prose .vframe{position:relative;aspect-ratio:16/9;margin:1.4em 0;border-radius:var(--r-lg);overflow:hidden;background:#111}
.prose .vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose details.transcript{margin:-.6em 0 1.6em;border:1px solid var(--line);border-radius:var(--r-md);padding:.7em 1em;font-size:var(--text-sm);background:var(--surface)}
.prose details.transcript summary{cursor:pointer;font-weight:600;color:var(--muted)}
.prose details.transcript p{margin:.8em 0 0}
.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:1.4em 0;display:block;overflow-x:auto}
.prose td,.prose th{border:1px solid var(--line);padding:.5em .7em;text-align:left}
.info-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.info-price{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,2.5vw,2rem);display:grid;gap:.75rem}
.info-price .mono{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.info-price b{font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.02em;line-height:1}
.info-price p{margin:0;font-size:var(--text-sm);color:var(--muted);line-height:1.55}
.info-price .btn{justify-content:center}
.info-price small{font-size:var(--text-xs);color:var(--muted);line-height:1.5}
.info-price small a{color:inherit}
.info-sec{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3.5rem)}
.info-sec h2{margin:0}
.info-p{margin:0 0 1rem;font-size:var(--text-base);line-height:1.65}
.info-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.info-list li{display:flex;gap:.75rem;align-items:flex-start;line-height:1.55}
.info-list svg{width:18px;height:18px;flex:none;margin-top:.2em;color:var(--accent)}
.doc-q{margin:1.2em 0;padding:1em 1.25em;border-left:3px solid var(--accent);background:var(--surface);font-weight:600;font-size:var(--text-base)}
.doc-cta{margin-top:var(--s10,3rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}
.doc-cta h2{margin-top:0!important}
@media (max-width:960px){.info-grid,.info-sec{grid-template-columns:1fr}}
.pay-wrap{max-width:860px}
.pay-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(.75rem,2vw,1.5rem);min-height:240px}
.pay-box iframe{width:100%!important;border:0;display:block}
#pay{scroll-margin-top:90px}
