/* Type system: Clash Display (headlines) + Satoshi (everything else). Both ITF Free Font License, self-hosted. */
@font-face{font-family:'Clash Display';src:url('/assets/fonts/clash-display-variable.woff2') format('woff2');font-weight:200 700;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/assets/fonts/satoshi-variable.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/assets/fonts/satoshi-variable-italic.woff2') format('woff2');font-weight:300 900;font-style:italic;font-display:swap}
:root{--display:'Clash Display','Satoshi',system-ui,sans-serif;--body:'Satoshi',system-ui,sans-serif;--headline:var(--display)}
/* override the old global NPW Common rule */
body,button,input,textarea,select,p,li,dt,dd,figcaption,label,summary,a,blockquote,span,strong,small,output,td,th,dfn,em,b{font-family:var(--body)!important}
h1,h2,h3,h4,h1 *,h2 *,h3 *,.crew-card-body strong,.ht-card h3,.cast-kid strong,.gd-card strong,.gd-card-no,.fit-intro h2,.st-head h2,.gd-opener h1,.rw-card strong,
.field-guide :is(h1,h2,h3,h4,dfn,.gd-card-no,.gd-ladder button span,.gd-std summary,.gd-rubric tbody th,.gd-concepts dfn),.gd-shelf :is(h1,h2,h3){font-family:var(--display)!important;letter-spacing:-.01em}
h1{font-weight:700!important;letter-spacing:-.02em!important}
h2,h3{font-weight:650!important}
body{font-weight:450;-webkit-font-smoothing:antialiased;color:#142b46}
p,li,dd{line-height:1.6}
/* no grey text anywhere: secondary text is ink, labels are brand blue */
:root{--muted:#142b46}
.field-guide,.gd-shelf{--muted:#1d3a66;--serif:var(--body)}
:is(.rw-foot,.rw-why,.ig-note,.gz-chat-head small,.reel-card figcaption,.crew-hero-copy p,.sb-locked figcaption,.fit-tags,.ht-count,.gz-when,.gd-in-case,.gd-card-body>span:last-child,.cast-kid em,.st-product b,.cp-cta b){color:#1d3a66!important}
main small,main figcaption{opacity:1!important}
.field-guide :is(.gd-question,.gd-in-case,.gd-margin p,.gd-artifact figcaption,.gd-notes li,.gd-prompt,.gd-card-body>span:last-child,.gd-concepts span[lang],.gd-art-excerpt){font-family:var(--body)!important}
.field-guide .gd-question{font-weight:600;font-style:normal!important}
/* Clash Display is already tight: undo older negative tracking so word spaces survive */
h1,h2,h3,h4,h1 *,h2 *,h3 *,:is(.field-guide,.gd-shelf) :is(h1,h2,h3,h4){letter-spacing:0!important;word-spacing:.08em!important;font-variation-settings:normal!important}
h1{letter-spacing:-.005em!important}
.td-btn{align-items:flex-start}
/* Labels speak in sentence case at a readable size; no tiny shouting, no stretched tracking.
   Hierarchy comes from weight, colour and placement instead. */
*,*::before,*::after{text-transform:none!important}
body *:not(h1):not(h2):not(h3):not(h1 *):not(h2 *):not(h3 *){letter-spacing:0!important}
:is(.eyebrow,.fit-eyebrow,.gd-kicker,.gd-running,.gd-art-label,.gd-paper-label,.companion-label,.cast-role,.cp-tag,.rw-top,.rw-type,.ig-facts dt,.gd-route dt,.scene-place>span,.gz-moment-who span,[class*="eyebrow"],[class*="kicker"]){
 font-size:max(.9rem,13px)!important;font-weight:750!important;line-height:1.3!important}
/* Wrapping: headlines break into balanced lines, paragraphs avoid a stranded last word */
h1,h2,h3,h4,blockquote,figcaption strong,.primary-action,button{text-wrap:pretty}
p,li,dd,figcaption,summary{text-wrap:pretty}
/* Space allocation: a heading gets the room it needs; layouts stack before they squeeze */
@media (max-width:1100px){
 .creator-letter,.equity-letter,.episode-story,.season-after{grid-template-columns:1fr!important;gap:1.25rem!important}
 .season-after h2{grid-row:auto!important}.season-after details{grid-column:auto!important}
}
.small-question{flex-wrap:wrap}
.small-question h2{flex:1 1 22ch;min-width:min(100%,22ch)}
.mission-steps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.mission-steps button,.moment-controls button,.ht-sides button{white-space:nowrap}
.moment-controls,.ht-sides{flex-wrap:wrap}
.story-row-label{max-width:none!important;white-space:nowrap}
.rw-type,.gd-art-label span{white-space:nowrap;flex:none}
@media (max-width:700px){.chapter-nav{display:flex!important;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chapter-nav a{white-space:nowrap;flex:none}}
.made-with{padding-block:48px}.made-with h2{margin:0 0 18px}
.made-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.made-grid>div{border:2px solid #142b46;border-radius:20px;padding:18px;background:#fff}
.made-grid h3{margin:0 0 6px}
/* chapter tabs on the homepage: readable, not tiny */
main [data-chapter]::before{font-size:1rem!important;padding:8px 16px!important;font-weight:800!important}
.moment-more{margin:22px 0 0;display:flex;justify-content:center}
.hl{display:inline-block}
.teach-covers{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:18px!important;align-content:center}
.teach-covers .bk-mini{box-shadow:inset 8px 0 0 rgba(0,0,0,.14),4px 5px 0 #142b46}
.assign-table{padding-block:40px}.assign-table h2{margin:0 0 8px}.assign-table>p{max-width:70ch}
.assign-scroll{overflow-x:auto;border:2px solid #142b46;border-radius:18px;background:#fff;margin-top:14px}
.assign-table table{width:100%;border-collapse:collapse;min-width:720px}
.assign-table th,.assign-table td{padding:10px 14px;text-align:left;border-bottom:1.5px solid #dbe3f2;vertical-align:top}
.assign-table thead th{background:#142b46;color:#fff;font-weight:800}
.assign-table tbody th a{font-family:var(--display);font-weight:650;color:#142b46}
.assign-table tbody th span{display:block;font-weight:500;font-size:.92rem;margin-top:2px}
.assign-table td a{font-weight:700;white-space:nowrap}
/* small text on brand pink needs the deeper pink to stay readable (4.5:1) */
.fit-eyebrow{background:#c2185b!important}
/* contrast fixes found by the site-wide sweep */
.clip-player .load-clip{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.next-episode .primary-action{color:#142b46!important}
.rw-top .rw-outlet{color:#fff!important}
.bk-pin{background-color:#c2185b!important}
.mg-intro{padding-block:30px 10px}.mg-intro h1{font-size:clamp(2.4rem,5.5vw,4.2rem);margin:0 0 12px}.mg-intro p{font-size:1.1rem;max-width:64ch}
.mg-matrix{padding-block:24px}.mg-matrix tbody th a{font-family:var(--display);font-weight:650;color:#142b46}.mg-matrix tbody th span{display:block;font-weight:500;font-size:.9rem;margin-top:2px}
.mg-matrix table{width:100%;border-collapse:collapse;min-width:720px}.mg-matrix th,.mg-matrix td{padding:10px 14px;text-align:left;border-bottom:1.5px solid #dbe3f2;vertical-align:top}
.mg-matrix thead th{background:#142b46;color:#fff}.mg-note{margin-top:10px;max-width:70ch}
.mg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;padding-block:20px}
.mg-sec{border:2px solid #142b46;border-radius:22px;padding:20px 22px;background:#fff;box-shadow:5px 6px 0 #ffdc52}.mg-sec h2{margin:0 0 10px;font-size:1.6rem}
.mg-sec p{margin:0 0 10px;padding-left:18px;position:relative}.mg-sec p::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:#124dec}
.mg-fine{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;padding-block:10px 50px}.mg-sec.fine{box-shadow:none;background:#f4f7ff}.mg-sec.fine p::before{display:none}.mg-sec.fine p{padding-left:0}
.mg-matrix td:nth-child(3),.mg-matrix td:nth-child(4),.mg-matrix th:nth-child(3),.mg-matrix th:nth-child(4){white-space:nowrap}
.mg-matrix td:nth-child(2){min-width:26ch}
/* the story intro splits heading and text only when both fit; below 1100px they stack */
@media (max-width:1100px){.episode-story>div{display:block!important}.episode-story h2{margin-bottom:.6em}}
/* short block labels balance their lines instead of stranding a word */
:is(label,legend,dt,th,summary,.src-title,.involvement-index b,.platform-partners a,.ig-status strong){text-wrap:pretty}
/* ---------- real-world sources: one clean card style ---------- */
.src-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px;align-items:stretch;margin-top:18px}
.src-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px;background:#fff;border:2px solid #142b46;border-radius:18px;text-decoration:none;color:#142b46;box-shadow:5px 6px 0 var(--src-c,#ffdc52);transition:transform .15s}
.src-card:hover,.src-card:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 8px 0 var(--src-c,#ffdc52)}
.src-t-video{--src-c:#124dec}.src-t-research{--src-c:#c2185b}.src-t-official{--src-c:#142b46}.src-t-podcast{--src-c:#7b4dff}
.src-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.src-type{display:inline-flex;align-items:center;gap:6px;background:#142b46;color:#fff!important;border-radius:99px;padding:3px 11px;font-weight:800;font-size:.8rem;line-height:1.4}
.src-t-video .src-type::before{content:"";width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
.src-outlet{font-weight:700;font-size:.88rem;color:#142b46!important}
.src-title{font-family:var(--body)!important;font-weight:800;font-size:1.06rem;line-height:1.32;letter-spacing:0;word-spacing:normal;text-wrap:pretty}
.src-why{font-size:.95rem;line-height:1.5}
.src-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1.5px dashed #c9d4ea;font-size:.88rem;font-weight:600}
.src-foot b{color:#124dec}
@media (prefers-reduced-motion:reduce){.src-card:hover{transform:none}}
/* ---------- glossary note cards: one card per term, rotated as a unit ---------- */
.case-learning-note dl.gl-grid{display:grid!important;grid-auto-flow:row!important;grid-template-rows:none!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;gap:18px!important;margin:20px 0 24px!important}
.case-learning-note .gl-card{background:#fff;border:2px solid #142b46;border-radius:14px;box-shadow:4px 5px 0 rgba(20,43,70,.12);overflow:hidden;display:flex;flex-direction:column;border-top:6px solid #ee326c}
.case-learning-note .gl-card:nth-child(odd){transform:rotate(-.6deg)}.case-learning-note .gl-card:nth-child(even){transform:rotate(.6deg)}
.case-learning-note .gl-card dt,.case-learning-note .gl-card dd{transform:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background-color:transparent}
.case-learning-note .gl-card dt{padding:12px 16px 4px!important;font-size:1.1rem;font-weight:800}
.case-learning-note .gl-card dt::after{display:none}
.case-learning-note .gl-card dd{flex:1;padding:4px 16px 16px!important;font-size:.95rem;line-height:1.55;background-image:repeating-linear-gradient(transparent 0 calc(1.55em - 1px),#e4ebf7 calc(1.55em - 1px) 1.55em);background-position:0 4px}
.gl-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:4px}
.gl-levels section{background:#fff;border:2px solid #142b46;border-radius:16px;padding:14px 16px;box-shadow:4px 5px 0 #124dec}
.gl-levels section:nth-child(2){box-shadow:4px 5px 0 #ffdc52}.gl-levels section:nth-child(3){box-shadow:4px 5px 0 #ee326c}
.gl-levels h3{font-size:1.1rem!important;margin:0 0 6px}
.gl-levels p{margin:0;max-width:none!important;line-height:1.55}
.gl-more{margin:18px 0 0}
@media (prefers-reduced-motion:reduce){.case-learning-note .gl-card{transform:none}}

/* text inside bordered boxes uses the box's full width (the box sets the measure) */
main :is(details,.gz-moment,.case-pass,.gl-levels section,.src-card,.meaning-desk,.your-call,.method-desk,.take-it-outside,.after-scene,.case-course-options,.deeper-work,.ws) p{max-width:none}
.guest-visit{display:grid!important;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.guest-visit .guest-cut{width:120px;height:120px;object-fit:contain;border-radius:50%;background:#fff6d6;border:2px solid #142b46}
.guest-kicker{margin:0;font-weight:800;color:#124dec}.guest-visit h3{margin:2px 0}.guest-role{margin:0 0 6px;font-weight:700}
