:root{
  --ink: #F0EDE8;
  --ink-2: #FFFFFF;
  --paper: #0C0C0D;
  --paper-dim: #1A1A1C;
  --brass: #C4161C;
  --brass-dim: #8C0F13;
  --tally: #C4161C;
  --sky: #3A3A3D;
  --yolk: #C4161C;
  --line: rgba(240,237,232,0.18);
  --line-dark: rgba(240,237,232,0.22);
  --pink-pale: #1E1516;
  --mint-pale: #17181A;
  --cream-pale: #1B1917;

  --display: 'Lilita One', sans-serif;
  --body: 'Quicksand', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; }
[id]{ scroll-margin-top: 90px; }

body{
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a{ color: inherit; text-decoration: none; }

.wrap{ max-width: 1140px; margin: 0 auto; padding: 0 32px; }

.eyebrow{
  font-family: var(--body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass);
}

.vu{ display:flex; align-items:flex-end; gap:4px; height:22px; }
.vu span{ width:4px; border-radius:2px; opacity:.9; animation: vu-bounce 1.6s ease-in-out infinite; }
.vu span:nth-child(1){ height:40%; background: var(--brass); animation-delay:-1.4s; }
.vu span:nth-child(2){ height:80%; background: var(--yolk); animation-delay:-0.9s; }
.vu span:nth-child(3){ height:55%; background: var(--sky); animation-delay:-1.1s; }
.vu span:nth-child(4){ height:100%; background: var(--brass); animation-delay:-0.4s; }
.vu span:nth-child(5){ height:65%; background: var(--yolk); animation-delay:-0.2s; }
.vu span:nth-child(6){ height:35%; background: var(--sky); animation-delay:-0.7s; }
@keyframes vu-bounce{ 0%,100%{ transform:scaleY(.35); } 50%{ transform:scaleY(1); } }
@media (prefers-reduced-motion: reduce){ .vu span{ animation:none; transform:scaleY(.7); } }

@view-transition { navigation: auto; }
header{ view-transition-name: site-header; }
.pagehead, .pagehead-split, .hero{ view-transition-name: page-hero; }
::view-transition-old(page-hero), ::view-transition-new(page-hero){ animation-duration: 0.45s; }
::view-transition-old(site-header), ::view-transition-new(site-header){ animation-duration: 0.25s; }

header{
  position: fixed; top:0; left:0; right:0; z-index:50;
  background: var(--paper);
  border-bottom: 3px solid var(--ink);
}
nav.wrap{ display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:10px 32px; position:relative; }
.logo-group{ display:flex; flex-direction:column; line-height:1.15; }
.logo-tagline{ font-family:var(--body); font-weight:600; font-size:13px; opacity:.65; margin-top:3px; white-space:nowrap; }
@media (max-width:600px){ .logo-tagline{ font-size:10.5px; } }

.menu-toggle{ display:none; background:none; border:none; color:var(--ink); font-size:26px; line-height:1; cursor:pointer; padding:6px 8px; }
@media (max-width:820px){ .menu-toggle{ display:block; } }

.mobile-menu{ display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:3px solid var(--ink); padding:8px 32px 20px; }
.mobile-menu.open{ display:flex; }
.mobile-menu a{ padding:14px 0; font-family:var(--mono); font-size:14px; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid var(--line); opacity:.85; }
.mobile-menu a:last-child{ border-bottom:none; }
.mobile-menu a.active{ opacity:1; color:var(--brass); }
.logo{ font-family: var(--display); font-weight:600; font-size:19px; color: var(--ink); }
.logo span{ color: var(--brass); }
.navlinks{ display:flex; gap:26px; font-family: var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.navlinks a{ opacity:.75; transition:opacity .2s; color: var(--ink); }
.navlinks a:hover, .navlinks a.active{ opacity:1; color: var(--brass); }
@media (max-width:820px){ .navlinks{ display:none; } }

.nav-dropdown{ position:relative; display:flex; align-items:center; }
.nav-dropdown::after{
  content:""; position:absolute; top:100%; left:0; right:0; height:18px;
}
.nav-dropdown-panel{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%);
  background:var(--paper); border:2.5px solid var(--ink); border-radius:10px;
  padding:8px; min-width:170px; display:none; flex-direction:column;
  box-shadow:4px 4px 0 var(--ink); z-index:60;
}
.nav-dropdown:hover .nav-dropdown-panel, .nav-dropdown:focus-within .nav-dropdown-panel{ display:flex; }
.nav-dropdown-panel a{ padding:8px 10px; font-size:11.5px; border-radius:6px; white-space:nowrap; opacity:.8; }
.nav-dropdown-panel a:hover{ background:var(--mint-pale); opacity:1; color:var(--brass); }

.mobile-menu .sub-links{ display:flex; flex-direction:column; padding-left:16px; }
.mobile-menu .sub-links a{ padding:10px 0; font-size:12px; opacity:.7; border-bottom:none; text-transform:none; letter-spacing:.02em; }

.pagehead{
  padding: 150px 0 70px;
  border-bottom: 3px solid var(--ink);
  position: relative;
  background: var(--cream-pale);
}
.pagehead h1{
  font-family: var(--display); font-weight:600;
  font-size: clamp(38px, 6vw, 70px);
  margin-top: 14px;
}
.pagehead-split h1{
  font-size: clamp(30px, 4.4vw, 54px);
  line-height: 1.08;
}
.pagehead p{ margin-top:20px; max-width:560px; opacity:.75; font-size:16px; }

.pagehead-split .wrap{
  display:grid; grid-template-columns: 1.3fr 1fr; gap:40px; align-items:center;
}
.pagehead-split p{ max-width:none; }
.pagehead-fullimg{ position:relative; border-radius:20px; overflow:hidden; transform: rotate(-2deg); box-shadow: 0 20px 40px rgba(0,0,0,0.25); }
.pagehead-fullimg img, .pagehead-fullimg iframe{
  width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; display:block;
}
@media (max-width:820px){
  .pagehead-split .wrap{ grid-template-columns:1fr; }
  .pagehead-fullimg{ max-width:280px; margin:0 auto; order:-1; }
}

.hero{ display:flex; flex-direction:column; justify-content:center; padding:120px 0 64px; position:relative; background: var(--cream-pale); border-bottom: 3px solid var(--ink); }
.hero.jacket-hero{ background: linear-gradient(135deg, #1D6E58 0%, #0E7C63 45%, #2C9C8A 75%, #E8A33D 100%); border-bottom: 3px solid var(--ink); }
.hero.jacket-hero, .hero.jacket-hero .eyebrow, .hero.jacket-hero h1{ color: var(--paper); }
.hero.jacket-hero .eyebrow{ color: #FFE9C2; }
.hero.jacket-hero .hero-tagline, .hero.jacket-hero .hero-punchline{ color: #FFE9C2; }
.hero.jacket-hero .hero-sub, .hero.jacket-hero .hero-subline{ color: rgba(255,253,248,.88); }
.hero.jacket-hero .sticker-btn{ background: var(--paper); color: var(--ink); }
.hero.jacket-hero .sticker-btn.filled{ background: var(--ink); color: var(--paper); border-color: var(--paper); box-shadow: 4px 4px 0 rgba(255,253,248,.5); }
.hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns: 0.85fr 1.15fr; gap:36px; align-items:center; }
.hero-portrait{ order:-1; }
.hero .eyebrow{ margin-bottom:18px; font-size:15px; }
.hero h1{ font-family: var(--display); font-weight:600; font-size: clamp(48px,8vw,96px); line-height:.98; letter-spacing:-0.01em; }
.hero h1 em{ font-style:normal; font-weight:600; color:inherit; }
.hero-tagline{ font-family: var(--body); font-weight:600; font-size: clamp(19px,2.2vw,24px); color: var(--brass); margin-top:14px; }
.hero-tagline em{ font-style:italic; }
.hero-sub{ margin-top:14px; max-width:480px; font-size:17px; color: rgba(18,36,31,.72); }
.hero-meta{ margin-top:32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hero-meta-text{ font-family: var(--mono); font-size:12.5px; color: rgba(18,36,31,.58); letter-spacing:.04em; }
.hero-portrait{ position:relative; }
.hero-portrait img{ width:100%; border-radius:24px; display:block; transform: rotate(2deg); box-shadow: 0 30px 60px rgba(0,0,0,0.35); }
@media (max-width:820px){ .hero-inner{ grid-template-columns:1fr; } .hero-portrait{ max-width:280px; margin:0 auto; order:-1; } }

section{ padding: 72px 0; border-bottom: 1px solid var(--line); }
@media (max-width:700px){ section{ padding: 52px 0; } }
section.tight{ padding: 48px 0; }
section.ultra-tight{ padding: 20px 0; }

section.on-sky{ background: #E3F7F1; color: var(--ink); border-bottom:1px solid var(--line-dark); }
section.on-sky .eyebrow{ color: #237A63; }
section.on-sky .eyebrow::before{ background: #237A63; }
section.on-sky .card{ background: #E3F7F1; }

section.on-yolk{ background: #FDF0DC; color: var(--ink); border-bottom:1px solid var(--line-dark); }
section.on-yolk .eyebrow{ color: #B27A1E; }
section.on-yolk .eyebrow::before{ background: #B27A1E; }
section.on-yolk .card{ background: #FDF0DC; }
section.on-paper{ background: var(--paper-dim); color: var(--ink); border-bottom:1px solid var(--line-dark); }
section.on-paper .eyebrow{ color: var(--tally); }
section.on-paper .eyebrow::before{ background: var(--tally); }

.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:50px; flex-wrap:wrap; }
.section-head h2{ font-family: var(--display); font-weight:600; font-size: clamp(28px,4vw,44px); margin-top:10px; }
.section-head p{ max-width:380px; font-size:15px; opacity:.65; padding-bottom:6px; }
.section-head .viewall{ font-family: var(--mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color: var(--brass); border-bottom:1px solid var(--brass); padding-bottom:2px; white-space:nowrap; }
section.on-paper .section-head .viewall{ color: var(--tally); border-color: var(--tally); }

.about-grid{ display:grid; grid-template-columns:280px 1fr; gap:64px; align-items:start; }
.portrait-col{ display:flex; flex-direction:column; }
.portrait{ aspect-ratio:4/5; background: var(--paper-dim); border:1px dashed rgba(36,31,61,.35); display:flex; align-items:center; justify-content:center; text-align:center; font-family: var(--mono); font-size:11px; color: rgba(36,31,61,.5); padding:20px; letter-spacing:.04em; }
.about-body p{ margin-bottom:18px; font-size:16.5px; max-width:60ch; }
.stat-row{ display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }
.stat-row-2col{ display:grid; grid-template-columns: 1fr 1fr; }
@media (max-width:560px){ .stat-row-2col{ grid-template-columns: 1fr; } }
.stat{
  font-family: var(--body);
  background: #FFFFFF;
  border: 1px solid var(--line-dark);
  border-radius: 12px;
  padding: 16px 20px;
  min-width: 150px;
  box-shadow: 0 2px 8px rgba(36,31,61,0.06);
}
.stat b{ display:block; font-family: var(--display); font-size:26px; font-weight:600; color: var(--tally); }
.stat span{ font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; opacity:.6; }
.award-list-compact{ margin-top:10px; display:flex; flex-direction:column; gap:3px; }
.award-line{ display:flex; justify-content:space-between; gap:12px; font-family: var(--mono); font-size:11px; opacity:.65; }
@media (max-width:700px){ .about-grid{ grid-template-columns:1fr; } }

.grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.grid .card{ border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.card{ background: var(--ink); color: var(--paper); padding:28px; }
section.on-paper .card{ background: var(--paper); color: var(--ink); }
.card .tag{ font-family: var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color: var(--brass); margin-bottom:14px; display:block; }
section.on-paper .card .tag{ color: var(--brass-dim); }
.card h3{ font-family: var(--display); font-size:21px; font-weight:500; margin-bottom:8px; }
.card .role{ font-size:13.5px; opacity:.6; margin-bottom:16px; }
.player{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); padding:9px 12px; font-family: var(--mono); font-size:10.5px; color: rgba(18,36,31,.55); letter-spacing:.02em; }
a.player{ cursor:pointer; transition:border-color .15s, color .15s; }
a.player:hover{ border-color: var(--brass); color: var(--brass); }
section.on-paper .player{ border-color: var(--line-dark); color: rgba(36,31,61,.5); }
.player .dot{ width:7px; height:7px; border-radius:50%; background: var(--tally); flex-shrink:0; }
.card audio{ width:100%; height:40px; }
section.on-paper .card audio{ filter: none; }
.card-cover{ width:100%; aspect-ratio:1/1; object-fit:cover; margin-bottom:14px; display:block; }
.card .ext-link, .ext-link{ display:inline-block; margin-top:4px; font-family: var(--mono); font-size:11px; letter-spacing:.03em; color: var(--brass); border-bottom:1px solid var(--brass); }
section.on-paper .card .ext-link, section.on-paper .ext-link{ color: var(--tally); border-color: var(--tally); }

.subtle-link{ color:inherit; text-decoration:none; transition: color .15s; }
.subtle-link:hover, .subtle-link:focus{ color: var(--tally); text-decoration:underline; }

.training-block{ text-align:center; }
.training-block .logo-row{ justify-content:center; }
.training-block img{ height:clamp(48px, 8vw, 80px) !important; transition: opacity .15s; }
.training-block a:hover img{ opacity:1 !important; }
.ig-embed{ width:100%; aspect-ratio:9/16; border:0; }

.yt-thumb{ position:relative; display:block; overflow:hidden; border-radius:10px; background:var(--ink-2); }
.yt-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.yt-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; border-radius:50%; background:rgba(0,0,0,0.55);
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px;
  padding-left:4px;
}

.lightbox-overlay{
  display:none; position:fixed; inset:0; background:rgba(15,15,20,0.95);
  z-index:300; align-items:center; justify-content:center; padding:32px; cursor:zoom-out;
}
.lightbox-overlay.open{ display:flex; }
.lightbox-overlay img{ max-width:100%; max-height:90vh; border-radius:6px; cursor:default; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.lightbox-close{
  position:absolute; top:20px; right:24px; background:none; border:none;
  color:#fff; font-size:36px; line-height:1; cursor:pointer; padding:6px 12px;
}

.grid .card{ transition: transform .2s ease, box-shadow .2s ease; transform: translateY(var(--reveal-y, 0)); }
.grid .card:hover{ transform: translateY(calc(var(--reveal-y, 0px) - 4px)); box-shadow: 0 10px 24px rgba(0,0,0,0.10); position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce){ .grid .card{ transform:none !important; } }

.game-row{ display:flex; justify-content:space-between; align-items:flex-start; padding:24px 0; border-bottom:1px solid var(--line); gap:20px; flex-wrap:wrap; }
.game-row:last-child{ border-bottom:none; }
.game-row h3{ font-family: var(--display); font-size:22px; font-weight:500; }
.game-row .role{ font-family: var(--mono); font-size:13.5px; opacity:.72; max-width:420px; margin-top:4px; }
.game-row .link{ font-family: var(--mono); font-size:12.5px; color: var(--brass); text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid var(--brass); white-space:nowrap; padding-bottom:2px; }
.game-row .badge{ display:inline-block; font-family: var(--mono); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color: var(--brass); border:1px solid var(--brass); padding:3px 8px; margin-top:8px; }
.game-thumb{ width:76px; height:46px; object-fit:cover; border-radius:6px; border:2px solid var(--ink); flex-shrink:0; }

.logo-row{ display:flex; flex-wrap:wrap; align-items:center; gap:36px; padding-top: 10px; }
.logo-row img{ height:28px; width:auto; object-fit:contain; opacity:.82; filter: grayscale(1) brightness(1.4); }
section.on-paper .logo-row img{ filter: grayscale(1) brightness(0.9); opacity:.75; }
.logo-row-big{ gap:56px; align-items:center; }
.logo-row-big img{ height:clamp(64px, 10vw, 120px); opacity:1; filter:none; }
@media (max-width:700px){ .logo-row-big{ gap:36px; } }

.logo-row-3x{ gap:40px; align-items:center; }
.logo-row-3x img, section.on-paper .logo-row-3x img{ height:clamp(56px, 9vw, 100px); opacity:1; filter:none; }
@media (max-width:700px){ .logo-row-3x{ gap:28px; } }

.quote-block{ max-width: 680px; }
.quote-block p{ font-family: var(--display); font-style:italic; font-size: clamp(20px,3vw,28px); line-height:1.4; font-weight:400; }
.quote-block cite{ display:block; margin-top:20px; font-family: var(--mono); font-style:normal; font-size:12px; letter-spacing:.04em; opacity:.6; }

.embed-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:24px; }
.embed-card{ border:1px solid var(--line); padding:18px; }
section.on-paper .embed-card{ border-color: var(--line-dark); }
.embed-frame{ aspect-ratio:9/16; background: var(--ink-2); display:flex; align-items:center; justify-content:center; text-align:center; font-family: var(--mono); font-size:11px; color: rgba(255,253,248,.55); padding:16px; margin-bottom:14px; border:1px dashed var(--line); }
.embed-frame iframe{ width:100%; height:100%; border:0; }
.embed-card h4{ font-family: var(--display); font-size:16px; font-weight:500; margin-bottom:4px; }
.embed-card .role{ font-size:12.5px; opacity:.55; }

.credit-row{ display:flex; gap:40px; align-items:center; }
.credit-row.reverse{ flex-direction:row-reverse; }
.credit-row-media{ flex:0 0 300px; }
.credit-row-media img{ width:auto; height:auto; max-height:320px; max-width:100%; object-fit:contain; display:block; border:2.5px solid var(--ink); border-radius:14px; }
.credit-row-body{ flex:1; min-width:260px; }
.credit-row-media .yt-thumb{ border:2.5px solid var(--ink); border-radius:14px; aspect-ratio:16/9; }
.credit-row-media figcaption{ margin-top:10px; font-family:var(--mono); font-size:12.5px; opacity:.7; text-align:center; }
.credit-row-body h3{ font-family:var(--display); font-size:26px; font-weight:600; margin-bottom:6px; }
.credit-row-body .credit-meta{ font-family:var(--mono); font-size:12px; opacity:.65; text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; }
.credit-row-body p{ opacity:.85; margin-bottom:14px; }
.credit-reviews{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.credit-review{ font-style:italic; font-size:14.5px; opacity:.85; border-left:3px solid var(--brass); padding-left:14px; }
.credit-review a{ display:block; font-style:normal; font-family:var(--mono); font-size:11px; text-decoration:underline; color:var(--brass); margin-top:4px; }
@media (max-width:820px){
  .credit-row, .credit-row.reverse{ flex-direction:column; }
  .credit-row-media{ flex-basis:auto; width:100%; max-width:300px; }
  .credit-row-media img{ max-height:280px; }
}

.photo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.photo-slot{ aspect-ratio:4/5; background: var(--paper-dim); border:1px dashed rgba(36,31,61,.3); display:flex; align-items:center; justify-content:center; font-family: var(--mono); font-size:10px; color: rgba(36,31,61,.45); text-align:center; padding:10px; }
@media (max-width:700px){ .photo-grid{ grid-template-columns:repeat(2,1fr); } }

.gallery-wide{ grid-template-columns:repeat(4,1fr); gap:6px; }
@media (max-width:900px){ .gallery-wide{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .gallery-wide{ grid-template-columns:repeat(2,1fr); } }

.rep-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:36px; }
.rep-grid-2col{ grid-template-columns: 1fr 1fr; }
@media (max-width:560px){ .rep-grid-2col{ grid-template-columns: 1fr; } }
.rep-block .eyebrow{ margin-bottom:12px; }
.rep-block h4{ font-family: var(--display); font-size:19px; font-weight:500; margin-bottom:4px; }
.rep-block p{ font-size:13.5px; opacity:.65; }

.citizenship-badge{ display:flex; align-items:center; gap:10px; margin-top:20px; padding:12px 16px; background:var(--paper-dim); border:2px solid var(--ink); border-radius:12px; box-shadow:3px 3px 0 var(--ink); }
.citizenship-flags{ display:flex; gap:4px; flex-shrink:0; }
.citizenship-flags svg{ width:26px; height:auto; border-radius:3px; display:block; }
.citizenship-badge span{ font-family:var(--body); font-weight:600; font-size:12.5px; line-height:1.3; }
.citizenship-badge-sm{ margin-top:0; padding:8px 12px; }
.citizenship-badge-sm .citizenship-flags svg{ width:20px; }
.citizenship-badge-sm span{ font-size:11.5px; white-space:nowrap; }

.studio-logo-tile{ height:70px; border:2px solid var(--ink); border-radius:10px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#12141A; }
.studio-logo-tile img{ height:100%; width:auto; display:block; object-fit:contain; }
.studio-logo-text{ background:var(--paper); color:var(--ink); font-family:var(--display); font-weight:600; font-size:14px; padding:0 20px; white-space:nowrap; }
@media (max-width:600px){ .studio-logo-tile{ height:52px; } .studio-logo-text{ font-size:12px; padding:0 14px; } }

footer{ padding:0 0 28px; border-top:1px solid var(--line); }
.contact-head{ font-family: var(--display); font-size:clamp(30px,5vw,54px); font-weight:600; max-width:680px; line-height:1.08; margin-bottom:30px; }
.contact-head em{ font-style:italic; color: var(--brass); }
.contact-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:24px; margin-top:0; border-top:none; font-family: var(--mono); font-size:12px; color: rgba(18,36,31,.55); }
.contact-links{ display:flex; gap:0; flex-wrap:wrap; align-items:center; font-family:var(--body); font-weight:500; font-size:16px; color:var(--ink); }
.contact-links a{ padding:6px 20px; border-left:1px solid var(--line); opacity:.85; }
.contact-links a:first-child{ border-left:none; padding-left:0; }
.contact-links a:hover{ opacity:1; color:var(--brass); }
.contact-links.vo-footer-links{ font-weight:500; }
.contact-links a:hover{ color: var(--brass); }

.note-flag{ display:inline-block; font-family: var(--mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color: var(--tally); border:1px solid var(--tally); padding:3px 8px; margin-left:8px; vertical-align:middle; }

.squiggle{
  position: relative;
  white-space: nowrap;
}
.squiggle::after{
  content:"";
  position:absolute;
  left:-2%; right:-2%; bottom:-0.12em;
  height:0.16em;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'><path d='M0,8 Q10,0 20,8 T40,8 T60,8 T80,8 T100,8 T120,8' fill='none' stroke='%23FFB627' stroke-width='4' stroke-linecap='round'/></svg>") repeat-x;
  background-size: 40px 100%;
  z-index:-1;
}

.pending-banner{
  font-family: var(--mono); font-size:12px; letter-spacing:.03em;
  background: rgba(224,68,42,0.16); border:1px solid var(--tally); color: var(--paper);
  padding:14px 18px; margin-bottom:44px; max-width: 720px;
}

.stamp{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--mono);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color: var(--brass-dim);
  border:2px solid var(--brass-dim);
  border-radius:999px;
  padding:7px 18px;
  transform: rotate(-3deg);
  background: var(--paper);
}
.stamp:hover{ transform: rotate(0deg); }
.stamp-sm{ font-size:11px; padding:6px 14px; white-space:nowrap; }
.reel-feature{
  background: var(--mint-pale); border:2.5px solid var(--ink); border-radius:18px;
  padding:32px 36px; box-shadow:6px 6px 0 var(--ink); max-width:560px;
  margin:0 auto; text-align:center;
}
.reel-feature .tag{ color: var(--brass-dim); }
.reel-feature h3{ font-family:var(--display); font-size:22px; font-weight:500; margin-bottom:6px; }
.reel-feature .role{ font-size:13.5px; opacity:.65; margin-bottom:18px; }
.reel-feature audio{ width:100%; height:40px; }

.nonfiction-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media (max-width:600px){ .nonfiction-grid{ grid-template-columns:1fr; } }
.nonfiction-col{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; }
.nonfiction-badge-wrap{ background: var(--paper); border:2px solid var(--ink); border-radius:12px; padding:14px; box-shadow:3px 3px 0 var(--ink); }
.nonfiction-badge-wrap img{ height:150px; width:auto; display:block; }
.nonfiction-player-wrap{ background: var(--paper); border:2px solid var(--ink); border-radius:12px; padding:14px; box-shadow:3px 3px 0 var(--ink); width:100%; }
.nonfiction-player-wrap audio{ width:100%; height:40px; display:block; }

.card-cover-crop{ width:100%; aspect-ratio:1/1; overflow:hidden; margin-bottom:14px; border-radius:4px; }
.card-cover-crop img{ width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.18); display:block; }
.reel-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:640px){ .reel-grid{ grid-template-columns:1fr; } }
.reel-grid-wide{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:980px){ .reel-grid-wide{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .reel-grid-wide{ grid-template-columns:1fr; } }
.reel-tile{ background: var(--paper-dim); border:1px solid var(--line); border-radius:12px; padding:18px 20px; }
.reel-tile h4{ font-family:var(--display); font-size:17px; font-weight:500; margin-bottom:2px; }
.reel-tile audio{ filter:none; }

.award-list{ display:flex; flex-direction:column; gap:0; }
.award-row{ display:flex; justify-content:space-between; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); gap:20px; flex-wrap:wrap; }
.award-row:last-child{ border-bottom:none; }
.award-row h4{ font-family: var(--display); font-size:19px; font-weight:500; }
.award-row .role{ font-family: var(--mono); font-size:12px; opacity:.6; }
.award-row .win{ color: var(--tally); font-weight:600; }
section.on-paper .award-row .win{ color: var(--tally); }
.award-row.win-row{ background: var(--mint-pale); border:2.5px solid var(--ink); border-radius:14px; padding:22px 24px; margin-bottom:16px; box-shadow:5px 5px 0 var(--ink); }
.stamp-win{ background: var(--tally); border-color: var(--tally); color: var(--paper); }
.stamp-win:hover{ transform:rotate(-3deg); }

.faq{ display:flex; flex-direction:column; gap:0; max-width: 760px; }
.faq-item{ padding:0; border-bottom:1px solid var(--line); }
.faq-item:last-child{ border-bottom:none; }
.faq-item h4{ font-family: var(--display); font-size:19px; font-weight:500; margin:0; }
.faq-item p{ font-size:14.5px; opacity:.7; max-width:60ch; }
.faq-item p + p{ margin-top:10px; }

.faq-accordion summary{
  list-style:none; cursor:pointer; padding:22px 34px 22px 0; position:relative;
}
.faq-accordion summary::-webkit-details-marker{ display:none; }
.faq-accordion summary::after{
  content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
  font-family:var(--display); font-size:22px; color:var(--brass); transition:transform .2s ease;
}
.faq-accordion details[open] summary::after{ content:"\2212"; }
.faq-accordion summary:hover h4{ color:var(--brass); }
.faq-accordion .faq-answer{ padding:0 0 22px; }
.faq-accordion .faq-answer p:first-child{ margin-top:0; }

.watch-title{
  font-family: var(--body);
  font-weight: 600;
  font-size: clamp(40px, 7vw, 68px);
  letter-spacing: -0.03em;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
}
.watch-title::after{
  content:"";
  position:absolute;
  bottom:0; left:50%;
  transform: translateX(-50%);
  width: 64px; height: 4px;
  background: var(--brass);
  border-radius: 2px;
}

.quote-img{ max-width:520px; width:100%; border-radius:12px; display:block; }

.sticker-btn{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--paper); color: var(--ink);
  border: 2.5px solid var(--ink); border-radius: 999px;
  padding: 12px 26px; font-family: var(--body); font-weight:600; font-size:14px;
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform .12s ease, box-shadow .12s ease;
}
.sticker-btn:hover{ transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--ink); }
.sticker-btn:active{ transform: translate(1px,1px); box-shadow: 2px 2px 0 var(--ink); }
.sticker-btn.filled{ background: var(--brass); color: var(--paper); }

.flat-block{ padding: 90px 0; border-bottom: 3px solid var(--ink); }
.flat-block.pink{ background: var(--pink-pale); }
.flat-block.mint{ background: var(--mint-pale); }
.flat-block.cream{ background: var(--cream-pale); }
.closing-photo-block.flat-block.mint{ background: linear-gradient(to bottom, var(--mint-pale) 0%, color-mix(in srgb, var(--mint-pale) 45%, white) 100%); }
.flat-block.teal{ background: #DCEFEA; }
.flat-block.jacket{ background: linear-gradient(135deg, #1D6E58 0%, #0E7C63 45%, #E8A33D 100%); color: var(--paper); }
.flat-block.jacket h2, .flat-block.jacket .eyebrow{ color: var(--paper); }
@media (max-width:700px){ .flat-block{ padding: 60px 0; } }

.spark-heading{ display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:12px; }
.spark-heading svg{ width:24px; height:24px; flex-shrink:0; }
.spark-heading h2{ font-family: var(--display); font-weight:600; font-size: clamp(28px,4vw,44px); text-align:center; }
.flat-block .section-note{ text-align:center; max-width:600px; margin:0 auto 44px; opacity:.75; font-size:15.5px; }

.reel-tile-flat{
  background: var(--paper); border: 2.5px solid var(--ink); border-radius: 16px;
  padding: 18px 22px; box-shadow: 5px 5px 0 var(--ink); margin-bottom: 20px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/></svg>");
}
.reel-tile-flat, .reel-tile-flat h4, .reel-tile-flat .role{ color: var(--ink); }
.reel-tile-flat h4{ font-family: var(--display); font-size:19px; font-weight:600; margin-bottom:10px; }
.reel-tile-flat audio{ width:100%; height:40px; }
.reel-tile-flat .dl{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-family: var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color: var(--brass-dim); }

.genre-pill-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:640px; margin:0 auto; }
@media (max-width:600px){ .genre-pill-grid{ grid-template-columns:repeat(2,1fr); } }
.genre-pill{
  display:block; text-align:center; background: var(--paper); color:var(--ink);
  border:2.5px solid var(--ink); border-radius:10px; padding:16px 12px;
  font-family: var(--body); font-weight:600; font-size:14.5px;
  box-shadow: 3px 3px 0 var(--ink); transition: transform .12s ease, box-shadow .12s ease;
}
.genre-pill:hover{ transform: translate(-2px,-2px); box-shadow: 5px 5px 0 var(--ink); }

.quote-card-flat{
  background: var(--brass); color: var(--paper); border-radius:16px; padding:32px 28px;
  display:flex; flex-direction:column; height:100%;
}
.quote-card-flat .mark{ font-family: var(--display); font-size:48px; line-height:1; color: var(--paper-dim); margin-bottom:8px; }
.quote-card-flat p{ font-size:15.5px; line-height:1.55; flex:1; }
.quote-card-flat .attr{ margin-top:20px; font-family: var(--mono); font-size:12px; opacity:.85; }

.masonry-logos{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px;
}
.masonry-logos > a{ flex: 0 0 calc(25% - 9px); }
.masonry-logo-tile{
  width:100%; height:120px; border-radius:12px; border:2.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center; padding:20px;
  background: var(--paper); transition: transform .15s ease;
  transform: translateY(var(--reveal-y, 0)) scale(var(--tile-scale, 1));
  box-shadow: 3px 3px 0 var(--ink); cursor: pointer;
}
.masonry-logo-tile:hover{ --tile-scale: 1.04; box-shadow: 5px 5px 0 var(--ink); }
.masonry-logo-tile img{ width:100%; height:100%; object-fit:contain; filter:none; }
@media (max-width:700px){ .masonry-logos > a{ flex-basis: calc(50% - 6px); } .masonry-logo-tile{ height:100px; } }

.reveal-init{ opacity:0; --reveal-y: 32px; transform: translateY(var(--reveal-y, 32px)); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal-in{ opacity:1; --reveal-y: 0px; }
@media (prefers-reduced-motion: reduce){ .reveal-init{ opacity:1; transform:none; transition:none; } }

.icon-row{ display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; }
.icon-row a{
  width:44px; height:44px; border-radius:50%; border:2.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center; background: var(--paper);
  box-shadow: 3px 3px 0 var(--ink); transition: transform .15s ease, box-shadow .15s ease;
}
.icon-row a:hover{ transform: translate(-2px,-2px); box-shadow: 5px 5px 0 var(--ink); }
.icon-row svg{ width:20px; height:20px; }

.hero-punchline{
  font-family: var(--display); font-weight:700; font-style: italic;
  font-size: clamp(24px, 3.2vw, 38px); line-height:1.15;
  transform: rotate(-1.2deg); display:inline-block; margin-top:16px; color: var(--ink);
}
.hero-subline{ font-family: var(--body); font-weight:500; font-size: clamp(17px, 1.8vw, 20px); margin-top:14px; opacity:.85; }

.closing-photo-block{ position:relative; padding-top:70px; padding-bottom:0; }
.closing-photo-block.vo-closing2{ padding-top:24px; }
.closing-photo-block .wrap{ padding-bottom:40px; }
.closing-photo-block.alix-style .wrap{ padding-bottom:0; }
.closing-photo-block.vo-closing .wrap{ padding-bottom:0; }
.closing-photo-block.vo-closing2 .wrap{ padding-bottom:0; }
.closing-img-wrap{ display:flex; justify-content:center; }
.closing-img-wrap img{ width:100%; max-width:320px; height:auto; display:block; }
.closing-img-wrap.img-25{ max-width:none; }
.closing-img-wrap.img-25 img{ max-width:25%; min-width:200px; }
@media (max-width:820px){ .closing-img-wrap img, .closing-img-wrap.img-25 img{ max-width:220px; min-width:0; } }

.vo-closing-row2{ display:grid; grid-template-columns: minmax(170px,1fr) auto minmax(170px,1fr); align-items:stretch; gap:24px; }
.vo-closing-left{ display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:flex-start; gap:10px; padding-bottom:18px; }
.vo-title-block{ text-align:center; }
.vo-title-name{ font-family:var(--display); font-weight:400; font-size:clamp(22px,4.2vw,52px); line-height:1.05; color:var(--brass); }
.vo-title-role{ font-family:var(--body); font-weight:700; font-size:clamp(13px,1.8vw,22px); text-transform:uppercase; letter-spacing:.04em; opacity:.75; margin-top:8px; line-height:1.2; text-align:center; }
.icon-row-stack{ display:flex; flex-direction:column; gap:10px; align-items:center; }
.spotlight-wide{ width:100%; max-width:220px; display:block; border-radius:10px; overflow:hidden; }
.icon-row-color{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.icon-row-color a{ width:58px; height:58px; border-radius:14px; overflow:hidden; display:block; box-shadow:2px 2px 0 var(--ink); transition:transform .15s ease; }
.icon-row-color a:hover{ transform:translateY(-3px); }
.icon-row-color svg{ width:100%; height:100%; display:block; }
.vo-closing-img{ display:flex; justify-content:center; align-items:flex-end; }
.vo-closing-img img{ height:100%; min-height:246px; max-height:336px; width:auto; max-width:100%; display:block; }
.vo-closing-right{ display:flex; justify-content:flex-start; gap:40px; padding-bottom:18px; }
.vo-closing-right-stack{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
.vo-closing-nav3{ display:flex; flex-direction:column; justify-content:flex-start; gap:0; font-family:var(--display); font-weight:600; font-size:24px; letter-spacing:0; }
.vo-closing-nav3 a{ padding:6px 0; border-bottom:1px solid var(--line); }
.vo-closing-nav3 a:last-child{ border-bottom:none; }
.vo-closing-nav3 a:hover{ color:var(--brass); }
.vo-closing-demos{ display:flex; flex-direction:column; justify-content:flex-start; gap:0; font-family:var(--display); font-weight:600; font-size:22px; letter-spacing:0; }
.vo-closing-demos a{ padding:6px 0; border-bottom:1px solid var(--line); }
.vo-closing-demos a:last-child{ border-bottom:none; }
.vo-closing-demos a:hover{ color:var(--brass); }

.vo-closing2.level-ear .vo-closing-left{ padding-top:24px; }
.vo-closing2.level-ear .vo-closing-right{ padding-top:24px; }
.vo-closing2.level-forehead .vo-closing-left{ padding-top:34px; }
.vo-closing2.level-forehead .vo-closing-right{ padding-top:34px; }

@media (max-width:600px){
  .vo-closing2.level-ear .vo-closing-left, .vo-closing2.level-ear .vo-closing-right,
  .vo-closing2.level-forehead .vo-closing-left, .vo-closing2.level-forehead .vo-closing-right{ padding-top:0; }
  .vo-closing-row2{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .vo-closing-left{ align-items:center; text-align:center; order:1; }
  .vo-title-name{ font-size:clamp(24px,7vw,34px); }
  .vo-title-role{ font-size:clamp(12px,3.4vw,17px); }
  .vo-closing-img{ align-self:center; order:3; margin-top:16px; }
  .vo-closing-img img{ height:auto; min-height:0; max-height:260px; }
  .vo-closing-right{ justify-content:center; margin-top:12px; order:2; }
  .vo-closing-right-stack{ align-items:center; }
  .vo-closing-nav3, .vo-closing-demos{ gap:10px; }
}
@media (max-width:600px){ .vo-closing-row2{ gap:12px; } }
@media (min-width:601px) and (max-width:900px){
  .vo-closing-row2{ gap:14px; }
  .vo-closing2.level-ear .vo-closing-left, .vo-closing2.level-ear .vo-closing-right{ padding-top:70px; }
  .vo-closing2.level-forehead .vo-closing-left, .vo-closing2.level-forehead .vo-closing-right{ padding-top:30px; }
  .icon-row-color a{ width:40px; height:40px; }
  .vo-title-name{ font-size:clamp(15px,4vw,36px); }
  .vo-title-role{ font-size:clamp(12px,2vw,16px); }
  .vo-closing-nav3, .vo-closing-demos{ font-size:16px; }
}

.closing-photo-block.alix-style .wrap{ padding-bottom:0; }
.alix-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:36px; flex-wrap:wrap; }
.alix-left{ display:flex; flex-direction:column; gap:20px; max-width:260px; padding-bottom:44px; }
.alix-wordmark{ font-family:var(--display); font-weight:600; font-size:clamp(26px,3vw,34px); line-height:1.05; }
.icon-row-lg{ justify-content:space-between; width:100%; }
.icon-row-lg a{ width:52px; height:52px; }
.icon-row-lg svg{ width:24px; height:24px; }
.alix-center{ display:flex; flex-direction:column; align-items:center; flex:1 1 220px; padding-bottom:0; }
.alix-portrait{ width:100%; max-width:280px; height:auto; display:block; }
.alix-nav{ display:flex; gap:36px; padding-bottom:48px; }
.alix-nav .link-col{ display:flex; flex-direction:column; gap:11px; font-family:var(--body); font-weight:600; font-size:13.5px; }
.alix-nav .link-col a{ opacity:.78; }
.alix-nav .link-col a:hover{ opacity:1; color:var(--brass); }
@media (max-width:900px){
  .alix-row{ justify-content:center; text-align:center; }
  .alix-left{ align-items:center; max-width:100%; padding-bottom:0; }
  .icon-row-lg{ justify-content:center; gap:16px; }
  .alix-nav{ padding-bottom:0; margin-top:12px; justify-content:center; }
}
