/* Episode page template (Phase 2, step 1). Tokens live in tokens.css. */
/* Latin Extended faces (range copied from the live site's index.html) */
@font-face{font-family:"Schibsted Grotesk";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/schibsted-grotesk-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/schibsted-grotesk-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/schibsted-grotesk-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--rf-thermal);color:var(--rf-print);font-family:var(--rf-display);font-size:var(--rf-body);line-height:1.65}
*{transition:none!important;animation:none!important}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--rf-print);outline-offset:3px}
.navy :focus-visible{outline-color:var(--rf-thermal)}
.wrap{max-width:var(--rf-container);margin:0 auto;padding:0 var(--rf-gutter)}
.mono{font-family:var(--rf-mono);font-size:var(--rf-meta);line-height:1.5}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--rf-thermal);padding:12px;z-index:9}

/* Nav */
.nav{display:flex;justify-content:space-between;align-items:center;min-height:76px;gap:16px}
.wordmark{font-weight:800;letter-spacing:var(--rf-track-head);font-size:22px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px;font-size:16px}
.nav li a{display:inline-flex;align-items:center;min-height:44px}

/* Header */
.ep-head{padding:40px 0 40px}
.meta{color:var(--rf-faded);margin:0 0 20px}
h1{font-weight:800;font-size:var(--rf-h1);line-height:.98;letter-spacing:var(--rf-track-display);margin:0 0 24px;max-width:14ch}
.guest{margin:0;font-size:18px;color:var(--rf-faded)}
.guest strong{color:var(--rf-print);font-weight:500}

/* Video facade */
.video{position:relative;aspect-ratio:16/9;background:var(--rf-ballpoint);overflow:hidden}
.video>img{width:100%;height:100%;object-fit:cover}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play img{width:16px;height:18px}
.play{position:absolute;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 18px;background:var(--rf-thermal);color:var(--rf-print);border:0;font:500 16px/1.2 var(--rf-display);cursor:pointer}
.play span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.play:hover span,.play:focus-visible span{text-decoration-thickness:2px}
.play:focus-visible{outline:2px solid var(--rf-print);outline-offset:3px;box-shadow:0 0 0 3px var(--rf-thermal)}
.caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;color:var(--rf-faded);margin:12px 0 0}
.caption a{color:var(--rf-print);min-height:44px;display:inline-flex;align-items:center}

/* Body row: ends where the story ends */
.row{display:grid;grid-template-columns:minmax(0,var(--rf-article)) var(--rf-aside);column-gap:var(--rf-aside-gap);justify-content:space-between;align-items:start;margin-top:var(--rf-section)}
.row>.scorecard-wrap{grid-column:2;grid-row:1;position:sticky;top:var(--rf-sticky-top);max-height:calc(100vh - 2 * var(--rf-sticky-top));overflow-y:auto;overscroll-behavior:contain}
.row>article{grid-column:1;grid-row:1}
.dek{font-weight:500;font-size:var(--rf-dek);line-height:1.45;margin:0 0 var(--rf-stack)}
article p{margin:0 0 1.1em}
blockquote{margin:var(--rf-stack) 0;padding:0}
blockquote p{font-weight:800;font-size:var(--rf-quote);line-height:1.15;letter-spacing:var(--rf-track-head);margin:0 0 16px}
blockquote footer{color:var(--rf-faded)}
h2{font-weight:800;font-size:var(--rf-h2);letter-spacing:var(--rf-track-head);line-height:1.1;margin:var(--rf-stack) 0 24px}
.lessons{list-style:none;padding:0;margin:0;counter-reset:l}
.lessons>li{border-top:1px solid var(--rf-hairline);padding:24px 0;counter-increment:l}
.lessons.num>li::before{content:counter(l,decimal-leading-zero);font-family:var(--rf-mono);font-size:15px;color:var(--rf-faded);display:block;margin-bottom:6px}
h3{font-weight:800;font-size:var(--rf-h3);line-height:1.2;margin:0 0 8px}
.lessons p{margin:0}

/* Figure line */
.fig{display:flex;align-items:baseline;gap:8px;font-family:var(--rf-mono);font-size:15px;line-height:1.4;margin-top:12px}
.fig .lbl{flex:0 1 auto}
.fig .lead{flex:1 1 24px;border-bottom:1px dotted var(--rf-rule);transform:translateY(-4px);min-width:16px}
.fig .val{font-weight:500;text-align:right}
.carbon .val,.val.carbon{color:var(--rf-carbon)}

/* Scorecard slip */
.scorecard{background:var(--rf-thermal);border:1px solid var(--rf-hairline);box-shadow:0 1px 0 var(--rf-hairline),0 12px 28px rgba(28,28,26,.08);padding:var(--rf-slip-pad);transform:rotate(var(--rf-slip-tilt));font-family:var(--rf-mono);font-size:14px;line-height:1.45}
.scorecard h2{font:500 14px/1.4 var(--rf-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.sc-head{color:var(--rf-faded);margin:0 0 16px;padding-bottom:14px;border-bottom:1px dashed var(--rf-rule)}
.sc-rev .lbl{display:block;color:var(--rf-faded)}
.sc-rev .val{display:block;font-size:38px;font-weight:500;line-height:1.1;letter-spacing:-.02em;margin:4px 0}
.status{display:block;color:var(--rf-faded);font-size:13px}
.usd{display:block;color:var(--rf-faded);font-size:13px;margin-top:2px}
.sc-lines{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px dashed var(--rf-rule)}
.sc-lines li{margin:0 0 12px}
.sc-lines .fig{margin:0;font-size:14px}
.sc-extra{margin-top:16px;padding-top:14px;border-top:1px dashed var(--rf-rule)}
.sc-extra p{margin:0 0 12px}
.sc-extra .k{display:block;color:var(--rf-faded);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.sc-disc{color:var(--rf-faded);font-size:13px;margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--rf-rule);font-family:var(--rf-display);line-height:1.45}
.sc-toggle{display:none}

/* Transcript */
.transcript{margin-top:var(--rf-section);border-top:1px solid var(--rf-hairline);border-bottom:1px solid var(--rf-hairline)}
.transcript summary{min-height:56px;display:flex;align-items:center;cursor:pointer;font-weight:800;font-size:20px}
.transcript .body{padding:0 0 24px;color:var(--rf-faded)}

/* Related */
.related{margin-top:var(--rf-section)}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.card a{display:block;text-decoration:none;min-height:44px}
.card .thumb{aspect-ratio:16/9;background:var(--rf-ballpoint);margin-bottom:14px}
.card h3{font-size:20px}
.card a:hover h3{text-decoration:underline;text-decoration-thickness:2px}
.card .mono{color:var(--rf-faded);margin:0 0 6px}

/* Navy band + footer */
.navy{background:var(--rf-ballpoint);color:var(--rf-thermal);margin-top:var(--rf-section);padding:var(--rf-section) 0 40px}
.navy h2{margin-top:0;font-size:var(--rf-h2)}
.navy p{color:var(--rf-on-navy-muted);max-width:56ch}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;background:var(--rf-thermal);color:var(--rf-print);font-weight:800;text-decoration:none}
.btn:hover{text-decoration:underline;text-decoration-thickness:2px}
.band-actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:24px}
.band-actions a:not(.btn){min-height:44px;display:inline-flex;align-items:center}
.foot{margin-top:72px;padding-top:24px;border-top:1px solid var(--rf-navy-rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--rf-on-navy-muted);font-size:15px}
.foot ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.foot a{min-height:44px;display:inline-flex;align-items:center}

/* Phone: under 960px */
@media (max-width:959.98px){
  :root{--rf-section:56px;--rf-stack:40px}
  body{font-size:17px;line-height:1.6}
  .mono{font-size:13px}
  h1{font-size:40px;margin-bottom:16px}
  .ep-head{padding:16px 0 24px}
  .meta{margin-bottom:12px}
  .guest{font-size:16px}
  .nav{min-height:60px}
  .nav ul{gap:16px;font-size:15px}
  .video-wrap{margin:0 calc(-1 * var(--rf-gutter))}
  .play{right:12px;bottom:12px}
  .caption{padding:0}
  .row{display:block;margin-top:24px}
  .row>.scorecard-wrap{position:static;max-height:none;overflow:visible;margin:0 0 40px}
  .scorecard{transform:none}
  h2{font-size:28px}
  h3{font-size:20px}
  .dek{font-size:21px}
  blockquote p{font-size:29px}
  .js .scorecard[data-expanded="false"] .collapsible{display:none}
  .js .sc-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:16px;background:transparent;border:1px solid var(--rf-print);color:var(--rf-print);font:500 14px var(--rf-mono);cursor:pointer}
  .cards{grid-template-columns:1fr;gap:0}
  .card a{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--rf-hairline)}
  .card .thumb{margin:0}
  .card h3{font-size:18px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.yt-note{margin:8px 0 0;font-size:13px;line-height:1.4;color:var(--rf-ink-2, #5C5A55)}
@media (max-width:720px){.yt-note{padding:0 var(--rf-gutter)}}
/* Phase 2: fictional-example banner (preview/example records only) and figure labels */
.example-banner{background:#FFE36E;color:#1C1C1A;border-bottom:2px solid #1C1C1A;padding:12px 24px;font:500 15px/1.4 var(--rf-display);text-align:center}
.status .def{color:inherit;text-decoration:underline}
.status.basis{font-style:normal}
.transcript .ts{color:var(--rf-faded);font-size:13px}
.fig .val{white-space:nowrap}
.fig.txt{flex-direction:column;align-items:flex-start;gap:2px}
.fig.txt .lead{display:none}
.fig.txt .val{white-space:normal;text-align:left}

/* /methodology/ (build-methodology.mjs) */
.methodology { max-width: 48.3rem; /* content measure 576px -> 645px (+12%), Michael 21 Oct */ padding-block: 2rem 4rem; }
.methodology h1 { margin: 0 0 1rem; max-width: none; }
.methodology h2 { margin: 2rem 0 .5rem; scroll-margin-top: 1rem; }
.methodology li, .methodology span[id] { scroll-margin-top: 1rem; }
.methodology li { margin-block: .4rem; }
.methodology :target { outline: 2px solid currentColor; outline-offset: 2px; }

/* Scorecard v2 (Michael, 21 Oct): wider column on desktop, bigger/bolder figures, one quiet line per row, detail once in the footer */
@media (min-width:960px){.row{grid-template-columns:minmax(0,var(--rf-article)) 416px;column-gap:72px}}
.sc-rev .val{font-weight:700;font-size:44px}
.sc-lines li{margin:0 0 14px}
.sc-lines .fig{font-size:14px;align-items:baseline}
.sc-lines .fig .val{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.sc-lines .fig.txt .val{font-size:15px;font-weight:500}
.status.short{font-size:13px;letter-spacing:.01em;margin-top:2px}
.status .mark{color:inherit;text-decoration:none}
.sc-foot{margin-top:16px;padding-top:14px;border-top:1px dashed var(--rf-rule)}
.sc-foot .status{margin:0 0 8px}
.sc-foot .sc-disc{margin:12px 0 0;padding-top:0;border-top:0}
@media (max-width:959.98px){.sc-rev .val{font-size:38px}.sc-lines .fig .val{font-size:18px}.status.short{font-size:13px}}
