:root{--ink:#0F1B2D;--ink2:#14243b;--line:#223653;--teal:#19B3A6;--amber:#F2A33A;--paper:#F4F1EA;--slate:#9fb0c4;--max:1080px;--read:72ch}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"Roboto Slab",Georgia,serif;line-height:1.65;font-size:17px}
a{color:var(--teal)}a:hover{color:var(--paper)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--amber);color:var(--ink);padding:8px 12px;z-index:9}
/* header */
.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(15,27,45,.94);backdrop-filter:blur(6px);z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}
.brand{color:var(--paper);text-decoration:none;font-weight:800;font-size:1.08rem;letter-spacing:.01em}.brand span{color:var(--amber)}
.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{color:var(--slate);text-decoration:none;font-weight:600;font-size:.95rem}.nav a:hover,.nav a[aria-current]{color:var(--paper)}
.nav .pk{color:var(--amber)}
@media(max-width:640px){.nav{gap:12px}.nav .hide-s{display:none}}
/* type */
h1,h2,h3,.brand,.btn,.kicker,.nav,.num,.facts b,.price{font-family:"Raleway","Helvetica Neue",Arial,sans-serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
h1{font-size:clamp(2.1rem,5.6vw,3.4rem);line-height:1.08;margin:.3em 0 .35em;letter-spacing:-.01em}h1 em,h2 em{font-style:normal;color:var(--amber)}
h2{font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.2;margin:1.6em 0 .5em}
h3{font-size:1.15rem;margin:1.3em 0 .3em}
.kicker{color:var(--teal);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.lead{font-size:1.2rem;color:var(--slate)}
.muted{color:var(--slate)}.small{font-size:.88rem}
/* hero */
.hero{padding:64px 0 34px}.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;background:var(--amber);color:var(--ink);font-weight:800;text-decoration:none;padding:14px 24px;border-radius:10px;font-size:1.02rem;border:0;cursor:pointer}
.btn:hover{filter:brightness(1.08);color:var(--ink)}.btn.ghost{background:transparent;color:var(--paper);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--teal)}
.facts{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;color:var(--slate);font-size:.95rem}.facts b{display:block;color:var(--paper);font-size:1.5rem}
/* grids/cards */
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:20px}
a.card{color:inherit;text-decoration:none;display:block;transition:border-color .15s}a.card:hover{border-color:var(--teal)}
.card h3{margin:.2em 0 .35em}.card p{margin:0;color:var(--slate)}
.num{display:inline-block;background:var(--teal);color:var(--ink);font-weight:800;min-width:28px;height:28px;padding:0 6px;border-radius:14px;text-align:center;line-height:28px;font-size:.9rem}
/* modules */
.module{border-top:1px solid var(--line);padding:22px 0}
.module>h3{margin:0 0 .2em}.module .muted{margin:0 0 12px}
.eps{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.eps li{display:flex;gap:10px;align-items:baseline;padding:6px 0}.eps .n{color:var(--slate);font-variant-numeric:tabular-nums;min-width:2.2em;font-size:.9rem}
.eps a{color:var(--paper);text-decoration:none;font-weight:600}.eps a:hover{color:var(--teal)}
.eps .soon{color:var(--slate)}.tag{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-left:6px}
/* episode */
.crumbs{font-size:.88rem;color:var(--slate);padding-top:22px}.crumbs a{color:var(--slate)}
.video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--line);margin:8px 0 18px}
.video button{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.video img{width:100%;height:100%;object-fit:cover}
.video .play{position:absolute;left:50%;top:50%;width:78px;height:54px;margin:-27px 0 0 -39px;background:var(--amber);border-radius:14px}
.video .play:after{content:"";position:absolute;left:31px;top:15px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--ink)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px}
@media(max-width:900px){.cols{grid-template-columns:1fr}}
.side .card{margin-bottom:14px}.side h3{margin-top:0}
.chap{list-style:none;padding:0;margin:0}.chap li{padding:4px 0}.chap a{text-decoration:none}.chap .t{color:var(--slate);font-variant-numeric:tabular-nums;display:inline-block;min-width:3.2em}
.transcript{}.transcript h3{color:var(--teal);font-size:1.02rem;letter-spacing:.02em;margin-top:1.8em}
.transcript p{margin:.7em 0}
.download{border-color:var(--amber)}.download .btn{margin-top:12px}
.note{border-left:3px solid var(--teal);padding:4px 0 4px 14px;color:var(--slate);margin:18px 0}
.disclosure{font-size:.82rem;color:var(--slate);margin-top:10px}
.pager{display:flex;justify-content:space-between;gap:12px;margin:40px 0;flex-wrap:wrap}
/* prose pages */
.prose{}.prose li{margin:.35em 0}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.95rem}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}th{color:var(--slate);font-weight:700}
/* pro kit */
.price{font-size:2.6rem;font-weight:800;color:var(--amber);margin:.15em 0 0}
.list{margin:10px 0 30px;padding:0;list-style:none}.list li{padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--ink2)}.list b{color:var(--teal)}
.faq h3{margin:1.2em 0 .2em;font-size:1.05rem}.faq p{margin:0;color:var(--slate)}
/* footer */
.foot{border-top:1px solid var(--line);margin-top:60px;padding:30px 0 40px;color:var(--slate);font-size:.9rem}
.foot .wrap{display:grid;gap:18px;grid-template-columns:2fr 1fr 1fr}.foot a{color:var(--slate)}.foot a:hover{color:var(--paper)}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:4px 0}
@media(max-width:700px){.foot .wrap{grid-template-columns:1fr}}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
/* course illustrations (cropped from the episode slides) */
.ill{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:#0b1524;display:block}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center}
.hero-ill{max-height:440px;object-fit:cover}
.card-ill{width:calc(100% + 40px);max-width:none;margin:-20px -20px 14px;height:170px;object-fit:cover;object-position:left center;border-radius:14px 14px 0 0;display:block;border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:36px;align-items:center}
.sec-ill{width:100%;height:220px;object-fit:cover;object-position:left center;border-radius:12px;border:1px solid var(--line);margin:8px 0 6px;display:block}
.wide-ill{max-height:360px;object-fit:cover;object-position:left center;margin:24px 0}
.side{position:sticky;top:78px;align-self:start}
@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr}.side{position:static}.hero-ill{max-height:300px}}
.hero-grid .facts{gap:16px 24px}
.soon-video img{filter:saturate(.75) brightness(.7)}
.soon-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--amber);color:var(--ink);font-family:Raleway,Arial,sans-serif;font-weight:800;padding:12px 22px;border-radius:999px;font-size:1.05rem;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.chap li{color:var(--paper)}
