/* The introduction occupies the entire viewport; the course shell returns on exit. */
body.immersive{background:#071d24;color:#f6f8ed;overflow:hidden}
.immersive #sidebar,.immersive #topbar,.immersive .footer{display:none}
.immersive .workspace{margin:0;min-height:100dvh;width:100%}
.immersive #main{padding:0;outline:none}
.immersive #main>.content{padding:0;max-width:none;width:100%;margin:0}
.intro-stage{--ink:#f6f8ed;--lime:#d4eb9d;position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#071d24;color:var(--ink)}
.intro-photo{position:absolute;z-index:-3;inset:0 0 0 36%;width:64%;height:100%;object-fit:cover;object-position:45% center;opacity:.9}
.intro-stage:before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#071d24 0%,#071d24 33%,#071d24ec 46%,#071d2490 66%,#071d2415 100%),linear-gradient(0deg,#071d24e8,transparent 26%,transparent 78%,#071d24a8)}
.intro-stage.master-microscope .intro-photo{object-position:25% center}
.intro-stage:not(.kind-cover):not(.kind-finish) .intro-photo{opacity:.56}
.intro-stage.kind-rhythm .intro-photo,.intro-stage.kind-levels .intro-photo,.intro-stage.kind-evidence .intro-photo{opacity:.28}
.intro-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 4.8vw;position:relative}
.intro-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;line-height:1.1}
.intro-brand img{width:42px;height:42px;background:#234447;border:1px solid #adc49355;border-radius:12px;padding:5px}
.intro-brand strong{font-size:20px;letter-spacing:-.04em;display:block}.intro-brand small{font-size:9px;letter-spacing:.2em;color:#b5c8c8;display:block;margin-top:6px}
.intro-chapter{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#bdcfc9}
.intro-top-actions{display:flex;gap:8px;align-items:center}
.intro-stage .intro-control{color:#eef4e9;background:#ffffff0a;border:1px solid #ffffff32;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-size:12px;padding:10px 14px;border-radius:999px;text-decoration:none;cursor:pointer;min-height:40px}
.intro-stage .intro-control:hover{background:#ffffff19;border-color:#d4eb9d}.intro-stage a:focus-visible,.intro-stage button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.intro-stage .intro-control .icon{width:16px;height:16px}
.intro-body{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:5vw;align-items:center;padding:18px 4.8vw 24px;overflow:auto;scrollbar-width:thin;scrollbar-color:#637e70 transparent;min-height:0}
.intro-copy{max-width:750px;animation:intro-arrive .35s ease-out both}
.intro-kicker{display:flex;align-items:center;gap:12px;color:var(--lime);font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:600}
.intro-kicker:before{content:'';width:24px;height:1px;background:currentColor;flex-shrink:0}
.intro-copy h1{color:var(--ink);font-size:clamp(36px,4.7vw,78px);line-height:1.035;letter-spacing:-.052em;font-weight:500;margin:26px 0;max-width:760px;text-wrap:balance}
.intro-copy .intro-lead{font-size:clamp(15px,1.35vw,19px);line-height:1.7;max-width:570px;color:#cfddd7;margin:0}
.intro-takeaway{font-size:13px;line-height:1.7;color:var(--lime);padding:17px 0 0;margin-top:24px;border-top:1px solid #b9d4bb38;max-width:520px}
.intro-primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:999px;background:var(--lime);color:#102b2e;font:inherit;font-size:13px;font-weight:650;padding:16px 22px;cursor:pointer;text-decoration:none;margin-top:25px}
.intro-primary:hover{background:#e7f7c6}.intro-primary .icon{width:18px;height:18px}
.intro-facts{display:flex;gap:26px;margin-top:30px;color:#a6beb7;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.intro-facts strong{display:block;font-size:23px;letter-spacing:-.02em;color:#f6f8ed;font-weight:500;margin-bottom:4px}
.intro-aside{align-self:end;padding:0 0 40px;max-width:460px;width:100%;justify-self:end}
.intro-aside .field-label{display:inline-block;padding:9px 12px;border:1px solid #ffffff47;background:#071d2470;backdrop-filter:blur(8px);color:#f0f1dd;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.intro-aside .field-note{font-size:13px;line-height:1.65;color:#eef3e4;max-width:260px;text-shadow:0 1px 12px #000;margin-top:14px}
.intro-aside .master-index{font:normal clamp(70px,8vw,130px)/1 Georgia,serif;color:#d6e7b5a0;display:block;margin-bottom:22px}
.intro-practice{padding:22px 25px;background:#071d24c9;border:1px solid #c1d4c447;border-radius:2px;backdrop-filter:blur(10px);font-size:14px;line-height:1.7;color:#dbe6dc}
.intro-practice strong{display:block;color:#d4eb9d;text-transform:uppercase;font-size:9px;letter-spacing:.15em;margin-bottom:10px}
.intro-stage .intro-bottom{padding:12px 4.8vw 24px;position:relative}
.intro-photo-credit{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#a9c1b7;line-height:1.5;margin:0 0 18px}.intro-photo-credit button{color:#d7e1d6;border:0;background:none;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:2px 0;white-space:nowrap}
.intro-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff26;padding-top:18px}
.intro-step{color:#c8d8cc;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:108px}.intro-step strong{color:#f4f7e9;font-size:20px;font-weight:500;margin-right:6px}
.intro-stage .slide-dots{flex:1;max-width:530px;display:flex;gap:7px;flex-wrap:nowrap}
.intro-stage .slide-dot{flex:1;width:auto;height:30px;border:0;min-width:10px;padding:0;border-radius:0;cursor:pointer;background:transparent}
.intro-stage .slide-dot:before{width:100%;height:2px;display:block;border-radius:0;background:#617c70;transition:background .15s}
.intro-stage .slide-dot.visited:before{background:#acc581}.intro-stage .slide-dot[aria-current=true]:before{background:#e0f3ab;height:4px;width:100%}
.intro-nav .intro-control[disabled]{opacity:.3;cursor:default}.intro-stage .intro-next{background:#d4eb9d;color:#102b2e;border-color:#d4eb9d;min-width:100px}.intro-stage .intro-next:hover{background:#e7f7c6}
.intro-controls{display:flex;gap:8px}.intro-key-hint{font-size:9px;letter-spacing:.12em;color:#a3beb0;margin-top:6px}
.intro-stage.kind-rhythm .intro-aside,.intro-stage.kind-levels .intro-aside,.intro-stage.kind-evidence .intro-aside{align-self:center;padding:0}
.intro-rhythm{display:flex;align-items:center;gap:24px;padding:13px 0;border-bottom:1px solid #ffffff24}.intro-rhythm b{font-size:36px;line-height:1.1;min-width:58px;font-weight:400;color:#d4eb9d}.intro-rhythm span{font-size:14px;color:#eef3df}.intro-rhythm small{font-size:9px;letter-spacing:.17em;color:#a6bfae;display:block;margin-bottom:4px}
.intro-level{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 20px;margin-bottom:12px;border:1px solid #c1d4c450;background:#071d24b0;text-decoration:none;color:#f1f6e3;transition:background .2s}.intro-level:hover{background:#234845}.intro-level strong{display:block;font-size:21px;font-weight:400}.intro-level small{display:block;margin-top:7px;font-size:11px;color:#b8cbbb}.intro-level .icon{width:20px;flex-shrink:0;color:#d4eb9d}
.intro-evidence{border-top:1px solid #d4eb9d60;padding-top:25px}.intro-evidence b{font-size:60px;font-weight:400;letter-spacing:-.04em;color:#d4eb9d}.intro-evidence h2{font-size:24px;font-weight:400;line-height:1.25;margin:12px 0;color:#f4f8e5}.intro-evidence p{font-size:13px;line-height:1.7;color:#bfcfc3;max-width:340px}
.photo-source{margin:25px 0;padding-top:20px;border-top:1px solid var(--border)}.photo-source img{max-width:220px;width:100%;height:auto;border-radius:10px;display:block;margin-bottom:15px}.photo-source p{font-size:12px!important}.photo-source a{overflow-wrap:anywhere}.intro-credit-note{font-size:12px;line-height:1.6;color:var(--muted)}
@keyframes intro-arrive{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.intro-body{padding-left:7vw;padding-right:7vw}.intro-top,.intro-stage .intro-bottom{padding-left:7vw;padding-right:7vw}}
@media(max-width:900px){.intro-chapter{display:none}.intro-body{gap:30px;grid-template-columns:1.2fr 1fr}.intro-copy h1{font-size:clamp(34px,5.2vw,53px)}.intro-lead{font-size:14px!important}.intro-practice{padding:18px}.intro-stage .intro-bottom{padding-bottom:18px}.intro-photo-credit{font-size:9px}.intro-key-hint{display:none}.intro-aside .master-index{font-size:75px}}
@media(max-width:650px){.intro-stage{min-height:0}.intro-top{padding:18px 22px;gap:10px}.intro-brand img{width:34px;height:34px}.intro-brand strong{font-size:18px}.intro-brand small{font-size:8px}.intro-top .intro-control{padding:9px 11px}.intro-fullscreen-label{display:none}.intro-top-actions{gap:5px}.intro-chapter{display:none}.intro-photo{inset:0;width:100%;height:58%;object-position:center top;opacity:.72}.intro-stage:before{background:linear-gradient(0deg,#071d24 22%,#071d24d9 50%,#071d2440 75%,#071d2480)}.intro-body{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:25px;padding:clamp(20px,6vh,65px) 24px 24px}.intro-copy{max-width:none}.intro-copy h1{font-size:clamp(32px,8.2vw,49px);line-height:1.06;margin:18px 0;max-width:560px}.intro-kicker{font-size:9px;letter-spacing:.13em}.intro-copy .intro-lead{font-size:14px!important;line-height:1.65}.intro-takeaway{font-size:12px;padding-top:14px;margin-top:18px}.intro-aside{padding:0;align-self:stretch;max-width:none}.intro-aside .field-label,.intro-aside .field-note,.intro-aside .master-index{display:none}.kind-cover .intro-aside,.kind-finish .intro-aside{display:none}.intro-facts{margin-top:20px;gap:24px;font-size:8px}.intro-facts strong{font-size:20px}.intro-primary{margin-top:20px;padding:13px 19px}.intro-practice{font-size:12px;padding:16px 18px}.intro-stage .intro-bottom{padding:4px 24px 18px}.intro-photo-credit{margin-bottom:12px;font-size:9px;gap:14px;align-items:flex-end}.intro-photo-credit span{max-width:65%;}.intro-nav{gap:14px;flex-wrap:wrap;padding-top:12px}.intro-step{min-width:0;flex:1}.intro-stage .slide-dots{order:3;flex-basis:100%;max-width:none;height:20px;gap:8px}.intro-stage .slide-dot{height:20px}.intro-stage .intro-control{min-height:38px;padding:8px 12px;font-size:11px}.intro-stage .intro-next{min-width:80px}.intro-evidence b{font-size:38px}.intro-evidence h2{font-size:20px}.intro-rhythm{padding:10px 0;gap:16px}.intro-rhythm b{font-size:28px}.intro-rhythm span{font-size:13px}.intro-level{padding:17px 19px}.intro-level strong{font-size:19px}}
@media(max-height:600px) and (min-width:651px){.intro-top{padding-top:14px;padding-bottom:14px}.intro-copy h1{font-size:40px;margin:16px 0}.intro-body{padding-top:10px;padding-bottom:10px}.intro-copy .intro-lead{font-size:14px}.intro-takeaway{margin-top:14px;padding-top:12px}.intro-facts{margin-top:16px}.intro-stage .intro-bottom{padding-top:0;padding-bottom:10px}.intro-photo-credit{margin-bottom:9px}.intro-nav{padding-top:10px}.intro-aside{padding-bottom:0}.intro-aside .master-index{display:none}.intro-rhythm{padding:7px 0}.intro-rhythm b{font-size:29px}}
@media(prefers-reduced-motion:reduce){.intro-copy{animation:none}.intro-stage *{transition:none!important;scroll-behavior:auto!important}}
@media print{body.immersive{overflow:visible}.intro-stage{height:auto;min-height:100vh}.intro-body{overflow:visible}}

@media(min-width:651px){.intro-copy h1{font-size:clamp(36px,4.4vw,72px);margin:20px 0}.intro-aside .intro-facts{padding-top:18px;border-top:1px solid #ffffff30}.intro-stage.kind-cover .intro-takeaway{margin-top:20px;padding-top:15px}}
@media(max-width:650px){.intro-stage.kind-cover .intro-body{padding-top:clamp(26px,8vh,70px)}}

/* Documentary portraits sit beside the narrative and retain the complete image. */
.has-portrait .intro-aside{align-self:center;padding:0;max-width:500px}
.master-portrait{margin:0 0 14px;background:#102c32;border:1px solid #b5ccb43a;box-shadow:0 22px 60px #0003}
.master-portrait button{position:relative;display:block;width:100%;border:0;padding:0;background:#071a21;cursor:zoom-in}
.master-portrait img{display:block;width:100%;height:clamp(180px,30vh,340px);object-fit:contain}
.portrait-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#071d24d9;color:#eef3df}
.portrait-expand .icon{width:14px;height:14px}
.master-portrait figcaption{padding:12px 16px;color:#eef3e4;text-align:left}
.master-portrait figcaption strong{font-size:18px;font-weight:500;display:block;letter-spacing:-.02em}
.master-portrait figcaption span{display:block;margin-top:4px;font-size:11px;color:#c3d5c6}
.master-portrait figcaption small{display:block;margin-top:7px;font-size:9px;color:#a8bdaf;line-height:1.5}
.has-portrait .intro-practice{font-size:12px;padding:14px 17px;line-height:1.6}
.has-portrait .intro-practice strong{font-size:8px;margin-bottom:6px}
.portrait-dialog .photo-source{margin:0;padding:0;border:0}
.portrait-dialog .photo-source img{max-width:100%;max-height:58vh;object-fit:contain;background:#071d24;border-radius:0}
@media(max-width:650px){.has-portrait .intro-body{padding-top:22px;gap:20px}.has-portrait .intro-aside{max-width:none}.master-portrait img{height:230px}.master-portrait figcaption strong{font-size:18px}}
@media(max-height:600px) and (min-width:651px){.master-portrait img{height:165px}.master-portrait figcaption{padding:8px 12px}.master-portrait figcaption span{display:none}.master-portrait figcaption small{margin-top:3px}.has-portrait .intro-practice{padding:10px 12px;font-size:11px}}
