/* The editorial layout follows the companion intro2causal site. */
main{overflow:clip}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 76% 42%,rgba(72,70,160,.15),transparent 54%),radial-gradient(ellipse at 3% 4%,rgba(32,91,132,.11),transparent 52%)}
.hero-orbit{position:absolute;z-index:-1;top:-450px;right:-170px;width:1150px;height:1150px;border:1px solid var(--line);border-radius:50%;opacity:.35;pointer-events:none}
.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;inset:90px;border:1px solid var(--line);border-radius:50%}.hero-orbit:after{inset:180px}
.shell{width:min(1280px,calc(100% - 112px))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy showcase" "author showcase";grid-template-rows:1fr auto;gap:36px clamp(32px,4.5vw,72px);align-items:start;padding-block:64px 48px}
.hero-copy{grid-area:copy;align-self:center;min-width:0;container-type:inline-size;display:block}
.hero-copy .eyebrow{margin-bottom:24px;font-size:10px;letter-spacing:.13em}
.hero h1{font-size:clamp(35px,10.5cqi,62px);line-height:1.08;font-weight:600;letter-spacing:-.065em;margin-bottom:26px}
.hero h1>span{white-space:nowrap}
.hero-hook{font-size:clamp(24px,2vw,28px);line-height:1.35;letter-spacing:-.035em;margin-bottom:18px}
.hero-description{font-size:15px;line-height:1.8;max-width:450px;margin-bottom:26px}
.hero .actions{gap:24px}.hero .button{padding:16px 23px;font-size:13px}.hero-welcome{color:var(--muted);font-size:11px;margin:17px 0 0}
.hero-author{grid-area:author;display:flex;align-items:center;gap:20px;padding-top:24px;border-top:1px solid var(--line)}
.hero-author img{width:72px;height:72px;flex-shrink:0;border-radius:50%;object-fit:cover}.hero-author>div{min-width:0}
.hero-author p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 8px}.hero-author p:first-child{font-size:15px}.hero-author p:last-child{margin-bottom:0}.hero-author a{color:var(--text);font-weight:600}
.hero-bottom{padding-block:25px;gap:20px}.hero-bottom p{margin:0}.hero-bottom p>span{margin-inline:15px;opacity:.4}.hero-bottom strong{color:var(--text);font-size:14px;font-weight:500;margin-right:4px}.hero-bottom a span{color:var(--blue);margin-left:20px}
.question-deck{grid-area:showcase;min-width:0;width:100%;max-width:none;margin:0;border-radius:18px;background:#0d192d}
.deck-header{padding:16px 24px;font:500 10px/1.5 'JetBrains Mono',monospace;letter-spacing:.14em}
.slide-intro{padding:22px 24px 12px;min-height:150px}.slide-intro .eyebrow{font-size:11px;letter-spacing:0;text-transform:none;margin-bottom:12px}
.slide-intro h2{font-size:clamp(24px,2.1vw,30px);line-height:1.2;font-weight:500;letter-spacing:-.035em}
.slide-caption{padding:12px 25px 20px;min-height:180px}.slide-caption>p{font-size:12px;line-height:1.8;min-height:65px;margin-bottom:10px}.chart-meta{font-size:10px;line-height:1.6;padding-top:10px;margin-bottom:4px}.slide-caption>a{font-size:12px;min-height:44px;align-items:center}
.carousel-controls{display:block;padding:15px 25px;background:#101c31}
.question-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.question-selector{border:1px solid #394962;border-radius:6px;padding:8px 6px;min-height:44px;background:transparent;color:#a7b8d2;font-size:11px;line-height:1.4;font-weight:500}
.question-selector[aria-pressed=true]{color:#e7f6ff;background:#214666;border-color:#74ceff;box-shadow:inset 0 -2px #74ceff}.question-selector:hover{border-color:#74ceff;color:#e7f6ff}
.transport{display:flex;align-items:center;gap:8px;margin-top:8px;width:100%}.transport button{min-height:44px;min-width:36px;width:auto;padding:7px 10px;font-size:11px;line-height:1.4}.transport #pause-slides{min-width:80px}#rotation-status{font-size:10px;line-height:1.5;color:#a7b8d2;margin-left:auto}
.learning-path{padding-block:100px 110px;display:grid;grid-template-columns:.8fr 2fr;gap:70px}.learning-path .section-heading{margin:0}.section-heading h2{font-size:38px;font-weight:500;line-height:1.2;letter-spacing:-.045em}.section-heading .eyebrow{font-size:9px;margin-bottom:18px}
.pillars{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:12px 0 0;margin:0}.pillars li{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;align-items:start}
.large-number{font:9px/1.5 'JetBrains Mono',monospace;letter-spacing:.06em;margin-bottom:28px}.pillars li:nth-child(2) .large-number{color:var(--lavender)}.pillars li:nth-child(3) .large-number{color:var(--green)}
.pillars h3{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:-.025em;margin-bottom:14px}.pillars p{font-size:12px;line-height:1.9;margin-bottom:22px}.pillars a{color:var(--text);font-size:10px;font-weight:500;margin-top:auto;padding-block:10px}.pillars a span{color:var(--blue);margin-left:4px}
.home-curriculum{padding-block:100px;border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(46,66,99,.11),transparent 45%)}
.curriculum-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.curriculum-heading h2{font-size:54px;margin-bottom:0}.curriculum-heading h2 span{color:var(--muted)}.curriculum-heading>p{max-width:330px;margin:0 0 5px;font-size:13px;line-height:1.9;color:var(--muted)}
.anchor-alias{display:block;scroll-margin-top:100px}.curriculum-group{margin-block:40px 56px}.group-title{font:500 11px/1.5 'JetBrains Mono',monospace;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:20px;margin-bottom:24px}
.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.chapter-card{min-width:0;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 12px 45px rgba(0,0,0,.06);scroll-margin-top:100px}
.chapter-card:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.chapter-top{display:flex;align-items:center;gap:13px;margin-bottom:25px}.chapter-number{font:20px/1.2 'JetBrains Mono',monospace;color:var(--blue);letter-spacing:-.08em}.chapter-method{font-size:11px;font-weight:500;line-height:1.5;color:var(--muted)}.chapter-tag{font-size:9px;font-weight:500;padding:5px 9px;border:1px solid color-mix(in srgb,var(--green) 35%,transparent);color:var(--green);border-radius:20px;margin-left:auto;white-space:nowrap}
.chapter-card:nth-child(3n+2) .chapter-number{color:var(--lavender)}.chapter-card:nth-child(3n) .chapter-number{color:var(--green)}
.chapter-story h3{font-size:30px;line-height:1.24;font-weight:500;letter-spacing:-.04em;margin:0 0 16px;max-width:480px;min-height:75px}.chapter-story>p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:24px;min-height:75px;max-width:510px}
.chapter-thumb{position:relative;display:block;width:100%;aspect-ratio:3/2;padding:0;border:1px solid var(--line);background:#0e1729;border-radius:8px;cursor:zoom-in;margin:0 0 23px;overflow:hidden}.chapter-thumb img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.chapter-thumb:hover img{transform:scale(1.025)}
.art-caption{position:absolute;left:0;bottom:0;right:0;padding:30px 15px 12px;color:#e2e8f0;background:linear-gradient(transparent,rgba(9,17,32,.95));font-size:10px;display:flex;justify-content:space-between}
.chapter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chapter-action{display:inline-flex;gap:7px;align-items:center;padding:10px 12px;min-height:44px;font-size:11px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-weight:500}.chapter-action-primary{color:var(--text);background:color-mix(in srgb,var(--blue) 8%,transparent);border-color:color-mix(in srgb,var(--blue) 25%,transparent)}.chapter-action:hover{color:var(--blue);border-color:var(--blue)}.chapter-action>span{color:var(--blue);font-size:14px}
.chapter-card .podcast-launch-row{margin:0;padding-top:15px;border-top:1px solid var(--line);max-width:none}.chapter-card .podcast-launch{display:flex;justify-content:start;gap:10px;width:100%;min-height:44px;border:0;background:transparent;box-shadow:none;padding:5px 0;color:var(--text);border-radius:0;text-align:left}.chapter-card .podcast-launch-label{flex:0 1 auto;justify-content:flex-start;padding:0;font:500 12px/1.5 Inter,sans-serif}.chapter-card .podcast-launch-icon{flex:0 0 38px;background:var(--lavender);border-radius:8px;width:38px;height:32px;display:grid;place-items:center}.chapter-card .podcast-launch-icon svg{width:34px}.chapter-card .podcast-launch:after{content:'↓';margin-left:auto;color:var(--muted)}.chapter-card .podcast-launch[aria-expanded=true]:after{content:'↑'}.chapter-card .podcast-launch:hover{transform:none;color:var(--blue)}
.chapter-card:has(.podcast-player:not([hidden])){grid-column:1/-1}.chapter-card:has(.podcast-player:not([hidden]))>.chapter-thumb{max-width:540px}.chapter-card:has(.podcast-player:not([hidden])) .chapter-story h3,.chapter-card:has(.podcast-player:not([hidden])) .chapter-story>p{min-height:0;max-width:720px}.chapter-card .podcast-player{margin-top:22px;scroll-margin-top:100px}
.appendices{border-block:1px solid var(--line);padding-bottom:0}.appendices summary{display:flex;justify-content:space-between;gap:20px;padding-block:26px;cursor:pointer;list-style:none}.appendices summary::-webkit-details-marker{display:none}.appendices strong{font-size:19px;font-weight:500}.appendices small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.overview-toggle{font-size:26px;color:var(--blue)}.appendices[open] .overview-toggle{transform:rotate(45deg)}.appendices>.chapter-grid{padding-bottom:30px}
.curriculum-credit{font-size:11px;line-height:1.9;color:var(--muted);margin:30px 0 0;text-align:center}
#mindmap-viewer{width:min(1500px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}#mindmap-viewer::backdrop{background:#030914d9;backdrop-filter:blur(4px)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid var(--line)}.viewer-bar h2{font-size:16px;font-weight:500;line-height:1.5;margin:0}.viewer-bar>div{display:flex;align-items:center;gap:20px}.viewer-bar a{font-size:12px;white-space:nowrap;color:var(--blue)}#close-mindmap{border:1px solid var(--line);border-radius:7px;background:transparent;font-size:26px;min-width:44px;min-height:44px}.viewer-image{overflow:auto;max-height:calc(94dvh - 145px);background:#0e1729}.viewer-image img{display:block;max-width:100%;width:100%;height:auto;max-height:calc(94dvh - 145px);object-fit:contain;margin:auto}#mindmap-status{font-size:12px;color:var(--muted);margin:8px 20px}body:has(#mindmap-viewer[open]){overflow:hidden}
@media(max-width:1150px){.shell{width:calc(100% - 64px)}.hero-grid{column-gap:36px;padding-block:48px 40px}.learning-path{grid-template-columns:1fr;gap:25px;padding-block:75px}.learning-path .section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:end}.learning-path .eyebrow{grid-column:1/-1}.pillars{gap:40px}.curriculum-heading h2{font-size:44px}}
@media(max-width:1000px){.hero .shell{width:min(680px,calc(100% - 64px))}.hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "author" "showcase";grid-template-rows:auto;gap:36px;padding-block:48px 32px}.hero-copy{display:block}.hero h1{font-size:clamp(35px,10.5cqi,65px)}.hero-description{max-width:560px}.hero-orbit{top:-50px;right:-700px}.hero-bottom>a{display:none}.slide-intro h2{font-size:30px}}
@media(max-width:850px){.home-curriculum{padding-block:70px}.curriculum-heading{gap:30px}.curriculum-heading h2{font-size:40px}.curriculum-heading>p{max-width:260px}.chapter-grid{grid-template-columns:1fr;gap:24px}.chapter-story h3{min-height:0;max-width:580px;font-size:34px}.chapter-story>p{min-height:0;max-width:580px}.chapter-card:has(.podcast-player:not([hidden]))>.chapter-thumb{max-width:none}}
@media(max-width:560px){.shell,.hero .shell{width:calc(100% - 40px)}.hero-grid{padding-block:36px 28px;gap:28px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.1em}.hero h1{font-size:10.4cqi;margin-bottom:22px}.hero-hook{font-size:23px}.hero-description{font-size:14px}.hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.hero .button{width:100%;min-height:52px;font-size:13px}.hero .text-link{text-align:center;min-height:44px;padding-block:12px}.hero-welcome{text-align:center;font-size:10px;margin-top:8px}.hero-author{gap:14px;padding-top:22px}.hero-author img{width:64px;height:64px}.hero-author p{font-size:12px}.hero-author p:first-child{font-size:13px}.hero-bottom{display:block;font-size:9px}.hero-bottom p>span{margin-inline:8px}.hero-bottom strong{font-size:13px}.deck-header{padding:17px 18px;font-size:9px}.slide-intro{padding:20px 18px 12px;min-height:150px}.slide-intro h2{font-size:25px}.slide-caption{padding:12px 18px 18px;min-height:210px}.slide-caption>p{min-height:86px}.carousel-controls{padding:14px 18px}.transport{gap:5px;justify-content:start}#rotation-status{font-size:9px;max-width:80px}.transport button{padding:6px 8px;min-width:30px}.transport #pause-slides{min-width:72px}.learning-path{padding-block:60px;gap:15px}.learning-path .section-heading{display:block}.section-heading h2{font-size:34px}.pillars{grid-template-columns:1fr;gap:28px}.large-number{margin-bottom:16px}.pillars h3{font-size:19px}.pillars p{font-size:13px;margin-bottom:12px}.pillars a{font-size:12px}.curriculum-heading{display:block}.curriculum-heading h2{font-size:36px;margin-bottom:22px}.curriculum-heading>p{max-width:none}.home-curriculum{padding-block:60px}.chapter-card{padding:20px}.chapter-top{gap:10px;margin-bottom:20px}.chapter-method{font-size:10px}.chapter-story h3{font-size:27px}.chapter-story>p{font-size:12px;margin-bottom:20px}.chapter-action{font-size:11px;padding:9px 10px}.chapter-thumb{margin-bottom:18px}.chapter-actions{gap:7px}.art-caption{font-size:9px}.group-title{font-size:10px}.viewer-bar{padding:10px 12px;gap:10px}.viewer-bar h2{font-size:12px}.viewer-bar>div{gap:10px}.viewer-bar a{font-size:10px}.appendices small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter-thumb img{transition:none}.chapter-thumb:hover img{transform:none}}

@media(min-width:1250px){.question-selectors{grid-template-columns:repeat(6,minmax(0,1fr))}}

.chapter-card .podcast-heading h5{overflow-wrap:anywhere}

/* Keep the opening view proportional to the available screen height.
   Text stays in normal flow: small screens and zoom can always scroll. */
.hero h1>span{white-space:normal;overflow-wrap:normal}
.hero-author,.deck-header,.transport{min-width:0}
.deck-header{gap:12px;align-items:center}
.transport{flex-wrap:wrap}
.transport button{height:auto}
.hero-bottom{flex-wrap:wrap}

@media(min-width:1001px){
  .hero-grid{padding-block:clamp(16px,2svh,32px);row-gap:20px;grid-template-rows:1fr auto}
  .hero-copy .eyebrow{margin-bottom:14px}
  .hero h1{font-size:clamp(35px,9.5cqi,56px);margin-bottom:18px}
  .hero-hook{font-size:24px;margin-bottom:12px}
  .hero-description{line-height:1.6;margin-bottom:18px}
  .hero .actions{gap:12px 20px}
  .hero .button{padding:12px 18px;min-height:44px}
  .hero-welcome{margin-top:10px}
  .hero-author{padding-top:16px;gap:16px}
  .hero-author img{width:56px;height:56px}
  .hero-author p{font-size:12px;line-height:1.6;margin-bottom:4px}
  .hero-author p:first-child{font-size:14px}
  .deck-header{padding:10px 20px}
  .slide-intro{padding:14px 20px 8px;min-height:0}
  .slide-intro .eyebrow{margin-bottom:8px}
  .slide-intro h2{font-size:clamp(23px,1.9vw,28px)}
  .question-slide .chart{height:clamp(180px,calc(100svh - 600px),280px);object-fit:contain}
  .slide-caption{padding:8px 20px 10px;min-height:0}
  .slide-caption>p{min-height:0;line-height:1.6;margin-bottom:8px}
  .chart-meta{padding-top:7px;margin-bottom:2px}
  .slide-caption>a{min-height:32px}
  .carousel-controls{padding:10px 16px}
  .question-selectors{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .question-selector{padding:5px 2px;font-size:10px}
  .transport{margin-top:6px}
  .hero-bottom{padding-block:10px}
}

@media(max-width:1000px){
  .hero-author{align-self:start}
  .slide-intro,.slide-caption,.slide-caption>p{min-height:0}
  .question-deck{max-width:620px}
}
@media(max-width:380px){
  .hero-author{align-items:flex-start}
  .hero-author img{width:48px;height:48px}
  .hero-bottom p>span{margin-inline:4px}
  .brand{max-width:160px}
  .nav-shell{gap:6px}
}

@media(min-width:1001px) and (max-height:700px){
  .deck-header{padding-block:6px}
  .carousel-controls{padding-block:6px}
  .hero-grid{row-gap:16px}
}
