@import url('/assets/fonts-a14e7d23c37f.css');
@import url('/design-tokens-e672f2006251.css');

/* Editorial direction integrated from Antigravity. Current logo and native dialogs retained. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
a { color: inherit; text-decoration: none; outline-offset: 5px; -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; outline-offset: 5px; -webkit-tap-highlight-color: transparent; }
input { font: inherit; outline-offset: 5px; -webkit-tap-highlight-color: transparent; }
select { font: inherit; outline-offset: 5px; -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--gold); }
img { display: block; max-width: 100%; width: 100%; height: auto; }
h1 { margin-top: 0; font-family: var(--book); font-weight: 600; line-height: 1.08; letter-spacing: -0.015em; text-wrap: balance; }
h2 { margin-top: 0; font-family: var(--book); font-weight: 600; line-height: 1.08; letter-spacing: -0.015em; text-wrap: balance; }
h3 { margin-top: 0; font-family: var(--book); font-weight: 600; line-height: 1.08; letter-spacing: -0.015em; text-wrap: balance; }
p { margin-top: 0; text-wrap: pretty; }
em { font-family: var(--book); font-style: italic; font-weight: 400; }
[hidden] { display: none !important; }
.wrap { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; z-index: 30; top: -100px; left: 20px; padding: 12px 20px; background: var(--ink); color: var(--bg); font: 600 13px var(--ui); }
.skip-link:focus { top: 12px; }
.site-preview { padding: 6px 20px; text-align: center; background: #22251f; color: #c0c0b4; font-size: 11px; line-height: 1.5; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand img { width: 43px; height: 43px; object-fit: contain; }
.brand > span { font: 600 clamp(26px, 6vw, 32px)/1 var(--book); letter-spacing: -.025em; white-space: nowrap; }
.brand small { display: block; margin-top: 7px; color: var(--stone); font: 10px/1.35 var(--ui); letter-spacing: .02em; }
.menu-toggle[aria-expanded=true] { background: #2a2e25; }
.site-header nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; width: 100%; font-size: 14px; }
.site-header nav a { display: block; color: var(--stone); padding: 11px 14px; min-height: 44px; border-radius: 5px; }
.site-header nav a:hover { background: #2b2f27; color: var(--ink); }
.site-header nav a[aria-current] { background: #2b2f27; color: var(--ink); }
.has-js .site-header { flex-wrap: nowrap; }
.has-js .menu-toggle { display: inline-flex; }
.has-js .site-header nav { display: none; position: absolute; top: calc(100% - 4px); left: 0; right: 0; width: auto; padding: 12px; border: 1px solid #494d41; border-radius: 10px; background: #22251f; box-shadow: 0 18px 40px #0005; }
.solid-link:hover { background: #FFFFFF; border-color: #FFFFFF; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,0.35); }
.text-arrow { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font: 500 13.5px/1.5 var(--ui); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; color: var(--ink); border-bottom: 1px solid var(--line-focus); }
.text-arrow:hover { border-color: var(--gold); color: #FFFFFF; }
.text-arrow span { color: var(--gold); font-size: 15px; transition: transform .2s ease; }
.hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% center; }
.hero-copy h1 em { color: var(--ink); font-weight: 400; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-actions a { font-size: 13px; }
.hero-baseline { position: absolute; bottom: 20px; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--stone); font: 600 10.5px/1.5 var(--monument); letter-spacing: .12em; }
.hero-baseline > span:nth-child(2) { display: none; }
.hero-baseline > a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line-focus); border-radius: 50%; font-size: 20px; color: var(--ink); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.hero-baseline > a:hover { background: var(--panel-soft); border-color: var(--gold); }
.section-top .kicker { margin-bottom: 0; }
.latest-layout { display: grid; gap: 28px; align-items: center; }
.round-play { display: grid; place-items: center; width: 54px; height: 54px; padding-left: 3px; border: 1px solid rgba(250, 247, 240, 0.4); border-radius: 50%; color: #fff; background: rgba(19, 18, 15, 0.82); backdrop-filter: blur(6px); font-size: 16px; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.latest-image > .round-play { position: absolute; bottom: 18px; left: 18px; }
.latest-copy .kicker { margin-bottom: 12px; }
.latest-copy h2 { font-size: clamp(30px, 6.5vw, 48px); letter-spacing: -.015em; margin-bottom: 18px; }
.latest-copy > p:not(.kicker) { color: var(--stone); font-size: 15px; line-height: 1.8; }
.latest-copy .episode-date { margin: 18px 0 0; font-size: 12.5px !important; color: var(--stone); }
.section-title h2 { font-size: 36px; letter-spacing: -.02em; margin: 0; }
.section-title .kicker { margin-bottom: 10px; }
.section-title > .text-arrow { flex-shrink: 0; }
.episode-grid { display: grid; grid-template-columns: 1fr; gap: 36px 24px; }
.episode-card { min-width: 0; }
.episode-art:hover img { transform: scale(1.025); }
.art-play { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 34px; height: 34px; background: rgba(19, 18, 15, 0.85); color: #fff; border: 1px solid rgba(250, 247, 240, 0.25); border-radius: 50%; font-size: 15px; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.episode-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; margin-block: 16px 10px; color: var(--gold); font: 600 10.5px/1.5 var(--monument); letter-spacing: .12em; text-transform: uppercase; }
.episode-card h3 a:hover { color: var(--gold); }
.episode-card-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; border-top: 1px solid var(--line); }
.episode-card-actions .text-arrow { border-bottom: 0; font-size: 12.5px; }
.save-episode { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--stone); font: 500 12px/1.4 var(--ui); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.share-episode { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--stone); font: 500 12px/1.4 var(--ui); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.clear-filters { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--stone); font: 500 12px/1.4 var(--ui); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.save-episode:hover { border-color: var(--line-focus); color: var(--ink); background: var(--panel-soft); }
.share-episode:hover { border-color: var(--line-focus); color: var(--ink); background: var(--panel-soft); }
.clear-filters:hover { border-color: var(--line-focus); color: var(--ink); background: var(--panel-soft); }
.save-episode[aria-pressed=true] { color: var(--ink); border-color: var(--gold); background: #25221B; }
.manifesto-grid > .kicker { margin: 0; }
.manifesto-grid > div { z-index: 1; }
.manifesto-grid h2 em { color: var(--gold); }
.manifesto-grid p:not(.kicker) { max-width: 540px; color: var(--ink-muted); font-size: 15.5px; line-height: 1.8; margin-bottom: 24px; }
.shop-story-grid { display: grid; gap: 36px; align-items: center; padding-block: 64px; }
.shop-story .kicker { color: var(--gold); }
.shop-story h2 em { color: var(--gold); }
.shop-story-copy > p:not(.kicker) { color: var(--ink-muted); font-size: 15.5px; line-height: 1.8; }
.dark-link:hover { background: #E5C358; border-color: #E5C358; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(212, 175, 55, 0.25); }
.shop-note { display: block; margin-top: 22px; color: var(--stone); font: 600 10.5px/1.5 var(--monument); letter-spacing: .14em; text-transform: uppercase; }
.shop-story-photo { display: block; width: min(380px, 100%); justify-self: center; }
.shop-story-photo > span { display: flex; justify-content: space-between; gap: 20px; margin-top: 14px; font: 600 11px/1.5 var(--monument); letter-spacing: .12em; color: var(--gold); }
.cover-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.cover-copy { position: relative; z-index: 1; padding-block: 48px 36px; }
.cover-copy h1 em { color: var(--gold); }
.cover-lede { max-width: 560px; color: var(--ink-muted); font: 400 16px/1.75 var(--ui); margin-bottom: 0; }
.cover-copy > .solid-link { margin-top: 24px; }
.cover-actions { margin-top: 24px; }
.page-intro { padding-block: 50px 70px; border-top: 1px solid var(--line); }
.page-intro h1 { font-size: clamp(38px, 7vw, 68px); margin-bottom: 20px; }
.page-intro p:not(.kicker) { color: var(--stone); }
.page-intro > .solid-link { margin-top: 18px; }
.archive { padding-bottom: 60px; }
.archive-filters label { display: block; min-width: 0; color: var(--stone); font: 12px/1.5 var(--ui); }
.archive-filters label:first-child { grid-column: 1/-1; }
.archive-filters > span { grid-column: 1/-1; color: var(--gold); font-size: 12px; }
.archive-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-bottom: 32px; color: var(--stone); font-size: 12px; }
.saved-filter { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.saved-filter input { width: 18px; height: 18px; accent-color: var(--gold); }
.archive-tools p { flex-basis: 100%; margin: 0; color: var(--stone); font-size: 11px; }
.more-button { display: flex; gap: 20px; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; margin: 40px auto 0; border: 1px solid var(--line-focus); border-radius: 6px; background: var(--panel); color: var(--ink); font: 600 13px/1 var(--ui); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.more-button:hover { background: var(--panel-soft); border-color: var(--gold); }
.archive-grid .episode-card { content-visibility: auto; contain-intrinsic-size: auto 370px; }
#archive-empty { padding: 30px 24px; border: 1px solid var(--line); border-radius: 8px; color: var(--stone); }
.back-link { margin-bottom: 20px; border: 0; color: var(--stone); font-size: 12.5px; }
.episode-intro .kicker { margin-bottom: 14px; }
.episode-utilities { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.episode-utilities > a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; color: var(--stone); font-size: 12px; }
.utility-status { flex-basis: 100%; margin: 0; color: var(--stone); font-size: 12px; overflow-wrap: anywhere; }
.utility-status:empty { display: none; }
.saved-status { position: fixed; z-index: 20; bottom: 20px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 40px); margin: 0; padding: 13px 20px; border: 1px solid #767e6b; border-radius: 7px; background: #2a2e25; color: var(--ink); box-shadow: 0 8px 30px #0005; font-size: 12px; pointer-events: none; }
.saved-status:empty { display: none; }
.video-launch { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; color: #fff; }
.video-launch img { width: 100%; height: 100%; object-fit: cover; }
.video-launch:hover .round-play { background: #171815ed; }
.video-stage iframe { border: 0; width: 100%; height: 100%; }
.episode-summary { display: grid; gap: 24px; padding-block: 28px 40px; border-bottom: 1px solid var(--line); }
.episode-description { color: var(--ink-muted); font-size: 15.5px; line-height: 1.85; white-space: pre-line; }
.embed-note { margin: 20px 0 0; font-size: 11.5px; color: var(--stone); }
.episode-platforms { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.episode-sequence { display: grid; gap: 16px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.episode-sequence a { display: flex; flex-direction: column; gap: 8px; padding-block: 10px; }
.episode-sequence > span:empty { display: none; }
.episode-sequence a > span { color: var(--gold); font: 600 10.5px/1.5 var(--monument); letter-spacing: .12em; }
.episode-sequence strong { font: 600 22px/1.2 var(--book); }
.episode-sequence a:hover strong { color: var(--gold); }
.related { padding-block: 48px 60px; }
.about-layout { display: grid; gap: 20px; padding-block: 10px 55px; }
.about-heading h2 { max-width: 480px; font-size: 38px; letter-spacing: -.02em; margin-bottom: 15px; }
.about-copy h2 { max-width: 480px; font-size: 38px; letter-spacing: -.02em; margin-bottom: 15px; }
.about-copy > p:not(.kicker) { color: var(--ink-muted); font-size: 15.5px; line-height: 1.85; margin-bottom: 20px; }
.principles { padding-bottom: 60px; }
.principles > div { display: flex; align-items: center; gap: 20px; border-top: 1px solid var(--line); padding-block: 20px; }
.principles h2 { font-size: clamp(28px, 6vw, 42px); letter-spacing: -.015em; margin: 0; }
.contact-layout { display: grid; gap: 28px; padding-block: 10px 55px; }
.contact-email { display: block; margin-bottom: 24px; font: 600 clamp(28px, 6.5vw, 52px)/1.15 var(--book); letter-spacing: -.02em; overflow-wrap: anywhere; }
.contact-email:hover { color: var(--gold); }
.contact-layout > div > p:not(.kicker) { color: var(--ink-muted); font-size: 14.5px; }
.contact-layout > div > p a { display: inline-block; padding-block: 6px; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.contact-channels a { display: block; padding-block: 18px; border-bottom: 1px solid var(--line); font: 600 26px/1.3 var(--book); }
.contact-channels a:hover { color: var(--gold); }
.contact-channels span { display: block; margin-bottom: 6px; color: var(--gold); font: 600 10.5px/1.5 var(--monument); letter-spacing: .12em; }
.footer-main { display: flex; flex-direction: column; gap: 24px; padding-block: 36px 28px; }
.footer-identity { display: flex; flex-direction: column; align-items: flex-start; }
.footer-identity > p { max-width: 340px; margin: 12px 0 10px; color: var(--stone); font-size: 13.5px; line-height: 1.6; }
.footer-email { display: inline-block; padding-block: 4px; border-bottom: 1px solid var(--line-focus); font-size: 13px; color: var(--ink); }
.footer-nav { display: flex; flex-direction: column; gap: 14px; }
.footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.footer-links a { display: inline-flex; align-items: center; min-height: 36px; color: var(--stone); font: 500 13px var(--ui); }
.footer-links a:hover { color: var(--gold); }
.footer-external { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.footer-external a { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm, 4px); background: var(--bg-surface, #1e201b); color: var(--stone); font: 500 12px var(--ui); }
.footer-external a:hover { border-color: var(--gold); color: var(--gold); }
.footer-top { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.project-facts { margin:2rem 0 0; border-top:1px solid var(--line); }
.project-facts div { padding:1rem 0; border-bottom:1px solid var(--line); }
.project-facts dt { font-weight:600; }
.project-facts dd { margin:.4rem 0 0; }
.project-facts a { text-decoration:underline; text-underline-offset:.25em; }
.footer-legal { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; font-size:.8rem; }
.legal-content { max-width:900px; padding-top:3rem; padding-bottom:4rem; line-height:1.8; }
.legal-content section { margin:2rem 0; }
.legal-content h2 { font-size:1.5rem; line-height:1.3; }
.legal-content a { text-decoration:underline; text-underline-offset:.2em; }
.legal-content dl div { margin:1rem 0; }
.legal-content dt { font-weight:600; }
.legal-content dd { margin:0; }
.legal-notice { padding:1.5rem; background:var(--paper); border:1px solid var(--line); }
.legal-notice p { margin-bottom:0; }
.legal-table { overflow-x:auto; }
.legal-table table { width:100%; border-collapse:collapse; text-align:left; min-width:460px; font-size:.9rem; }
.legal-table caption { text-align:left; margin-bottom:1rem; }
.legal-table td { border-bottom:1px solid var(--line); padding:.8rem; }
.legal-table th { border-bottom:1px solid var(--line); padding:.8rem; }
.legal-updated { font-size:.85rem; }
.principles > div > span { color: var(--gold); font: 600 12px var(--monument); }
.cover-copy .kicker { color: var(--gold); }
.footer-column > a { display: inline-flex; align-items: center; padding-block: 5px; color: var(--stone); font-size: 12px; line-height: 1.6; min-height: 44px; }
.episode-art img { transition: transform .35s ease; aspect-ratio: 16/9; object-fit: cover; width: 100%; height: 100%; }
.latest-image img { transition: transform .35s ease; aspect-ratio: 16/9; object-fit: cover; width: 100%; height: 100%; }
.cart-glyph { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; flex-shrink: 0; }
.site-header .cart-label { display: none; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 15.5px/1.7 var(--ui); -webkit-font-smoothing: antialiased; letter-spacing: -0.005em; }
.kicker { margin: 0 0 16px; font: 600 11px/1.5 var(--monument); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); }
.chapter { color: var(--stone); font: 600 10.5px/1.5 var(--monument); letter-spacing: 0.14em; text-transform: uppercase; }
.site-header { min-height: 88px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; position: relative; z-index: 20; padding-block: 16px; border-bottom: 1px solid var(--line); }
.brand-official { gap: 12px; }
.brand-official picture { display: block; width: 48px; flex-shrink: 0; }
.brand-official picture img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.site-header .brand-official > span { display: grid; gap: 6px; font: 400 22px/1 var(--monument); letter-spacing: .055em; text-align: center; white-space: nowrap; }
.site-header .brand-official small { font: 500 10px/1 var(--ui); letter-spacing: .28em; padding-left: .28em; text-transform: uppercase; color: var(--gold); margin: 0; }
.site-header .cart-toggle { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; border-radius: 6px; border: 0; padding: 10px; }
.site-header .cart-toggle #cart-count { width: auto; height: auto; border: 0; margin: 0; min-width: 12px; color: var(--gold); font-size: 12px; }
.menu-toggle { display: none; align-items: center; gap: 10px; color: var(--ink); padding: 11px 12px; min-height: 44px; font-size: 12px; border: 0; border-radius: 0; background: transparent; min-width: 44px; }
.menu-strokes { display: block; position: relative; width: 22px; height: 10px; }
.menu-strokes::before { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: var(--ink); top: 0; }
.menu-strokes::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: var(--ink); bottom: 0; }
html:has(#menu-dialog[open]) { overflow: hidden; overscroll-behavior: none; }
body:has(#menu-dialog[open]) { overflow: hidden; overscroll-behavior: none; }
#menu-dialog { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(540px, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; padding: max(22px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); border: 0; border-left: 1px solid var(--line); border-radius: 0; background: #11120ff5; color: var(--ink); overflow-y: auto; overscroll-behavior: contain; animation: menu-enter .22s ease-out; }
#menu-dialog::backdrop { background: #080807b8; backdrop-filter: blur(16px); }
.menu-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 24px; }
#menu-title { font: 400 16px/1.5 var(--monument); letter-spacing: .06em; }
.menu-close { display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; width: 48px; height: 48px; background: transparent; color: var(--ink); font-size: 28px; }
#menu-dialog nav { display: grid; padding-block: 22px; }
#menu-dialog nav a { display: block; padding-block: 10px; font: 600 clamp(30px, 8vw, 46px)/1.2 var(--book); }
#menu-dialog nav a[aria-current] { color: var(--gold); }
.menu-platforms { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid var(--line); padding-top: 28px; }
.menu-platforms a { display: inline-flex; align-items: center; min-height: 48px; font-size: 13px; }
.menu-signature { color: var(--ink-muted); font-size: 11px; margin: 32px 0 0; }
@keyframes menu-enter { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
.home-hero { position: relative; overflow: hidden; min-height: 560px; display: flex; align-items: center; background: var(--bg-deep); border-bottom: 1px solid var(--line); }
.page-cover { position: relative; display: flex; align-items: end; overflow: hidden; min-height: 380px; margin-bottom: 40px; border-block: 1px solid var(--line); background: var(--bg-deep); }
.hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; background:
    linear-gradient(90deg, #13120ffc 0%, #13120fe0 42%, #13120f70 75%, transparent 100%),
    linear-gradient(0deg, #13120ff0 0%, transparent 65%); }
.hero-copy { position: relative; padding-block: 48px 84px; }
.hero-copy h1 { font-size: clamp(36px, 8.5vw, 68px); line-height: 1.05; letter-spacing: -.02em; margin-bottom: 24px; }
.hero-copy .kicker { color: var(--gold); margin-bottom: 22px; }
.hero-lede { max-width: 470px; font: 400 16.5px/1.7 var(--ui); color: var(--ink-muted); margin-bottom: 28px; }
.solid-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; padding: 13px 22px; border-radius: 6px; font: 600 13px/1.4 var(--ui); letter-spacing: 0.02em; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; background: var(--ink); color: #141310; border: 1px solid var(--ink); }
.dark-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; padding: 13px 22px; border-radius: 6px; font: 600 13px/1.4 var(--ui); letter-spacing: 0.02em; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; margin-top: 12px; border-color: var(--gold-bright); background: var(--gold-bright); color: #141310; font-weight: 600; }
.outline-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; padding: 13px 22px; border-radius: 6px; font: 600 13px/1.4 var(--ui); letter-spacing: 0.02em; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; background: rgba(20, 19, 16, 0.55); color: var(--ink); border: 1px solid rgba(250, 247, 240, 0.25); backdrop-filter: blur(8px); }
.outline-link:hover { background: rgba(250, 247, 240, 0.12); border-color: rgba(250, 247, 240, 0.5); transform: translateY(-1px); }
.latest-section { padding-block: 60px; }
.latest-image { display: block; position: relative; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--panel); aspect-ratio: 16 / 9; }
.episode-art { display: block; position: relative; overflow: hidden; border-radius: 8px; background: var(--panel); border: 1px solid var(--line); aspect-ratio: 16 / 9; }
.video-stage { aspect-ratio: 16/9; position: relative; overflow: hidden; border-radius: 8px; background: var(--panel); border: 1px solid var(--line); }
.volume-seal { position: absolute; top: 16px; left: 16px; padding: 8px 12px; background: #080807e8; color: var(--ink); border-left: 2px solid var(--rubric-sacro); font: 400 10px/1.65 var(--monument); letter-spacing: .14em; }
.episode-meta > span { font-family: var(--monument); font-weight: 400; letter-spacing: .18em; color: var(--gold); }
.episode-meta time { color: var(--stone); font-family: var(--ui); font-weight: 400; letter-spacing: 0; text-transform: none; }
.episode-card h3 { font-size: 24px; line-height: 1.15; letter-spacing: -.01em; margin-bottom: 14px; }
.section-top { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 24px; }
.section-title { display: flex; flex-direction: column; gap: 16px; align-items: start; margin-bottom: 30px; }
.recent-section { padding-block: 48px 64px; border-top: 1px solid var(--line); }
.manifesto-band { position: relative; overflow: hidden; border-block: 1px solid var(--line); background: #171612; }
.manifesto-grid { display: grid; position: relative; gap: 20px; padding-block: 60px; }
.manifesto-emblem { align-self: center; text-align: center; }
.manifesto-emblem img { width: 90px; height: 90px; margin: 0 auto 24px; }
.manifesto-emblem .kicker { margin: 0; font-size: 10px; }
.ornament { display: block; color: var(--rubric-sacro); font-size: 26px; margin-top: 22px; }
.manifesto-grid h2 { font-size: clamp(34px, 7vw, 54px); letter-spacing: -.02em; margin-bottom: 22px; }
.manifesto-pillars { display: grid; gap: 12px; padding: 0; list-style: none; margin: 28px 0; }
.manifesto-pillars li { color: var(--ink); font: 600 23px/1.3 var(--book); }
.manifesto-pillars span { display: inline-block; width: 34px; color: var(--bronze-warm); font: 400 12px/1.5 var(--monument); }
.shop-story { background: #181713; color: var(--ink); border-block: 1px solid var(--line); }
.shop-story h2 { font-size: clamp(38px, 8vw, 60px); letter-spacing: -.025em; margin-bottom: 20px; }
.shop-story-photo > img { background: #1E1C17; border: 1px solid #332F26; border-radius: 8px; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5); transition: transform .35s ease; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
.cover-shade { position: absolute; inset: 0; width: 100%; height: 100%; background:
    linear-gradient(90deg, #13120fdc 0%, #13120f80 50%, transparent 100%),
    linear-gradient(0deg, #13120ff0 0%, transparent 80%); }
.cover-copy h1 { font-size: clamp(40px, 8vw, 72px); line-height: 1.05; letter-spacing: -.02em; margin-bottom: 20px; }
.topic-links { margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--line); font-size:.9rem; display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding-block: 4px 14px; border: 0; scrollbar-width: thin; }
.topic-links a { text-underline-offset:.25em; display: inline-flex; align-items: center; flex-shrink: 0; min-height: 48px; padding: 10px 18px; border: 1px solid #b58a4650; border-radius: 999px; background: transparent; color: var(--stone); font: 12px/1.5 var(--ui); text-decoration: none; }
.volume-choices button { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 48px; padding: 10px 18px; border: 1px solid #b58a4650; border-radius: 999px; background: transparent; color: var(--stone); font: 12px/1.5 var(--ui); text-decoration: none; }
.volume-choices { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding-block: 4px 14px; border: 0; scrollbar-width: thin; margin-bottom: 22px; }
.volume-choices button[aria-pressed=true] { color: var(--ink); background: var(--bg-elevated); border-color: var(--bronze-warm); }
.topic-links a:hover { color: var(--ink); background: var(--bg-elevated); border-color: var(--bronze-warm); }
.archive-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 24px; border-radius: 8px; background: var(--bg-surface); border: 0; padding: 20px; }
.has-js .archive-filters { grid-template-columns: minmax(0, 1fr) minmax(120px, .6fr); }
.has-js .archive-filters label:first-child { grid-column: 1 / -1; }
.archive-filters input { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 12px; margin-top: 9px; border: 1px solid #4f5447; border-radius: 4px; color: var(--ink); font-size: 16px; border-color: #626154; background: var(--bg-deep); }
.archive-filters select { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 12px; margin-top: 9px; border: 1px solid #4f5447; border-radius: 4px; color: var(--ink); font-size: 16px; border-color: #626154; background: var(--bg-deep); }
.episode-intro { padding-block: 28px 36px; border-top: 1px solid var(--line); }
.episode-intro h1 { max-width: 1060px; font-size: clamp(34px, 6.5vw, 60px); letter-spacing: -.02em; margin-bottom: 0; }
.video-launch-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; background: rgba(19, 18, 15, 0.4); font: 600 13px/1 var(--ui); text-shadow: 0 1px 6px #000; }
.footer-identity .brand > span { font-size: 32px; font: 400 23px/1.2 var(--monument); letter-spacing: .02em; }
.footer-identity .brand small { font-family: var(--ui); letter-spacing: 0; }
.site-footer { margin-top: 0; border-top: 1px solid var(--line); background: var(--bg-deep); }
.footer-column h2 { margin-bottom: 8px; color: var(--ink); font: 600 22px/1.2 var(--book); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 20px; padding-block: 20px 24px; border-top: 1px solid var(--line); color: var(--stone); font: 500 11.5px var(--ui); }
.text-arrow:hover span { transform: translateX(3px); }
.latest-image:hover img { transform: scale(1.02); }
.latest-image:hover .round-play { background: var(--gold-bright); color: #141310; border-color: var(--gold-bright); transform: scale(1.08); }
.episode-art:hover .art-play { background: var(--gold-bright); color: #141310; border-color: var(--gold-bright); }
.episode-card h3 a { transition: color .2s ease; }
.shop-story-photo:hover > img { transform: scale(1.02); }
.back-link:hover { color: var(--gold); }
.footer-email:hover { border-color: var(--gold); color: var(--gold); }
.footer-top:hover { color: var(--gold); }
@media (min-width:600px) { .wrap { width: min(1240px, calc(100% - 64px)); } }
@media (min-width:600px) { .brand img { width: 52px; height: 52px; } }
@media (min-width:600px) { .brand > span { font-size: 36px; } }
@media (min-width:600px) { .home-hero { min-height: 600px; } }
@media (min-width:600px) { .hero-copy h1 { font-size: 64px; } }
@media (min-width:600px) { .hero-actions a { padding-inline: 20px; font-size: 13.5px; } }
@media (min-width:600px) { .hero-baseline > span:nth-child(2) { display: block; } }
@media (min-width:600px) { .hero-baseline { font-size: 10px; } }
@media (min-width:600px) { .episode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; } }
@media (min-width:600px) { .section-title { flex-direction: row; justify-content: space-between; align-items: end; } }
@media (min-width:600px) { .section-title h2 { font-size: 42px; } }
@media (min-width:600px) { .page-cover { min-height: 440px; } }
@media (min-width:600px) { .cover-copy h1 { font-size: 68px; } }
@media (min-width:600px) { .episode-sequence { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (min-width:600px) { .episode-sequence > span:empty { display: block; } }
@media (min-width:600px) { .episode-sequence a:last-child { text-align: right; } }
@media (min-width:600px) { .archive-filters { grid-template-columns: 1fr 1fr; padding: 28px; } }
@media (min-width:850px) { .wrap { width: min(1240px, calc(100% - 96px)); } }
@media (min-width:850px) { .site-header { min-height: 104px; } }
@media (min-width:850px) { .brand img { width: 56px; height: 56px; } }
@media (min-width:850px) { .brand > span { font-size: 39px; } }
@media (min-width:850px) { .brand small { font-size: 11px; } }
@media (min-width:850px) { .home-hero { min-height: 640px; } }
@media (min-width:850px) { .hero-art { object-position: center 38%; } }
@media (min-width:850px) { .hero-copy .kicker { font-size: 11px; } }
@media (min-width:850px) { .hero-lede { font-size: 17.5px; margin-bottom: 32px; } }
@media (min-width:850px) { .latest-layout { grid-template-columns: 1.35fr 1fr; gap: 44px; } }
@media (min-width:850px) { .recent-section { padding-block: 52px 80px; } }
@media (min-width:850px) { .episode-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 26px; } }
@media (min-width:850px) { .episode-card h3 { font-size: 26px; } }
@media (min-width:850px) { .manifesto-grid > .kicker { padding-top: 12px; } }
@media (min-width:850px) { .shop-story-grid { grid-template-columns: 1fr 1fr; gap: 64px; padding-block: 80px; } }
@media (min-width:850px) { .shop-story-photo > img { height: auto; } }
@media (min-width:850px) { .page-cover { min-height: 480px; margin-bottom: 56px; } }
@media (min-width:850px) { .cover-copy { padding-block: 64px 48px; } }
@media (min-width:850px) { .cover-copy h1 { font-size: 78px; } }
@media (min-width:850px) { .cover-lede { font-size: 16px; } }
@media (min-width:850px) { .archive { padding-bottom: 90px; } }
@media (min-width:850px) { .archive-filters { grid-template-columns: minmax(240px, 1fr) 165px 165px auto; align-items: end; gap: 22px; } }
@media (min-width:850px) { .archive-filters label:first-child { grid-column: auto; } }
@media (min-width:850px) { .archive-filters > span { grid-column: auto; padding-bottom: 13px; white-space: nowrap; } }
@media (min-width:850px) { .archive-tools p { flex-basis: auto; margin-left: auto; } }
@media (min-width:850px) { .episode-intro { padding-block: 36px 44px; } }
@media (min-width:850px) { .episode-summary { grid-template-columns: minmax(0, 1.8fr) minmax(230px, 1fr); gap: 60px; padding-block: 36px 56px; } }
@media (min-width:850px) { .episode-description { font-size: 16px; } }
@media (min-width:850px) { .related { padding-block: 60px 80px; } }
@media (min-width:850px) { .about-layout { grid-template-columns: 1fr 1.2fr; gap: 64px; padding-bottom: 80px; } }
@media (min-width:850px) { .contact-layout { grid-template-columns: 1.7fr 1fr; gap: 68px; padding-bottom: 80px; } }
@media (min-width:850px) { .principles { padding-bottom: 80px; } }
@media (min-width:850px) { .principles > div { padding-block: 26px; gap: 44px; } }
@media (min-width:850px) { .footer-main { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 40px; padding-block: 44px 36px; } }
@media (min-width:850px) { .footer-identity .brand > span { font-size: 31px; } }
@media (min-width:850px) { .footer-identity .brand img { width: 43px; height: 43px; } }
@media (min-width:850px) { .footer-nav { align-items: flex-end; text-align: right; } }
@media (min-width:850px) { .footer-links { justify-content: flex-end; } }
@media (min-width:850px) { .footer-external { justify-content: flex-end; } }
@media (min-width:850px) { .hero-shade { background:
      linear-gradient(90deg, #13120ff5 0%, #13120fd4 35%, #13120f50 70%, transparent 100%),
      linear-gradient(0deg, #13120fe5 0%, transparent 48%); } }
@media (min-width:850px) { .hero-copy h1 { font-size: clamp(60px, 6.2vw, 84px); } }
@media (min-width:850px) { .hero-copy { padding-block: 64px 88px; } }
@media (min-width:850px) { .latest-section { padding-block: 80px; } }
@media (min-width:850px) { .manifesto-grid { grid-template-columns: 1fr 2fr; gap: 48px; padding-block: 80px; } }
@media (min-width:850px) { .manifesto-emblem img { width: 120px; height: 120px; } }
@media (min-width:850px) { .has-js .archive-filters { grid-template-columns: minmax(240px, 1fr) 165px auto; } }
@media (min-width:850px) { .has-js .archive-filters label:first-child { grid-column: auto; } }
@media (min-width:1150px) { .has-js .site-header { flex-wrap: nowrap; } }
@media (min-width:1150px) { .menu-toggle { display: none; } }
@media (min-width:1150px) { .has-js .menu-toggle { display: none; } }
@media (min-width:1150px) { .site-header nav { display: flex; position: static; width: auto; padding: 0; flex-wrap: nowrap; flex-direction: row; align-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; gap: 1px; } }
@media (min-width:1150px) { .has-js .site-header nav { display: flex; position: static; width: auto; padding: 0; flex-wrap: nowrap; flex-direction: row; align-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; gap: 1px; } }
@media (min-width:1150px) { .site-header .cart-label { display: inline; } }
@media (min-width:1150px) { .site-header { flex-wrap: nowrap; } }
@media (min-width:1150px) { .brand-official picture { width: 264px; } }
@media (min-width:1150px) { .brand-official picture img { aspect-ratio: 800 / 242; } }
@media (min-width:1150px) { .site-header .brand-official > span { display: none; } }
@media (min-width:1150px) { .site-header #site-nav { order: 2; } }
@media (min-width:1150px) { .site-header .cart-toggle { order: 3; margin-left: 12px; } }
@media (min-width:1150px) { .site-header nav a { font-size: 13px; color: var(--stone); padding-inline: 12px; border-radius: 0; } }
@media (min-width:1150px) { .site-header nav a:hover { background: transparent; color: var(--gold); } }
@media (min-width:1150px) { .site-header nav a[aria-current] { background: transparent; color: var(--gold); } }
/* One desktop rhythm; the compact layout below 1000px keeps its own rules. */
@media (min-width: 1000px) {
  .wrap { width: min(var(--desktop-content-width), calc(100% - 2 * var(--desktop-gutter))); }
  .home-hero, .page-cover { min-height: var(--desktop-cover-height); }
  .hero-copy { padding-block: 64px 96px; }
  .cover-copy { padding-block: 64px; }
  .hero-copy h1, .cover-copy h1 { font-size: var(--desktop-title); line-height: 1.08; letter-spacing: -.025em; }
  .hero-copy h1 { max-width: 12ch; }
  .cover-copy h1 { max-width: 18ch; }
  .hero-lede, .cover-lede { font-size: 17px; line-height: 1.75; }
  .latest-section, .recent-section, .manifesto-grid, .shop-story-grid, .related { padding-block: var(--desktop-section-space); }
  .page-cover { margin-bottom: var(--desktop-section-space); }
  .archive, .principles { padding-bottom: var(--desktop-section-space); }
  .about-layout, .contact-layout { padding-block: 0 var(--desktop-section-space); }
  .latest-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--desktop-column-gap); }
  .manifesto-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--desktop-column-gap); }
  .shop-story-grid, .about-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--desktop-column-gap); }
  .contact-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--desktop-column-gap); }
  .latest-layout > *, .manifesto-grid > *, .shop-story-grid > *, .about-layout > *, .contact-layout > * { min-width: 0; }
  .section-title, .section-top { margin-bottom: 32px; }
  .section-title h2, .latest-copy h2, .manifesto-grid h2, .shop-story h2, .about-heading h2, .about-copy h2 { font-size: var(--desktop-section-title); line-height: 1.15; letter-spacing: -.02em; }
  .episode-card h3 { font-size: var(--desktop-card-title); line-height: 1.2; }
  .latest-copy > p:not(.kicker):not(.episode-date), .about-copy > p:not(.kicker), .contact-layout > div > p:not(.kicker) { font-size: 16px; }
  .manifesto-grid p:not(.kicker), .shop-story-copy > p:not(.kicker) { max-width: 58ch; font-size: 16px; }
  .shop-story-photo { width: min(400px, 100%); }
  .episode-summary { gap: var(--desktop-column-gap); }
  .topic-links { flex-wrap: wrap; overflow-x: visible; }
  .footer-main { gap: var(--desktop-column-gap); }
}
@media (min-width: 1150px) {
  .footer-identity .brand-official picture { width: 216px; }
  .footer-identity .brand-official picture img { width: 100%; height: auto; aspect-ratio: 800 / 242; }
  .footer-identity .brand-official > span { display: none; }
}
/* The compact signature shares one centred axis; padding balances the final tracked letter. */
@media (max-width:1149px) {
  .footer-identity .brand-official > span { display: grid; gap: 6px; font: 400 22px/1 var(--monument); letter-spacing: .055em; text-align: center; }
  .footer-identity .brand-official small { margin: 0; font: 500 10px/1 var(--ui); letter-spacing: .28em; padding-left: .28em; text-transform: uppercase; color: var(--gold); }
}
@media (max-width:359px) {
  .site-header .brand-official { gap: 10px; }
  .site-header .brand-official picture { width: 44px; }
  .site-header .brand-official > span { font-size: 20px; }
}
@media (max-width:1149px) { .has-js .site-header nav { padding: 22px; background: #191c16; max-height: calc(100dvh - 130px); overflow-y: auto; border-radius: 0 0 10px 10px; } }
@media (max-width:1149px) { .has-js .site-header nav a { font-family: var(--book); font-size: 29px; line-height: 1.2; padding: 12px 14px; } }
@media (max-width:1149px) { .has-js .site-header nav a[aria-current] { color: var(--gold); } }
@media (max-width:480px) { .site-header { gap: 10px; } }
@media (max-width:480px) { .site-header .menu-label { display: none; } }
@media (max-width:480px) { .menu-toggle { min-width: 44px; justify-content: center; padding-inline: 10px; } }
@media (max-width:480px) { .site-header .cart-toggle { min-height: 44px; padding-inline: 9px; } }
@media (max-width:359px) { .wrap { width: calc(100% - 32px); } }
@media (max-width:359px) { .brand > span { font-size: 24px; } }
@media (max-width:359px) { .brand img { width: 36px; height: 36px; } }
@media (max-width:359px) { .brand small { font-size: 9px; } }
@media (max-width:359px) { .menu-toggle { font-size: 11px; padding-inline: 9px; gap: 7px; } }
@media (max-width:359px) { .hero-copy h1 { font-size: 34px; } }
@media (max-width:359px) { .hero-actions a { flex: 1 1 100%; } }
@media (max-width:359px) { .archive-filters { padding: 18px; gap: 16px 12px; } }
@media (max-width:359px) { .contact-email { font-size: 28px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@media (prefers-reduced-motion:reduce) { *::before { scroll-behavior: auto !important; transition: none !important; } }
@media (prefers-reduced-motion:reduce) { *::after { scroll-behavior: auto !important; transition: none !important; } }
@media (prefers-reduced-motion:reduce) { #menu-dialog { animation: none; } }

/* Compact archive opening keeps search and filters close to the page title. */
.archive-opening{padding-top:52px;padding-bottom:32px;max-width:1280px}
.archive-opening h1{font-family:Cormorant,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.08;margin:18px 0}
.archive-opening p:not(.kicker){max-width:680px;line-height:1.7;color:#c8c2b8}
.archive-opening+.archive{padding-top:0}
@media(max-width:760px){.archive-opening{padding-top:28px;padding-bottom:24px}}

/* All content aligns to the same page grid, including tablet widths. */
.wrap { width: min(var(--content-width), calc(100% - 2 * var(--page-gutter))); }
.archive-opening h1 { font-weight: 600; letter-spacing: -.02em; }
.legal-content h1 { font: 600 clamp(38px, 4vw, 54px)/1.15 var(--book); }
.legal-content { overflow-wrap: anywhere; }
.episode-card h3, .latest-copy h2, .about-copy h2 { overflow-wrap: anywhere; }
@media (min-width: 1000px) {
  .archive-opening { padding-top: 44px; }
  .legal-content { padding-block: var(--desktop-section-space); }
}
