
:root{
  --maxw:1240px;
  --ui:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.3,1);
  --read:'Nunito Sans','Inter',sans-serif; --read-lh:1.78; --read-tr:.002em; --read-size:16.5px;
}

/* silver used over photographs — identical in every theme so captions stay legible */
:root{
  --grad-light:linear-gradient(168deg,#ffffff 0%,#e6ebf1 26%,#a6b0bb 58%,#f4f7fa 100%);
  --grad-gold:linear-gradient(168deg,#f8e7bd 0%,#dcb463 34%,#a97f2e 68%,#eed9a2 100%);
  --grad-ice:linear-gradient(168deg,#dff0fb 0%,#a9cbe2 34%,#6b90ab 68%,#cfe6f4 100%);
}

/* ============ A. GRAPHITE — silver on lifted charcoal (new default) ============ */
[data-theme="graphite"]{
  --page-tint:radial-gradient(1100px 700px at 10% -8%,rgba(195,204,214,.055),transparent 62%),radial-gradient(900px 620px at 94% 6%,rgba(140,168,196,.04),transparent 60%),radial-gradient(1300px 820px at 50% 112%,rgba(90,100,116,.07),transparent 62%);--vignette:.34;--grain:.030;
  --paper:#1a1d22; --paper-2:#22262d; --paper-3:#2b3038;
  --ink:#eef1f5; --ink-soft:#98a2ad; --line:#343a43;
  --accent:#c3ccd6; --accent-2:#eef2f7; --accent-soft:#242931;
  --grad:linear-gradient(168deg,#ffffff 0%,#dfe5ed 28%,#8f99a6 60%,#eef2f7 100%);
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:400; --dls:-.008em; --dlh:1.08; --radius:2px;
  --ph-s:8%; --ph-l1:36%; --ph-l2:19%;
  --shadow:0 26px 60px -30px rgba(0,0,0,.85);
  --kls:.26em; --onaccent:#1a1d22;
}
/* ============ B. GRAPHITE + GOLD — silver headlines, gold kept as the signature ============ */
[data-theme="gold"]{
  --page-tint:radial-gradient(1100px 700px at 10% -8%,rgba(201,162,74,.065),transparent 62%),radial-gradient(900px 620px at 94% 6%,rgba(140,168,196,.035),transparent 60%),radial-gradient(1300px 820px at 50% 112%,rgba(122,30,35,.055),transparent 62%);--vignette:.36;--grain:.032;
  --paper:#1a1d22; --paper-2:#22262d; --paper-3:#2b3038;
  --ink:#eef1f5; --ink-soft:#98a2ad; --line:#343a43;
  --accent:#c9a24a; --accent-2:#e7c97a; --accent-soft:#262319;
  --grad:linear-gradient(168deg,#ffffff 0%,#e4e9f0 26%,#94a0ad 58%,#f0f4f8 100%);
  --grad-em:var(--grad-gold);
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:400; --dls:-.008em; --dlh:1.08; --radius:2px;
  --ph-s:9%; --ph-l1:34%; --ph-l2:18%;
  --shadow:0 26px 60px -30px rgba(0,0,0,.85);
  --kls:.26em; --onaccent:#1a1d22;
}
/* ============ ICE — silver with a steel-blue second colour ============ */
[data-theme="ice"]{
  --page-tint:radial-gradient(1100px 700px at 10% -8%,rgba(143,180,207,.06),transparent 62%),radial-gradient(1300px 820px at 50% 112%,rgba(70,90,110,.07),transparent 62%);--vignette:.34;--grain:.030;
  --paper:#1a1d22; --paper-2:#22262d; --paper-3:#2b3038;
  --ink:#eef1f5; --ink-soft:#98a2ad; --line:#343a43;
  --accent:#8fb4cf; --accent-2:#c3dcee; --accent-soft:#1c242b;
  --grad:linear-gradient(168deg,#ffffff 0%,#e4e9f0 26%,#94a0ad 58%,#f0f4f8 100%);
  --grad-em:var(--grad-ice);
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:400; --dls:-.008em; --dlh:1.08; --radius:2px;
  --ph-s:9%; --ph-l1:34%; --ph-l2:18%;
  --shadow:0 26px 60px -30px rgba(0,0,0,.85);
  --kls:.26em; --onaccent:#141a1f;
}
/* ============ SPECTRUM — one colour per pillar, silver as the constant ============ */
[data-theme="spectrum"]{
  --page-tint:radial-gradient(1100px 700px at 10% -8%,rgba(195,204,214,.05),transparent 62%),radial-gradient(1300px 820px at 50% 112%,rgba(90,100,116,.07),transparent 62%);--vignette:.34;--grain:.030;
  --paper:#1a1d22; --paper-2:#22262d; --paper-3:#2b3038;
  --ink:#eef1f5; --ink-soft:#98a2ad; --line:#343a43;
  --accent:#c3ccd6; --accent-2:#eef2f7; --accent-soft:#242931;
  --grad:linear-gradient(168deg,#ffffff 0%,#dfe5ed 28%,#8f99a6 60%,#eef2f7 100%);
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:400; --dls:-.008em; --dlh:1.08; --radius:2px;
  --ph-s:8%; --ph-l1:36%; --ph-l2:19%;
  --shadow:0 26px 60px -30px rgba(0,0,0,.85);
  --kls:.26em; --onaccent:#1a1d22;
}
[data-theme="spectrum"] [data-pillar="stories"]    {--accent:#c9a24a;--accent-2:#e2bd77;--accent-soft:#262319}
[data-theme="spectrum"] [data-pillar="interviews"] {--accent:#8fb4cf;--accent-2:#c3dcee;--accent-soft:#1c242b}
[data-theme="spectrum"] [data-pillar="artists"]    {--accent:#c3ccd6;--accent-2:#eef2f7;--accent-soft:#242931}
[data-theme="spectrum"] [data-pillar="heritage"]   {--accent:#a3b79c;--accent-2:#c7d8c1;--accent-soft:#1f2620}
[data-theme="spectrum"] [data-pillar="voices"]     {--accent:#cf9d92;--accent-2:#e7c1b8;--accent-soft:#28201e}
[data-theme="spectrum"] [data-pillar="concerts"]   {--accent:#b0a8c8;--accent-2:#d3cde5;--accent-soft:#221f29}

/* ============ C. PEARL — the same system inverted ============ */
[data-theme="pearl"]{
  --page-tint:radial-gradient(1100px 700px at 10% -8%,rgba(120,140,165,.06),transparent 62%),radial-gradient(1300px 820px at 50% 112%,rgba(140,150,165,.07),transparent 62%);--vignette:.10;--grain:.022;
  --paper:#f3f5f7; --paper-2:#ffffff; --paper-3:#e8ebef;
  --ink:#161a1f; --ink-soft:#6b747e; --line:#dde1e6;
  --accent:#4d5761; --accent-2:#2c343c; --accent-soft:#eaedf1;
  --grad:linear-gradient(168deg,#2f373f 0%,#5c6772 34%,#98a3ae 62%,#39424b 100%);
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:400; --dls:-.008em; --dlh:1.08; --radius:2px;
  --ph-s:7%; --ph-l1:86%; --ph-l2:70%;
  --shadow:0 1px 2px rgba(20,26,32,.05),0 14px 34px -18px rgba(20,26,32,.3);
  --kls:.24em; --onaccent:#ffffff;
}
/* ============ D. TODAY — the live site's palette, for reference ============ */
[data-theme="hall"]{
  --page-tint:none;--vignette:0;--grain:0;
  --paper:#0b0b0d; --paper-2:#16161a; --paper-3:#111114;
  --ink:#eceae4; --ink-soft:#9c9a92; --line:#26262c;
  --accent:#c9a24a; --accent-2:#e7c97a; --accent-soft:#171410;
  --grad:none;
  --display:'Cormorant Garamond',Georgia,serif;
  --body:'Inter',-apple-system,sans-serif;
  --dw:600; --dls:-.005em; --dlh:1.06; --radius:0px;
  --ph-s:14%; --ph-l1:22%; --ph-l2:11%;
  --shadow:0 24px 60px -28px rgba(0,0,0,.95);
  --kls:.3em; --onaccent:#0b0b0d;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* ============================================================
   BACKGROUND LAYERS — strength is switchable in the top bar
   ============================================================ */
#bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#bgfx .l{position:absolute;inset:0}
#bgfx .px{position:absolute;inset:0;will-change:transform}
/* the glow at the foot of the page - switchable, see the top bar */
#bgfx .floor{opacity:var(--tone,.85)}
body[data-glow="gold"]    #bgfx .floor{background-image:radial-gradient(1500px 950px at 50% 116%,rgba(201,162,74,.17),transparent 64%)}
body[data-glow="silver"]  #bgfx .floor{background-image:radial-gradient(1500px 950px at 50% 116%,rgba(198,210,224,.15),transparent 64%)}
body[data-glow="crimson"] #bgfx .floor{background-image:radial-gradient(1500px 950px at 50% 116%,rgba(122,30,35,.22),transparent 64%)}
body[data-glow="off"]     #bgfx .floor{background-image:none}
[data-theme="pearl"] #bgfx .floor{opacity:calc(var(--tone,.85) * .45)}
/* a stage light crossing the page, very slowly */
#bgfx .lamp{
  opacity:var(--tone,.85);mix-blend-mode:screen;
  background-repeat:no-repeat;background-size:1150px 760px;
  background-image:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 26%,transparent),transparent 72%);
  animation:lamp 54s ease-in-out infinite alternate;
}
@keyframes lamp{from{background-position:-6% -18%}to{background-position:84% 26%}}
[data-theme="pearl"] #bgfx .lamp{mix-blend-mode:multiply;opacity:calc(var(--tone,.85) * .5)}
@media(prefers-reduced-motion:reduce){#bgfx .lamp{animation:none}}
[data-theme="hall"] #bgfx{display:none}

body[data-read="dm"]{--read:'DM Sans','Inter',sans-serif;--read-lh:1.76;--read-tr:.002em;--read-size:16.5px}
body[data-read="nunito"]{--read:'Nunito Sans','Inter',sans-serif;--read-lh:1.78;--read-tr:.002em;--read-size:16.5px}
body[data-read="lato"]{--read:'Lato','Inter',sans-serif;--read-lh:1.78;--read-tr:.004em;--read-size:17px}
body[data-read="sans"]{--read:'Source Sans 3','Inter',sans-serif;--read-lh:1.74;--read-tr:0;--read-size:17px}
body[data-read="serif"]{--read:'Newsreader',Georgia,serif;--read-lh:1.78;--read-tr:.005em;--read-size:17px}
body[data-bg="0"]{--tone:0;--strings:0;--contour:0;--grain:0;--vig:0}
body[data-bg="1"]{--tone:.45;--strings:.07;--contour:.045;--grain:.030;--vig:.28}
body[data-bg="2"]{--tone:.85;--strings:.13;--contour:.075;--grain:.055;--vig:.46}
body[data-bg="3"]{--tone:1;--strings:.22;--contour:.13;--grain:.085;--vig:.62}

/* 1. tone — a real gradient down the page, plus corner washes */
#bgfx .tone{
  opacity:var(--tone,.85);
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.015) 26%,transparent 48%,rgba(0,0,0,.34) 100%),
    radial-gradient(1250px 760px at 6% -12%,rgba(200,212,226,.17),transparent 62%),
    radial-gradient(1050px 720px at 98% 2%,rgba(146,178,210,.12),transparent 60%);
}
/* 2. strings — long taut lines across the page, the motif the site is named for */
#bgfx .strings{
  inset:-70px;opacity:var(--strings,.11);
  background-repeat:repeat;background-size:1600px 900px;
  animation:pluck 78s ease-in-out infinite alternate;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' fill='none' stroke='%23ffffff' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M-60 120C400 106 900 134 1680 118'/%3E%3Cpath d='M-60 232C420 244 880 220 1680 234'/%3E%3Cpath d='M-60 352C380 338 920 366 1680 350'/%3E%3Cpath d='M-60 472C430 486 870 458 1680 470'/%3E%3Cpath d='M-60 596C390 582 910 610 1680 598'/%3E%3Cpath d='M-60 716C420 730 880 702 1680 714'/%3E%3Cpath d='M-60 836C380 822 920 850 1680 838'/%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 88%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 88%,transparent 100%);
}
@keyframes pluck{from{transform:translate3d(0,0,0)}to{transform:translate3d(46px,18px,0)}}
/* 3. the same strings further back, larger and slower — this is what gives depth */
#bgfx .contour{
  inset:-110px;opacity:var(--contour,.11);
  background-repeat:repeat;background-size:2200px 1300px;
  animation:drift 118s ease-in-out infinite alternate;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2200' height='1300' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M-80 300C600 272 1500 330 2260 296'/%3E%3Cpath d='M-80 640C640 670 1460 610 2260 644'/%3E%3Cpath d='M-80 980C600 952 1500 1010 2260 984'/%3E%3C/svg%3E");
}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-62px,-26px,0) scale(1.04)}}
@media(prefers-reduced-motion:reduce){#bgfx .contour,#bgfx .strings{animation:none}}
/* 4. grain */
#bgfx .grain{
  opacity:var(--grain,.055);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}
/* 5. vignette */
#bgfx .vig{
  opacity:var(--vig,.48);
  background-image:radial-gradient(135% 100% at 50% 34%,transparent 46%,#000 100%);
}
/* light theme flips the same five layers */
[data-theme="pearl"] #bgfx .tone{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.3) 30%,transparent 55%,rgba(22,28,36,.16) 100%),
    radial-gradient(1250px 760px at 6% -12%,rgba(150,120,60,.10),transparent 62%),
    radial-gradient(1500px 950px at 50% 116%,rgba(60,72,88,.16),transparent 64%);
}
[data-theme="pearl"] #bgfx .contour{filter:invert(1)}
[data-theme="pearl"] #bgfx .grain{mix-blend-mode:multiply}
[data-theme="pearl"] #bgfx .vig{opacity:calc(var(--vig,.48) * .32)}

body{
  background-color:var(--paper);
  color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  transition:background .5s var(--ease),color .5s var(--ease);
}
a{color:inherit;text-decoration:none;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);font-weight:var(--dw);letter-spacing:var(--dls);line-height:var(--dlh)}
h1 em,h2 em{font-style:italic;color:var(--accent);font-weight:400}
/* metallic display type — the silver gradient, clipped to the letterforms */
h1,.sechead h2,.stat .n{
  background-image:var(--grad);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
h1 em,h2 em{-webkit-text-fill-color:var(--accent)}
[data-theme="gold"] h1 em,[data-theme="gold"] h2 em,
[data-theme="ice"]  h1 em,[data-theme="ice"]  h2 em{
  background-image:var(--grad-em);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
[data-theme="hall"] h1,[data-theme="hall"] .sechead h2,[data-theme="hall"] .stat .n{
  background-image:none;-webkit-text-fill-color:currentColor;color:var(--ink)}
[data-theme="hall"] .stat .n{color:var(--accent)}
.hero .cap h1,.hub .cap h1{background-image:var(--grad-light);-webkit-text-fill-color:transparent}
[data-theme="hall"] .hero .cap h1,[data-theme="hall"] .hub .cap h1{background-image:none;-webkit-text-fill-color:#fff}
/* silver hairline — replaces the flat rule under section heads */
.sechead{border-image:linear-gradient(90deg,var(--accent),transparent 62%) 1}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.narrow{max-width:740px;margin:0 auto;padding:0 32px}
.kicker{font-family:var(--ui);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:var(--kls);color:var(--accent)}
.meta{font-family:var(--ui);font-size:12px;color:var(--ink-soft)}
.dek{color:var(--ink-soft);font-size:15px;line-height:1.65;font-family:var(--read)}
.btn{display:inline-block;font-family:var(--ui);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:13px 26px;border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius);transition:.22s var(--ease)}
.btn{position:relative;overflow:hidden;background-color:transparent}
.btn:hover{
  color:var(--onaccent);border-color:var(--accent-2);
  background-image:linear-gradient(158deg,var(--accent-2) 0%,var(--accent) 52%,color-mix(in srgb,var(--accent) 68%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 10px 24px -12px color-mix(in srgb,var(--accent) 55%,transparent);
}
.btn.solid{
  color:var(--onaccent);border-color:transparent;
  background-image:linear-gradient(158deg,var(--accent-2) 0%,var(--accent) 54%,color-mix(in srgb,var(--accent) 72%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(0,0,0,.22),0 8px 20px -12px rgba(0,0,0,.75);
}
.btn.solid:hover{
  background-image:linear-gradient(158deg,color-mix(in srgb,var(--accent-2) 62%,#fff) 0%,var(--accent-2) 44%,var(--accent) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 14px 30px -12px color-mix(in srgb,var(--accent) 65%,transparent);
}
.btn::after{
  content:"";position:absolute;top:-60%;left:-140%;width:55%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(18deg);transition:left .75s var(--ease);pointer-events:none;
}
.btn:hover::after{left:150%}
@media(prefers-reduced-motion:reduce){.btn::after{display:none}}

.note{display:none;font-family:var(--ui);font-size:12.5px;line-height:1.58;background:var(--accent-soft);color:var(--ink);
  border-left:2px solid var(--accent);padding:12px 16px;margin:16px 0;border-radius:0 var(--radius) var(--radius) 0}
.note b{color:var(--accent);font-weight:600}
body.notes .note{display:block}

/* ---------- site header ---------- */
header.site{position:sticky;top:0;z-index:200;background:color-mix(in srgb,var(--paper) 86%,transparent);
  backdrop-filter:saturate(1.15) blur(14px);-webkit-backdrop-filter:saturate(1.15) blur(14px);border-bottom:1px solid var(--line)}
.hrow{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}
.mark{
  position:relative;width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;
  font-family:var(--display);font-style:italic;font-size:18px;line-height:1;
  border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);
  border-radius:var(--radius);overflow:hidden;
  background:
    linear-gradient(158deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 42%),
    linear-gradient(158deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.30) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -1px 0 rgba(0,0,0,.45),
    inset 0 0 14px -4px rgba(0,0,0,.6),
    0 1px 2px rgba(0,0,0,.55),
    0 0 22px -8px color-mix(in srgb,var(--accent) 70%,transparent);
  transition:box-shadow .5s var(--ease),border-color .5s var(--ease);
}
/* the letter itself: gold gradient, cut into the plate */
.mark i{
  font-style:italic;display:block;position:relative;z-index:2;
  background-image:var(--grad-em,var(--grad-gold));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.55)) drop-shadow(0 -1px 0 rgba(255,255,255,.06));
}
/* a slow sheen, so the plate catches light the way metal does */
.mark::after{
  content:"";position:absolute;top:-60%;left:-120%;width:70%;height:220%;z-index:3;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  transform:rotate(18deg);
  animation:sheen 7s ease-in-out infinite;
}
@keyframes sheen{0%,72%{left:-120%}88%,100%{left:150%}}
.brand:hover .mark{
  border-color:color-mix(in srgb,var(--accent) 85%,transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.45),
    inset 0 0 14px -4px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.55),
    0 0 30px -6px color-mix(in srgb,var(--accent) 90%,transparent);
}
[data-theme="pearl"] .mark{
  background:linear-gradient(158deg,rgba(255,255,255,.9),rgba(0,0,0,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,0,0,.10),
    inset 0 0 12px -4px rgba(0,0,0,.14),0 1px 2px rgba(20,26,32,.12);
}
[data-theme="pearl"] .mark i{filter:none}
[data-theme="hall"] .mark::after{display:none}
@media(prefers-reduced-motion:reduce){.mark::after{animation:none;display:none}}

/* the wordmark sits on the surface too */
.brand .nm{text-shadow:0 1px 0 rgba(0,0,0,.35)}
[data-theme="pearl"] .brand .nm{text-shadow:0 1px 0 rgba(255,255,255,.7)}
.brand .nm{font-family:var(--display);font-size:21px;letter-spacing:.02em;line-height:1.05}
.brand .nm small{display:block;font-family:var(--ui);font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}
nav.main{display:flex;gap:19px;margin-left:auto;font-family:var(--ui);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
nav.main a{color:var(--ink-soft);padding:5px 0;border-bottom:1.5px solid transparent;transition:.2s}
nav.main a:hover{color:var(--accent)}
nav.main a.on{color:var(--ink);border-color:var(--accent)}
.lang{display:flex;gap:6px;font-family:var(--ui);font-size:10px;letter-spacing:.1em;color:var(--ink-soft);padding-left:16px;border-left:1px solid var(--line)}
.lang span{cursor:pointer}.lang span:hover{color:var(--ink)}.lang span.on{color:var(--accent);font-weight:600}
.burger{display:none;margin-left:auto;font-size:19px;cursor:pointer}
@media(max-width:1080px){
  nav.main{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);
    flex-direction:column;gap:0;padding:8px 32px 16px}
  nav.main.open{display:flex}
  nav.main a{padding:12px 0;border-bottom:1px solid var(--line)}
  .lang{margin-left:auto;border:0;padding-left:0}.burger{display:block;margin-left:10px}
}

/* ---------- photo blocks ---------- */
.ph{position:relative;overflow:hidden;background:var(--paper-3);border-radius:var(--radius);
  background-image:
    radial-gradient(120% 90% at 22% 12%,hsl(calc(var(--h) + 34) var(--ph-s) var(--ph-l1)) 0%,transparent 62%),
    linear-gradient(146deg,hsl(var(--h) var(--ph-s) var(--ph-l1)) 0%,hsl(calc(var(--h) + 22) var(--ph-s) var(--ph-l2)) 100%);
  background-size:cover;background-position:center}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}
.ph.img::after{opacity:.18}
.hero .ph.img,.hub .ph.img{background-size:112%;animation:kenburns 46s ease-in-out infinite alternate}
@keyframes kenburns{from{background-position:47% 52%}to{background-position:53% 45%}}
.card .ph.img,.row .ph.img{transition:background-size .9s var(--ease),transform .45s var(--ease)}
.card:hover .ph.img,.row:hover .ph.img{background-size:110%}
@media(prefers-reduced-motion:reduce){.hero .ph.img,.hub .ph.img{animation:none}}
.ph .tag{position:absolute;left:11px;bottom:9px;font-family:var(--ui);font-size:8px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.6);text-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2}
.ph.img .tag{display:none}
[data-theme="pearl"] .ph:not(.img) .tag{color:rgba(0,0,0,.28);text-shadow:none}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:32px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:940px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{display:block;cursor:pointer}
.card .ph{aspect-ratio:16/10;margin-bottom:15px;transition:.45s var(--ease)}
.card:hover .ph{transform:translateY(-4px);box-shadow:var(--shadow)}
.card h3{font-size:22px;margin:8px 0 7px;transition:.2s}
.card:hover h3{color:var(--accent)}
.card p{font-size:14.5px;color:var(--ink-soft);line-height:1.62;font-family:var(--read)}
.card .meta{margin-top:10px}
.card{background:var(--paper-2);border:1px solid var(--line);padding:0 0 20px;transition:.3s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 30px -22px rgba(0,0,0,.8)}
[data-theme="pearl"] .card{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 26px -20px rgba(20,26,32,.35)}
.card:hover{border-color:var(--accent)}
.card .ph{margin-bottom:16px}
.card:hover .ph{transform:none;box-shadow:none}
.card:hover{box-shadow:var(--shadow)}
.card .kicker,.card h3,.card p,.card .meta{padding:0 20px}

/* ---------- hero ---------- */
.hero{position:relative;cursor:pointer;border-radius:var(--radius)}
.hero .ph{aspect-ratio:21/9;transition:box-shadow .55s var(--ease),transform .55s var(--ease),filter .55s var(--ease)}
.hero:hover .ph{
  transform:translateY(-4px);
  filter:saturate(1.06) brightness(1.05);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent),
    0 0 42px -6px color-mix(in srgb,var(--accent) 34%,transparent),
    0 40px 90px -40px rgba(0,0,0,.95);
}
.hero .cap .btn{transition:.35s var(--ease)}
.hero:hover .cap .btn.solid{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 16px 34px -12px color-mix(in srgb,var(--accent) 75%,transparent)}
@media(prefers-reduced-motion:reduce){.hero:hover .ph{transform:none}}
@media(max-width:760px){.hero .ph{aspect-ratio:4/3}}
.hero .ph::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.15) 55%,rgba(0,0,0,.35))}
.hero .cap{position:absolute;left:0;right:0;bottom:0;padding:0 46px 40px;z-index:3;color:#fff;max-width:860px}
.hero .cap h1{font-size:clamp(30px,4.8vw,58px);margin:14px 0 14px;color:#fff}
.hero .cap .dek{color:rgba(255,255,255,.82);font-size:17px;max-width:600px}
.hero .cap .kicker{color:var(--accent-2)}
@media(max-width:760px){.hero .cap{padding:0 24px 26px}}

/* ---------- sections ---------- */
.sec{margin-top:78px}
.sechead{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:32px;flex-wrap:wrap}
.sechead h2{font-size:27px}
.sechead .more{margin-left:auto;font-family:var(--ui);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.sechead .more:hover{text-decoration:underline}

/* ---------- rows ---------- */
.rows{border-top:1px solid var(--line)}
.row{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:.25s}
.row:hover{padding-left:8px}
.row .ph{width:150px;height:96px;flex:0 0 150px}
.row h3{font-size:20px;margin-bottom:5px}
.row:hover h3{color:var(--accent)}
.row .url{font-family:var(--ui);font-size:11px;color:var(--accent);opacity:.8;margin-top:8px}
@media(max-width:640px){.row .ph{width:96px;height:66px;flex:0 0 96px}}

.pillbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}
.pill{font-family:var(--ui);font-size:11.5px;letter-spacing:.04em;padding:7px 15px;border:1px solid var(--line);border-radius:20px;
  color:var(--ink-soft);cursor:pointer;transition:.2s}
.pill:hover{border-color:var(--accent);color:var(--ink)}
.pill.on{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}

/* ---------- article ---------- */
.article{padding:52px 0 20px}
.article h1{font-size:clamp(30px,4.6vw,52px);margin:16px 0 18px}
.standfirst{font-size:20px;line-height:1.55;color:var(--ink-soft);margin-bottom:26px}
.standfirst{font-family:var(--display);font-style:italic;font-size:23px}
.byline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--ui);font-size:12px;color:var(--ink-soft);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:34px}
.byline .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-soft)}
.lead{aspect-ratio:16/9;max-width:860px;margin:0 auto 12px}
.article .credit{max-width:860px;margin-left:auto;margin-right:auto}
.credit{font-family:var(--ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:36px}
.article p{margin-bottom:19px;font-size:var(--read-size,17px);line-height:var(--read-lh);letter-spacing:var(--read-tr);font-family:var(--read)}
.article p.first::first-letter{font-family:var(--display);font-size:62px;line-height:.82;float:left;padding:6px 12px 0 0;color:var(--accent)}
.pullq{
  font-family:var(--display);line-height:1.42;border-left:2px solid var(--accent);padding-left:26px;
  background-image:var(--grad-gold);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.article blockquote{
  font-family:var(--display);font-size:26px;line-height:1.42;
  border-left:2px solid var(--accent);padding-left:26px;margin:34px 0;
  background-image:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
[data-theme="pearl"] .article blockquote,[data-theme="pearl"] .pullq{
  background-image:linear-gradient(168deg,#8a6a24 0%,#b08c3c 48%,#7a5f1f 100%);
}
[data-theme="hall"] .article blockquote,[data-theme="hall"] .pullq{
  background-image:none;-webkit-text-fill-color:var(--accent-2);color:var(--accent-2);
}
.article blockquote{font-style:italic}
/* carried-over blockquotes carry an inline `background`, which wipes out the
   gradient that the rule above clips its text to -> transparent text on nothing */
.article blockquote[style]{background-image:none;-webkit-text-fill-color:currentColor;
  color:var(--ink);border-radius:8px}
.article h2{font-size:26px;margin:40px 0 14px}
.qa{margin-bottom:26px}
.qa .q{font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--accent);margin-bottom:8px;letter-spacing:.01em}
.qa .a{font-size:var(--read-size,17px);line-height:var(--read-lh);letter-spacing:var(--read-tr);font-family:var(--read)}
.sharebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;margin:38px 0;font-family:var(--ui);font-size:12px;color:var(--ink-soft)}
.sharebar .s{border:1px solid var(--line);border-radius:20px;padding:6px 14px;cursor:pointer;transition:.2s}
.sharebar .s:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- hub ---------- */
.hub{position:relative}
.hub .ph{aspect-ratio:24/9}
@media(max-width:760px){.hub .ph{aspect-ratio:3/2}}
.hub .ph::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.1) 62%)}
.hub .cap{position:absolute;left:0;bottom:0;padding:0 46px 34px;z-index:3;color:#fff}
.hub .cap h1{font-size:clamp(34px,5.4vw,64px);color:#fff}
.hub .cap p{max-width:560px;color:rgba(255,255,255,.8);font-size:16px;margin-top:10px}
.hub .cap .kicker{color:var(--accent-2)}
@media(max-width:760px){.hub .cap{padding:0 24px 24px}}
.hubnav{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:36px;font-family:var(--ui);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;overflow-x:auto}
.hubnav a{padding:17px 0;border-bottom:2px solid transparent;color:var(--ink-soft);white-space:nowrap}
.hubnav a.on,.hubnav a:hover{color:var(--ink);border-color:var(--accent)}
.stats{display:flex;gap:46px;flex-wrap:wrap;margin-bottom:42px}
.stat .n{font-family:var(--display);font-size:40px;line-height:1;color:var(--accent)}
.stat .l{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}

/* ---------- voices ---------- */
.voice{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;position:relative}
.voice .q{font-family:var(--display);font-size:19px;line-height:1.5;margin-bottom:14px}
.voice .q{font-style:italic}
.voice .who{font-family:var(--ui);font-size:12px;color:var(--ink-soft)}
.voice .who b{color:var(--ink);font-weight:600}
.voice::before{content:"\201C";position:absolute;top:2px;right:18px;font-family:var(--display);font-size:66px;color:var(--accent);opacity:.16}

/* ---------- concerts ---------- */
.date{display:flex;gap:24px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s}
.date:hover{padding-left:8px}
.date .d{font-family:var(--display);font-size:16px;width:108px;flex:0 0 108px;color:var(--accent)}
.date .who{font-family:var(--display);font-size:19px}
.date .where{font-family:var(--ui);font-size:12.5px;color:var(--ink-soft);margin-top:3px}
.date .go{margin-left:auto;font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
@media(max-width:640px){.date .d{width:78px;flex:0 0 78px;font-size:14px}}

/* ---------- newsletter ---------- */
.nl{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--radius);
  padding:52px 40px;text-align:center;margin-top:76px;
  background-image:
    radial-gradient(120% 130% at 50% -30%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 62%),
    linear-gradient(180deg,var(--paper-3) 0%,var(--paper-2) 52%,var(--paper) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 28px 60px -34px rgba(0,0,0,.9);
}
.nl::before{
  content:"";position:absolute;top:0;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.55;
}
[data-theme="pearl"] .nl{
  background-image:
    radial-gradient(120% 130% at 50% -30%,rgba(120,140,165,.12),transparent 62%),
    linear-gradient(180deg,#ffffff 0%,var(--paper-2) 55%,var(--paper-3) 100%);
  box-shadow:inset 0 1px 0 #fff,0 20px 44px -30px rgba(20,26,32,.45);
}
.nl h2{font-size:32px;margin:12px 0 12px}
.nl p{color:var(--ink-soft);max-width:450px;margin:0 auto 24px;font-size:15.5px}
.nlform{display:flex;gap:8px;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.fld{padding:13px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--ui);
  font-size:14px;border-radius:var(--radius);outline:none;width:100%}
.fld:focus{border-color:var(--accent)}
.nlform .fld{flex:1;min-width:210px;width:auto}

/* ---------- footer ---------- */
footer.site{
  position:relative;border-top:1px solid var(--line);margin-top:92px;padding:60px 0 50px;
  background-image:linear-gradient(180deg,var(--paper-3) 0%,var(--paper-2) 40%,var(--paper) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),inset 0 22px 40px -34px rgba(0,0,0,.85);
}
footer.site::before{
  content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.4;
}
[data-theme="pearl"] footer.site{
  background-image:linear-gradient(180deg,#ffffff 0%,var(--paper-2) 45%,var(--paper-3) 100%);
  box-shadow:inset 0 1px 0 #fff;
}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
footer.site h4{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:15px;font-weight:600}
footer.site a{display:block;font-family:var(--ui);font-size:13px;color:var(--ink-soft);padding:4px 0}
footer.site a:hover{color:var(--accent)}
.fbrand{font-family:var(--display);font-size:23px;margin-bottom:10px}
.fbot{margin-top:42px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;
  font-family:var(--ui);font-size:11.5px;color:var(--ink-soft)}

/* ---------- swatches ---------- */
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:760px){.swatches{grid-template-columns:repeat(2,1fr)}}
.swatches>div{font-family:var(--ui);font-size:11px;color:var(--ink-soft);letter-spacing:.02em}
.swatches b{font-weight:500;color:var(--ink);display:inline-block;margin-right:5px}
.sw{display:block;height:56px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px}

/* ---------- proposal view ---------- */
.tree{font-family:var(--ui);font-size:13.5px;line-height:1.5;background:var(--paper-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 30px}
.tree ul{list-style:none;padding-left:22px;border-left:1px dotted var(--line);margin-left:6px}
.tree>ul{border:0;padding-left:0;margin-left:0}
.tree li{padding:3.5px 0}
.tree .node{font-weight:600}
.tree .u{color:var(--accent);font-size:11.5px;background:var(--accent-soft);border-radius:3px;padding:1.5px 7px;margin-left:8px;white-space:nowrap}
.tree .n{color:var(--ink-soft);font-size:12px;font-style:italic;margin-left:8px}
.badge{font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:var(--onaccent);
  border-radius:3px;padding:2.5px 7px;margin-left:8px;vertical-align:1.5px;font-weight:600}
.phase{display:flex;gap:16px;margin-top:14px}
.phase .pn{flex:0 0 42px;height:42px;border-radius:50%;background:var(--accent);color:var(--onaccent);display:grid;place-items:center;
  font-family:var(--ui);font-size:14px;font-weight:600}
.phase .pb{flex:1;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}
.phase .pt{font-family:var(--ui);font-weight:600;font-size:13.5px}
.phase .pd{font-size:15px;color:var(--ink-soft);margin-top:5px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media(max-width:780px){.cols2{grid-template-columns:1fr}}
.pagehead{padding:54px 0 34px;border-bottom:1px solid var(--line);margin-bottom:36px}
.pagehead h1{font-size:clamp(30px,4.8vw,54px);margin:12px 0 12px}
.pagehead .dek{max-width:640px;font-size:17px}
.beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.beforeafter>div{padding:22px 24px}
.beforeafter>div:first-child{border-right:1px solid var(--line);background:var(--paper-2)}
.beforeafter h4{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.beforeafter li{font-family:var(--ui);font-size:13.5px;color:var(--ink-soft);margin-bottom:9px;list-style:none;padding-left:16px;position:relative;line-height:1.5}
.beforeafter li::before{content:"—";position:absolute;left:0;color:var(--accent)}
@media(max-width:700px){.beforeafter{grid-template-columns:1fr}.beforeafter>div:first-child{border-right:0;border-bottom:1px solid var(--line)}}

.fade{animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#0f0f11;color:#fff;font-family:var(--ui);
  font-size:12.5px;padding:12px 20px;border-radius:22px;opacity:0;pointer-events:none;transition:.3s var(--ease);z-index:400;max-width:88vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* ---- old variable names mapped onto the new theme ---- */
:root{
  --card: var(--paper-2);
  --gold: var(--accent);
  --gold-soft: var(--accent-2);
  --serif: var(--display);
  --sans: var(--ui);
  --ink-dim: var(--ink-soft);
  --mq-gold: var(--accent);
  --mq-gold-soft: var(--accent-2);
  --mq-hue: var(--accent);
  --mq-ink: var(--ink);
  --mq-ink-dim: var(--ink-soft);
  --mq-line: var(--line);
  --mq-sans: var(--ui);
  --mq-serif: var(--display);
}

/* --- static build additions --- */
header.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:22px;padding:12px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand .bt b{display:block;font-family:var(--display);font-size:15px;letter-spacing:.01em;color:var(--ink)}
.brand .bt em{display:block;font-family:var(--ui);font-style:normal;font-size:9.5px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:2px}
.mainnav{display:flex;gap:17px;margin-left:auto;flex-wrap:wrap}
.mainnav a{font-family:var(--ui);font-size:12.5px;letter-spacing:.02em;color:var(--ink-soft);text-decoration:none}
.mainnav a:hover,.mainnav a.on{color:var(--accent)}
.lang{display:flex;gap:7px}
.lang a{font-family:var(--ui);font-size:10.5px;color:var(--ink-soft);text-decoration:none;opacity:.75}
.lang a.on{color:var(--accent);opacity:1;font-weight:600}
.grid{display:grid;gap:26px}
.grid.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid.g3{grid-template-columns:1fr}}
.card{display:block;text-decoration:none;color:inherit}
.card .ph{aspect-ratio:16/10;margin-bottom:13px}
.card h3{font-family:var(--display);font-size:20px;line-height:1.25;margin:6px 0 7px;color:var(--ink)}
.card .date{font-family:var(--ui);font-size:11px;color:var(--ink-soft)}
.ph.img{background-size:cover;background-position:center}
.hero{display:block;text-decoration:none;color:inherit;position:relative;margin-bottom:46px}
.hero .ph,.hero .post-img{width:100%;aspect-ratio:auto;height:clamp(210px,26vw,380px);max-height:none;min-height:0;margin-bottom:0}
.hero .post-img{border-radius:var(--radius)}
.hero .ph.itbt-cover2{width:100% !important;aspect-ratio:auto !important;height:clamp(200px,24vw,360px) !important;min-height:0 !important}
.homehub .ph{width:100% !important;aspect-ratio:auto !important;height:clamp(230px,27vw,400px) !important;max-height:none !important}
.hero .cap{padding-top:18px}
footer.site{margin-top:84px;padding:0 0 40px;position:relative}
footer.site::before{content:'';display:block;height:1px;
  background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
.fgrid{display:grid;grid-template-columns:1.55fr .9fr .9fr 1fr;gap:34px 40px;padding:44px 0 30px}
.fcol h4{font-family:var(--ui);font-size:10.5px;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--accent);margin:0 0 14px;font-weight:600}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin-bottom:9px}
.fcol a{font-family:var(--ui);font-size:13px;color:var(--ink-soft);text-decoration:none;
  transition:color .18s ease}
.fcol a:hover{color:var(--accent)}
.fmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:12px}
.fmark b{font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink);letter-spacing:.2px}
.fmark:hover b{color:var(--accent)}
.fblurb{font-family:var(--ui);font-size:13px;line-height:1.7;color:var(--ink-soft);
  max-width:38ch;margin:0 0 18px}
.fsocial{display:flex;gap:10px}
.fsocial a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);
  transition:color .18s ease,border-color .18s ease,transform .18s ease,background .18s ease}
.fsocial a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px);
  background:color-mix(in srgb,var(--accent) 9%,transparent)}
.fsocial svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.flangs{margin-top:22px}
.flangs span{display:block;font-family:var(--ui);font-size:10.5px;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--ink-soft);opacity:.7;margin-bottom:7px}
.flangs div{display:flex;gap:9px;flex-wrap:wrap}
.flangs a{font-family:var(--ui);font-size:11px;letter-spacing:1px;color:var(--ink-soft);
  text-decoration:none;opacity:.75}
.flangs a:hover{color:var(--accent);opacity:1}
.flangs a.on{color:var(--accent);opacity:1;font-weight:600}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding-top:20px;border-top:1px solid var(--line);
  font-family:var(--ui);font-size:11.5px;color:var(--ink-soft)}
.fbar a{color:var(--ink-soft);text-decoration:none}
.fbar a:hover{color:var(--accent)}
.navtoggle{display:none;padding:0;cursor:pointer;color:inherit;
  -webkit-appearance:none;appearance:none;font-family:var(--display);font-style:italic}
@media(max-width:900px){
  .wrap{padding:0 18px}
  .hrow{height:auto;min-height:60px;padding:9px 18px;gap:11px;position:relative;flex-wrap:nowrap}
  .navtoggle{display:grid}
  .brand .mark{display:none}
  .brand{min-width:0}
  .brand .bt b{font-size:16px;line-height:1.15;white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis;display:block}
  .brand .bt em{font-size:8.5px;letter-spacing:.13em}
  .navtoggle{transition:transform .24s ease,border-color .24s ease}
  header.site.nav-open .navtoggle{transform:rotate(90deg);
    border-color:color-mix(in srgb,var(--accent) 85%,transparent)}
  .mainnav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;
    flex-direction:column;gap:0;padding:4px 18px 12px;flex-wrap:nowrap;
    background:var(--paper);border-bottom:1px solid var(--line);
    box-shadow:0 20px 44px rgba(0,0,0,.5);
    max-height:calc(100vh - 60px);overflow-y:auto}
  header.site.nav-open .mainnav{display:flex}
  .mainnav a{padding:13px 2px;border-bottom:1px solid var(--line);font-size:15px}
  .mainnav a:last-child{border-bottom:0}
  .lang{margin-left:auto;padding-left:0;border-left:0;gap:5px;font-size:9.5px}
}
@media(max-width:900px){.fgrid{grid-template-columns:repeat(3,1fr);gap:28px 20px}
  .fcol.fbrand{grid-column:1/-1}
  .fcol a{overflow-wrap:anywhere}}
@media(max-width:560px){.fgrid{grid-template-columns:repeat(3,1fr);gap:22px 12px;padding:32px 0 22px}
  .fcol h4{font-size:9.5px;letter-spacing:1.5px;margin-bottom:11px}
  .fcol a{font-size:11.5px}
  .fcol li{margin-bottom:8px}
  .fblurb{font-size:12.5px}
  .flangs{margin-top:18px}
  .fbar{justify-content:flex-start}}
@media(max-width:380px){.fcol a{font-size:10.5px}}
main{min-height:60vh}
.byline span:not(.dot){white-space:nowrap}
.subdek{font-family:var(--display);font-size:17.5px;line-height:1.55;color:var(--ink-soft);
  margin:-10px 0 24px;max-width:46em}
.leadart{max-width:860px;margin:0 auto 12px}
.leadart .post-img,.leadart .ph{width:100% !important;aspect-ratio:auto !important;
  height:clamp(220px,30vw,400px) !important;max-height:none !important;min-height:0 !important;
  margin:0 !important;border-radius:var(--radius);overflow:hidden}
.article .lead,.leadart{margin-bottom:30px}
.leadart.slim .post-img,.leadart.slim .ph{height:132px !important}
.leadart.slim .mood-label{font-size:10.5px !important;letter-spacing:4px !important}
.article .standfirst+.subdek{margin-top:-14px}
@media(max-width:700px){.subdek{font-size:16px}}
/* --- manifesto --- */
.manifesto{margin-top:52px;padding-top:40px;border-top:1px solid var(--line)}
.manifesto .kicker{text-align:center}
.manifesto h1,.manifesto h2{font-size:clamp(26px,3.1vw,38px);line-height:1.15;
  margin:12px auto 34px;text-align:center;max-width:18ch}
.manifesto{max-width:62ch;margin-left:auto;margin-right:auto}
.manifesto p{margin:0 0 22px}
.manifesto p b{margin-top:6px}
.manifesto p{font-family:var(--read);font-size:var(--read-size,16.5px);line-height:var(--read-lh,1.78);
  color:var(--ink);margin:0 0 20px}
.manifesto p b{font-family:var(--ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);font-weight:600;display:block;margin-bottom:7px}
.manifesto p:last-of-type{font-family:var(--display);font-size:20px;line-height:1.5;
  color:var(--ink);margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
blockquote.mq{display:block;font-family:var(--display);font-style:italic;
  font-size:clamp(18px,1.9vw,22px);line-height:1.45;max-width:600px;margin:34px auto 0;text-align:center;
  background-image:var(--grad-gold,var(--grad));-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
blockquote.mq .attr{display:block;margin-top:14px;font-family:var(--ui);font-style:normal;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  -webkit-text-fill-color:var(--ink-soft);color:var(--ink-soft)}
/* homepage: tighter */
.hero .cap{position:static !important;background:none !important;padding:16px 0 0 !important;text-align:left}
.hero .cap::before,.hero .cap::after{display:none !important}
.hero .ph::before,.hero .ph::after{display:none}
.homehub .cap{position:static !important;background:none !important;padding:14px 0 0 !important}
.hero{margin-bottom:34px}
.hero .cap h1{font-size:clamp(28px,4vw,46px)}
.hero .cap .dek{font-size:16px;max-width:640px}
.homehub{display:block;text-decoration:none;color:inherit;position:relative}
.homehub .ph{aspect-ratio:24/9;max-height:340px}
.homehub .cap h1{font-size:clamp(24px,3.2vw,38px);margin:6px 0 0}
/* --- Sound of Becoming: compacted --- */
.sob-section{padding:56px 22px 60px !important;
  background:color-mix(in srgb,var(--paper-2) 78%,transparent) !important}
.sob-section.container{max-width:720px}
.sob-title{font-size:clamp(27px,3.6vw,42px) !important;line-height:1.08 !important;margin-bottom:10px !important}
.sob-kicker{margin-bottom:14px !important}
.sob-divider{margin:20px auto 16px !important}
.sob-dek{font-size:16.5px !important;margin:0 auto 30px !important;max-width:560px}
.sob-body{font-size:15.5px !important;line-height:1.68 !important}
.sob-body p{margin-bottom:15px !important}
.sob-body p.sob-pull{font-size:19px !important;line-height:1.4 !important;padding:16px 0 !important;margin:20px 0 !important}
.sob-coda{font-size:20px !important;margin-top:26px !important;letter-spacing:6px !important}
/* --- Mood quiz: let the page breathe through the card --- */
.mq-wrap .mq-card{
  background:radial-gradient(circle at 50% 0%,rgba(201,162,74,.10) 0%,transparent 55%),
             color-mix(in srgb,var(--paper-2) 80%,transparent) !important;
  border:1px solid var(--line);backdrop-filter:blur(3px)}
.mq-wrap .mq-card::before{opacity:.5}
.mq-wrap{--mq-bg:transparent}
/* softer card hover — a highlight, not a gold box */
.card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));
  box-shadow:0 14px 34px -24px rgba(0,0,0,.9)}
.card:hover h3{color:var(--accent-2)}
.grid.series .card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.sob-wrap{margin:56px auto}
.mq-wrap{margin:56px auto;max-width:820px}
.sob-wrap{margin:56px auto}
.mq-wrap{margin:56px auto;max-width:820px}
.serieshead{border-top:1px solid var(--line);padding-top:24px;margin-bottom:24px}
.serieshead h2{font-size:29px;margin:6px 0 8px}
.serieshead .dek{max-width:600px;font-size:16px}
.grid.series .card h3{font-size:18px}
.clist{border-top:1px solid var(--line)}
.crow{display:flex;gap:26px;padding:18px 2px;border-bottom:1px solid var(--line);align-items:baseline}
.crow .cdate{flex:0 0 190px;font-family:var(--ui);font-size:12.5px;letter-spacing:.03em;color:var(--accent)}
.crow h3{font-family:var(--display);font-size:20px;line-height:1.25;margin:0 0 5px;color:var(--ink)}
.crow .cvenue{font-family:var(--read);font-size:14.5px;color:var(--ink-soft)}
.crow .cprog{font-family:var(--ui);font-size:11.5px;letter-spacing:.02em;color:var(--ink-soft);opacity:.72;margin-top:5px}
.crow .cnote{font-family:var(--ui);font-size:11.5px;color:var(--accent-2);margin-top:5px}
.crow .cticket{display:inline-block;margin-top:9px;font-family:var(--ui);font-size:11.5px;letter-spacing:.03em;
  color:var(--accent);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:20px;padding:5px 13px;transition:.2s}
.crow .cticket:hover{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}
.crow .cticket{display:inline-block;margin-top:9px;font-family:var(--ui);font-size:11.5px;letter-spacing:.03em;
  color:var(--accent);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:20px;padding:5px 13px;transition:.2s}
.crow .cticket:hover{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}
.crow .cticket{display:inline-block;margin-top:9px;font-family:var(--ui);font-size:11.5px;letter-spacing:.03em;
  color:var(--accent);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:20px;padding:5px 13px;transition:.2s}
.crow .cticket:hover{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}
.crow .cticket{display:inline-block;margin-top:9px;font-family:var(--ui);font-size:11.5px;letter-spacing:.03em;
  color:var(--accent);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:20px;padding:5px 13px;transition:.2s}
.crow .cticket:hover{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}
#c-past .crow{opacity:.5}
#c-past .crow .cdate{color:var(--ink-soft)}
@media(max-width:640px){.crow{display:block}.crow .cdate{margin-bottom:6px}}
.alinks{margin-top:9px;font-family:var(--ui);font-size:11.5px}
.alinks a{color:var(--accent);text-decoration:none;margin-right:4px}
.hub .cap h1{font-size:clamp(28px,4.2vw,46px);margin:8px 0 0}
.hub+.narrow{max-width:720px;margin-left:0}
.cb{padding:0 2px}
.qa-q{display:block;font-family:var(--ui);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent-2);font-weight:600;margin:26px 0 7px}
.qa-a{display:block;font-family:var(--read);font-size:var(--read-size,16.5px);line-height:var(--read-lh,1.78)}
.article ul,.article ol{margin:0 0 20px 22px}
.article li{font-family:var(--read);font-size:var(--read-size,16.5px);line-height:var(--read-lh,1.78);margin-bottom:9px}
.article img{max-width:100%;height:auto;border-radius:var(--radius)}
.ph.a-gold,.ph.a-mosgold{--tint:var(--accent)}
.ph.a-blue,.ph.a-indigo,.ph.a-space{--tint:#5a7fbf}
.ph.a-red,.ph.a-amber{--tint:#b4643c}
.ph.a-silver,.ph.a-silence{--tint:#9aa3ad}
.ph.a-immortal,.ph.a-salzburg{--tint:#8a7bbf}
.ph.a-jedi{--tint:#3f8f86}
.sm-poem{display:block;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.7;
  color:var(--ink-soft);text-align:center;margin:26px auto;max-width:560px;white-space:pre-line}
.ph[class*="a-"]::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 30% 0%,color-mix(in srgb,var(--tint,var(--accent)) 26%,transparent),transparent 70%)}
/* ---- story-body styles, re-scoped from the old story modal to the article page ---- */
/* BASE ------------------------------------------------------------------ */
.article .sm-pull{font-size:24px;color:var(--accent);font-style:italic;
  font-family:var(--display);line-height:1.55;border-left:2px solid var(--accent);
  padding:10px 0 10px 26px;margin:32px 0}
.article .sm-separator{display:block;text-align:center;color:var(--accent);
  font-family:var(--display);font-size:20px;letter-spacing:8px;margin:32px 0}
.article .sm-dek{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.34em;
  color:var(--ink);text-align:center;line-height:1.44;margin:.15em auto 1.25em;max-width:32em}
.article .sm-qa-head{font-family:var(--display);font-style:italic;font-size:1.24em;
  color:var(--accent);text-align:center;margin:2.2em 0 .6em;padding-top:.7em;
  border-top:1px solid var(--line)}
.article .sm-byline{text-align:right;font-family:var(--display);font-style:italic;
  color:var(--ink-soft);margin:.1em 0 .9em}
.article .sm-poem{display:block;font-family:var(--display);font-style:italic;font-size:19px;
  line-height:1.7;color:var(--ink-soft);text-align:center;margin:26px auto;max-width:560px;
  white-space:pre-line}
.article .sm-crawl{font-style:italic;text-align:center;color:var(--ink-soft);font-size:15.5px;
  line-height:1.7;letter-spacing:.3px;max-width:92%;margin:0 auto 10px}
/* Q&A ------------------------------------------------------------------- */
.article .qa-q,.article .qa-a{display:block;font-family:var(--ui);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;font-style:normal;font-weight:600;
  margin-bottom:.4em}
.article .qa-q{color:var(--accent-2)}
.article .qa-a{color:var(--accent)}
.article p:has(.qa-q){font-style:italic;color:var(--ink);margin-top:1.6em}
.article p:has(.qa-a){margin-top:.9em;margin-bottom:1.8em}
/* photos ---------------------------------------------------------------- */
.article .sm-portrait{margin:1.4em auto 1.6em;max-width:280px;text-align:center}
.article .sm-photo{margin:1.4em auto 1.6em;max-width:320px;text-align:center}
.article .sm-portrait .sm-portrait-img{width:100%;display:block;border-radius:12px;
  border:1px solid rgba(200,205,214,.30);box-shadow:0 8px 26px rgba(0,0,0,.42);
  transition:transform .55s ease,box-shadow .55s ease}
.article .sm-photo img{width:100%;display:block;border-radius:10px;
  border:1px solid rgba(200,205,214,.22);box-shadow:0 8px 26px rgba(0,0,0,.4);
  transition:transform .55s ease,box-shadow .55s ease}
.article .sm-portrait .sm-portrait-img:hover,.article .sm-photo img:hover{
  transform:scale(1.035);box-shadow:0 14px 36px rgba(0,0,0,.5)}
.article .sm-photo figcaption,.article .sm-portrait figcaption{font-size:12.5px;
  color:var(--ink-soft);margin-top:.6em;font-style:italic;letter-spacing:.02em;line-height:1.5}
/* transcripts ----------------------------------------------------------- */
.article .sm-transcript{margin-top:32px;border-top:1px solid var(--line);padding-top:16px}
.article .sm-transcript>summary{cursor:pointer;font-family:var(--display);font-style:italic;
  font-size:18px;color:var(--accent);list-style:none;padding:7px 0}
.article .sm-transcript>summary::-webkit-details-marker{display:none}
.article .sm-transcript[open]>summary{margin-bottom:8px}
.article .sm-transcript .sm-tx-intro{font-size:13.5px;color:var(--ink-soft);font-style:italic;
  margin:2px 0 18px}
.article .sm-transcript .sm-tx-q{font-weight:700;color:var(--accent);margin:20px 0 4px;
  font-family:var(--ui);font-size:15px;line-height:1.5}
.article .sm-transcript .sm-tx-a{color:var(--ink);margin:0 0 6px;line-height:1.72}
/* numbered rules -------------------------------------------------------- */
.article ol.numbered-rules{list-style:none;counter-reset:rule;padding:0;margin:24px 0}
.article ol.numbered-rules>li{counter-increment:rule;position:relative;padding-left:54px;
  margin-bottom:24px;font-family:var(--display);font-size:19px;line-height:1.85;color:var(--ink)}
.article ol.numbered-rules>li::before{content:counter(rule);position:absolute;left:0;top:2px;
  font-family:var(--display);font-style:italic;font-size:30px;color:var(--accent);
  line-height:1;width:40px;text-align:right}
/* ACCENT VARIANTS ------------------------------------------------------- */
.article.accent-immortal .sm-pull{color:#e0c07a;border-left-color:#c9a24a}
.article.accent-immortal .sm-separator{color:#b89248}
.article.accent-immortal .sm-crawl{color:#d8cbb0}
.article.accent-immortal .sm-transcript{border-top-color:rgba(201,162,74,.28)}
.article.accent-immortal .sm-transcript>summary{color:#e0b95e}
.article.accent-immortal .sm-transcript .sm-tx-intro{color:#a99b83}
.article.accent-immortal .sm-transcript .sm-tx-q{color:#e0b95e}
.article.accent-jedi .sm-pull{color:#e6ebff;border-left-color:#6f86ff}
.article.accent-jedi .sm-separator{color:#8aa0ff}
.article.accent-jedi .sm-crawl{color:#e3e9ff}
.article.accent-jedi .sm-transcript{border-top-color:rgba(160,180,255,.22)}
.article.accent-jedi .sm-transcript>summary{color:#f4d27a}
.article.accent-jedi .sm-transcript .sm-tx-intro{color:#aeb8d6}
.article.accent-jedi .sm-transcript .sm-tx-q{color:#ffd97a}
.article.accent-jedi .sm-transcript a{color:#9fb4ff}
.article.accent-silence .sm-dek{color:#e6ebf1}
.article.accent-silence .sm-qa-head{color:#e2e8ee;border-top-color:rgba(200,208,216,.30)}
.article.accent-silence .sm-pull{color:#e8eef4;border-left-color:rgba(216,222,228,.85);
  text-shadow:0 0 24px rgba(216,222,228,.28)}
.article.accent-silence .sm-separator{color:#aab3bd}
.article.accent-salon .sm-dek{color:#efe6d4}
.article.accent-salon .sm-pull{color:#f2e6c9;border-left-color:#d9b877}
.article.accent-salon .sm-separator{color:#d9b877}
.article.accent-salon .sm-qa-head{color:#f0e4c8;border-top-color:rgba(217,184,119,.32)}
.article.accent-salon .qa-q{color:#e7cf9c}
.article.accent-salon .qa-a{color:#d9b877}
.article.accent-salon p:has(.qa-q){color:#e9ddc7}
.article.accent-bronze .sm-dek{color:#f1ece1}
.article.accent-bronze .sm-pull{color:#f3efe5;border-left-color:#f0ece1}
.article.accent-bronze .sm-separator{color:#efe9dc}
.article.accent-bronze .sm-qa-head{color:#f4efe4;border-top-color:rgba(240,236,225,.30)}
.article.accent-bronze .qa-q{color:#efe9dc}
.article.accent-bronze .qa-a{color:#ece6dc}
.article.accent-bronze p:has(.qa-q){color:#e9e3d6;font-weight:500}
.article.accent-bronze .sm-photo{max-width:340px}
.article.accent-amber .sm-dek{color:#dcb45c}
.article.accent-amber .sm-pull{color:#e7c97a;border-left-color:var(--accent)}
.article.accent-amber .sm-separator{color:#c2c7cf}
.article.accent-amber .sm-qa-head{color:var(--accent);border-top-color:rgba(201,162,74,.30)}
.article.accent-amber .qa-q{color:var(--accent)}
.article.accent-amber .qa-a{color:#e6e9ee}
.article.accent-amber p:has(.qa-q){color:#cda349}
.article.accent-amber .sm-byline{color:#9aa0aa}
.article.accent-space .sm-pull{color:#5ad8ee;border-left-color:#22d3ee}
.article.accent-space .sm-separator{color:#22d3ee}
/* mobile ---------------------------------------------------------------- */
@media(max-width:700px){
  .article .sm-pull{font-size:20px;padding-left:20px;margin:26px 0}
  .article .sm-separator{margin:26px 0}
  .article ol.numbered-rules>li{padding-left:42px;font-size:17px}
  .article ol.numbered-rules>li::before{font-size:24px;width:32px}
}
/* ---- gallery styles carried over ---- */

  .photo-credit{
    position:absolute;bottom:22px;left:24px;
    font-size:8px;letter-spacing:1.6px;text-transform:uppercase;
    color:rgba(255,255,255,.65);
    background:rgba(0,0,0,.3);padding:4px 9px;border-left:1px solid var(--accent);
    backdrop-filter:blur(6px);
  }

  .container{max-width:1280px;margin:0 auto}

  .section-head{text-align:center;margin-bottom:70px}

  .section-eyebrow{
    font-size:11px;letter-spacing:4px;text-transform:uppercase;
    color:var(--accent);margin-bottom:18px;
  }

  .section-title{
    font-family:var(--display);font-size:clamp(36px,5vw,60px);
    font-weight:600;line-height:1.05;letter-spacing:-.5px;
  }

  .section-title em{font-style:italic;color:var(--accent);font-weight:400}

  .section-sub{
    font-family:var(--display);font-style:italic;color:var(--ink-soft);
    font-size:18px;margin-top:14px;max-width:600px;margin-left:auto;margin-right:auto;
  }


  /* ---------- GALLERY ---------- */
  .gallery-section{background:var(--paper-2)}


/* -- Concert thumbnail grid (overview) -- */
  .concerts-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;
  }

  .concert-thumb{
    position:relative;overflow:hidden;cursor:pointer;
    aspect-ratio:3/2;background:#1a1a1e;
    border:1px solid var(--line);transition:border-color .4s, transform .4s;
  }

  .concert-thumb:hover{border-color:var(--accent);transform:translateY(-4px)}

  .concert-thumb img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:brightness(.7) grayscale(15%);transition:filter .5s, transform .5s;
  }

  .concert-thumb:hover img{filter:brightness(.85) grayscale(0%);transform:scale(1.03)}

  .concert-thumb .thumb-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.15) 55%,transparent 100%);
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:28px 24px;
  }

  .concert-thumb .thumb-eyebrow{
    font-size:9px;letter-spacing:2.5px;text-transform:uppercase;
    color:var(--accent);margin-bottom:8px;
  }

  .concert-thumb .thumb-title{
    font-family:var(--display);font-size:24px;font-weight:400;
    font-style:italic;color:var(--ink);line-height:1.25;
  }

  .concert-thumb .thumb-meta{
    font-size:11px;letter-spacing:1.2px;color:var(--ink-soft);margin-top:6px;
  }


  /* -- Individual gallery view -- */
  .gallery-detail{display:none}

  .gallery-detail.active{display:block}

  .gallery-back{
    display:inline-flex;align-items:center;gap:8px;
    font-size:11px;letter-spacing:2px;text-transform:uppercase;
    color:var(--accent);cursor:pointer;margin-bottom:36px;
    background:none;border:none;font-family:var(--sans);
    transition:opacity .2s;
  }

  .gallery-back:hover{opacity:.7}

  .gallery-back svg{width:16px;height:16px}


  /* Truncated text with "more…" */
  .concert-text-wrap{position:relative;max-width:720px;margin:0 auto 40px}

  .concert-text-wrap.collapsed{max-height:160px;overflow:hidden}

  .concert-text-wrap.collapsed::after{
    content:"";position:absolute;bottom:0;left:0;right:0;height:80px;
    background:linear-gradient(transparent,var(--paper-2));pointer-events:none;
  }

  .read-more-btn{
    display:inline-block;margin-top:14px;
    font-size:11px;letter-spacing:2px;text-transform:uppercase;
    color:var(--accent);cursor:pointer;
    background:none;border:1px solid var(--accent);
    padding:8px 20px;font-family:var(--sans);
    transition:all .2s;
  }

  .read-more-btn:hover{background:var(--accent);color:#000}


  /* Photo grid inside detail view */
  .photo-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;
  }

  .photo-grid-item{
    aspect-ratio:1;background:#222;position:relative;overflow:hidden;cursor:pointer;
  }

  .photo-grid-item img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:grayscale(20%) brightness(.92);
    transition:transform .45s ease, filter .45s ease;
  }

  .photo-grid-item:hover img{transform:scale(1.04);filter:grayscale(0%) brightness(1)}

  .photo-grid-item .photo-credit{
    position:absolute;bottom:8px;left:10px;
    font-size:7px;letter-spacing:1.6px;text-transform:uppercase;
    color:rgba(255,255,255,.5);background:rgba(0,0,0,.35);
    padding:3px 8px;border-left:1px solid var(--accent);
    backdrop-filter:blur(6px);opacity:0;transition:opacity .3s;z-index:2;
  }

  .photo-grid-item:hover .photo-credit{opacity:1}


  /* -- Gallery Credits Button -- */
  .gallery-credits-btn{
    background:none;border:1px solid var(--line);
    color:var(--accent);font-family:var(--sans);
    font-size:11px;letter-spacing:2px;text-transform:uppercase;
    padding:10px 24px;cursor:pointer;
    transition:border-color .3s, background .3s;
  }

  .gallery-credits-btn:hover{
    border-color:var(--accent);background:rgba(201,162,74,.08);
  }


  /* -- Gallery Credits Modal -- */
  .gallery-credits-modal{
    position:fixed;inset:0;z-index:1000;
    background:rgba(5,5,5,.82);backdrop-filter:blur(6px);
    display:none;align-items:center;justify-content:center;
    padding:24px;
  }

  .gallery-credits-modal.open{display:flex}

  .gallery-credits-modal .gcm-dialog{
    background:var(--paper-2);
    border:1px solid var(--line);
    border-top:3px solid var(--accent);
    max-width:600px;width:100%;
    padding:48px 44px 40px;
    position:relative;
    max-height:90vh;overflow-y:auto;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    animation:cmIn .25s ease-out;
  }

  .gallery-credits-modal .gcm-close{
    position:absolute;top:14px;right:18px;
    background:none;border:none;color:var(--ink-soft);
    font-size:28px;line-height:1;cursor:pointer;padding:6px 10px;
  }

  .gallery-credits-modal .gcm-close:hover{color:var(--accent)}

  .gallery-credits-modal .gcm-eyebrow{
    font-size:9px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:14px;text-align:center;
  }

  .gallery-credits-modal .gcm-title{
    font-family:var(--display);font-size:26px;font-style:italic;
    text-align:center;margin-bottom:28px;color:var(--ink);
  }

  .gallery-credits-modal .gcm-text{
    font-size:14px;line-height:1.8;color:var(--ink-soft);
    text-align:center;
  }

  .gallery-credits-modal .gcm-text p{margin-bottom:18px}

  .gallery-credits-modal .gcm-names{
    font-family:var(--display);font-size:17px;font-style:italic;
    color:var(--ink);text-align:center;margin-top:24px;
    line-height:1.9;
  }

  .gallery-credits-modal .gcm-thanks{
    font-size:13px;color:var(--ink-soft);text-align:center;
    margin-top:22px;line-height:1.7;
    border-top:1px solid var(--line);padding-top:22px;
  }


  /* -- Lightbox -- */
  .gallery-lightbox{
    position:fixed;inset:0;z-index:2000;
    background:rgba(0,0,0,.92);backdrop-filter:blur(10px);
    display:none;align-items:center;justify-content:center;
    flex-direction:column;
  }

  .gallery-lightbox.open{display:flex}

  .gallery-lightbox img{
    max-width:90vw;max-height:80vh;object-fit:contain;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
  }

  .lb-close{
    position:absolute;top:20px;right:28px;
    background:none;border:none;color:var(--ink-soft);
    font-size:32px;cursor:pointer;z-index:10;transition:color .2s;
  }

  .lb-close:hover{color:var(--accent)}

  .lb-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    background:none;border:1px solid rgba(255,255,255,.2);
    color:#fff;width:48px;height:48px;font-size:22px;
    display:grid;place-items:center;cursor:pointer;
    transition:border-color .2s, color .2s;z-index:10;
  }

  .lb-nav:hover{border-color:var(--accent);color:var(--accent)}

  .lb-prev{left:20px}

  .lb-next{right:20px}

  .lb-counter{
    margin-top:16px;font-size:11px;letter-spacing:2px;
    color:var(--ink-soft);text-transform:uppercase;
  }


  /* ---------- VIDEO GALLERY (vertical reels) ---------- */
  .video-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;
  }

  .video-grid-item{
    aspect-ratio:9/16;background:#0a0a0a;position:relative;overflow:hidden;cursor:pointer;
  }

  .video-grid-item img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:grayscale(15%) brightness(.85);
    transition:transform .45s ease, filter .45s ease;
  }

  .video-grid-item:hover img{transform:scale(1.04);filter:grayscale(0%) brightness(1)}

  .video-grid-item .vg-play{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    z-index:2;pointer-events:none;transition:transform .3s ease;
  }

  .video-grid-item .vg-play svg{
    width:56px;height:56px;
    filter:drop-shadow(0 4px 18px rgba(0,0,0,.55));
    color:rgba(255,255,255,.94);
  }

  .video-grid-item:hover .vg-play{transform:scale(1.12)}

  .video-grid-item .vg-duration{
    position:absolute;top:10px;right:10px;
    font-family:var(--sans);font-size:10px;
    color:#fff;background:rgba(0,0,0,.55);
    padding:3px 7px;letter-spacing:.5px;
    z-index:3;pointer-events:none;
  }

  .video-grid-item .vg-caption{
    position:absolute;bottom:10px;left:12px;right:12px;
    font-family:var(--sans);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;
    color:rgba(255,255,255,.78);
    text-shadow:0 1px 6px rgba(0,0,0,.8);
    z-index:3;pointer-events:none;
  }

  .fanpost-text-wrap.collapsed{max-height:150px;overflow:hidden}

  .fanpost-text-wrap.collapsed::after{
    content:"";position:absolute;bottom:0;left:0;right:0;height:60px;
    background:linear-gradient(transparent,var(--card));pointer-events:none;
  }


  /* Voices intro paragraphs (under section-sub) */
  .voices-section .section-head{margin-bottom:22px}


  /* Extra prompts (hidden when prompt-board is collapsed) */
  .voices-prompts.collapsed .vp-extra{display:none}

  .section-head-sub{margin-bottom:36px}

  .section-head-sub .section-eyebrow{font-size:11px}

  .section-head-sub .section-title-sub{
    font-family:var(--display);font-size:38px;line-height:1.1;
    margin:8px 0 14px;color:var(--ink);font-weight:600;
  }

  .section-head-sub .section-title-sub em{color:var(--accent);font-style:italic}

  .section-head-sub .section-sub-cruise{
    color:var(--ink-soft);max-width:680px;margin:0 auto;
    font-size:15.5px;line-height:1.65;
  }
@media(max-width:760px){
    .section-head-sub .section-title-sub{font-size:30px}}

  .disco-section .container{max-width:1280px;margin:0 auto}

  .sob-section .container{max-width:780px;margin:0 auto}
@media (max-width:900px){
    .photo-grid{grid-template-columns:repeat(2,1fr)}

    .video-grid{grid-template-columns:repeat(2,1fr)}}

  .letter-section .container{max-width:1280px;margin:0 auto;}

.concert-intro .concert-eyebrow {
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
}

.concert-intro .concert-date {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 28px;
}

.concert-intro .concert-text p {
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.75;
  color: var(--ink-soft);
  margin: 0 0 18px;
  text-align: left;
}

.concert-intro .concert-text p:last-child {
  margin-bottom: 0;
}

.concert-intro .concert-text p em {
  color: var(--ink);
  font-style: italic;
}

.concert-intro .concert-credit {
  margin-top: 24px;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.concert-intro .concert-credit span {
  color: var(--accent);
}



  /* Scoped helpers for the 3-subsection QM2 gallery */
  #gallery-queen-mary-2019 .subsection-title{
    text-align:center;
    font-family:var(--display);
    font-size:1.7rem;
    font-weight:400;
    letter-spacing:.04em;
    color:var(--accent);
    margin:64px auto 6px;
    max-width:720px;
  }

  #gallery-queen-mary-2019 .subsection-tag{
    text-align:center;
    font-style:italic;
    opacity:.78;
    margin:0 auto 26px;
    max-width:640px;
    font-family:var(--sans);
    font-size:.98rem;
    line-height:1.55;
  }

  #gallery-queen-mary-2019 .subsection-divider{
    width:60px;
    height:1px;
    background:var(--accent);
    opacity:.45;
    margin:10px auto 28px;
  }



  /* Scoped helpers for the multi-subsection Cruise 2026 gallery */
  #gallery-cruise-2026 .subsection-title{
    text-align:center;
    font-family:var(--display);
    font-size:1.7rem;
    font-weight:400;
    letter-spacing:.04em;
    color:var(--accent);
    margin:64px auto 6px;
    max-width:720px;
  }

  #gallery-cruise-2026 .subsection-tag{
    text-align:center;
    font-style:italic;
    opacity:.78;
    margin:0 auto 26px;
    max-width:640px;
    font-family:var(--sans);
    font-size:.98rem;
    line-height:1.55;
  }

  #gallery-cruise-2026 .subsection-divider{
    width:60px;
    height:1px;
    background:var(--accent);
    opacity:.45;
    margin:10px auto 28px;
  }

  #gallery-cruise-2026 .live-pill{
    display:inline-block;
    margin:14px auto 0;
    padding:5px 14px;
    border:1px solid var(--accent);
    border-radius:999px;
    font-family:var(--sans);
    font-size:.78rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--accent);
    opacity:.9;
  }

  #gallery-cruise-2026 .live-pill::before{
    content:"●";
    margin-right:8px;
    color:#e74c3c;
    animation:cruisePulse 1.6s ease-in-out infinite;
  }



  /* Scoped helpers for the Ania & Viola gallery */
  #gallery-cruise-2026-ania-viola .subsection-title{
    text-align:center;
    font-family:var(--display);
    font-size:1.7rem;
    font-weight:400;
    letter-spacing:.04em;
    color:var(--accent);
    margin:72px auto 6px;
    max-width:720px;
  }

  #gallery-cruise-2026-ania-viola .subsection-tag{
    text-align:center;
    font-style:italic;
    opacity:.78;
    margin:0 auto 26px;
    max-width:640px;
    font-family:var(--sans);
    font-size:.98rem;
    line-height:1.55;
  }

  #gallery-cruise-2026-ania-viola .subsection-divider{
    width:60px;
    height:1px;
    background:var(--accent);
    opacity:.45;
    margin:10px auto 28px;
  }

  #gallery-cruise-2026-ania-viola .av-preamble{
    max-width:720px;
    margin:0 auto 16px;
    font-family:var(--sans);
    font-size:1.02rem;
    line-height:1.7;
    opacity:.9;
    text-align:left;
    padding:0 18px;
  }

  #gallery-cruise-2026-ania-viola .av-preamble p{
    margin:0 0 18px;
  }

  #gallery-cruise-2026-ania-viola .av-preamble p:last-child{
    margin-bottom:0;
    font-style:italic;
    opacity:.95;
    padding-top:4px;
  }
/* standalone gallery pages */
.gallery-detail{display:block !important}
.concerts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.concerts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.concerts-grid{grid-template-columns:1fr}}
a.concert-thumb{display:block;text-decoration:none;color:inherit}
.concert-text-wrap.collapsed{max-height:150px;overflow:hidden;position:relative}
.read-more-btn{background:none;border:0;color:var(--accent);font-family:var(--ui);font-size:12px;cursor:pointer;padding:8px 0}
.glb{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:200;display:none;align-items:center;justify-content:center}
.glb.on{display:flex}
.glb img{max-width:94vw;max-height:88vh;object-fit:contain}
.glb .x{position:absolute;top:16px;right:22px;font-size:34px;color:#fff;cursor:pointer;line-height:1}
.glb .nav{position:absolute;top:50%;transform:translateY(-50%);font-size:44px;color:#fff;cursor:pointer;padding:0 18px;user-select:none}
.glb .prev{left:6px}.glb .next{right:6px}

/* ---- Immortal · One Track at a Time card art ---- */
.ph.itbt-cover2{aspect-ratio:16/10}
.itbt-cover2{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:252px;background:radial-gradient(ellipse 56% 46% at 16% 30%,rgba(156,183,168,0.5) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 40% 40% at 86% 64%,rgba(154,182,166,0.42) 0%,rgba(160,185,170,0.2) 48%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 30% 30% at 60% 82%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 26% 34% at 40% 12%,rgba(156,183,168,0.28) 0%,rgba(160,185,170,0) 62%),radial-gradient(ellipse 50% 46% at 76% 16%,rgba(150,120,78,0.30) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 30% 86%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#dccdaf 0%,#d0c19f 42%,#c3b389 100%);}
.itbt-c2-tex{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'><filter%20id='b'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.014'%20numOctaves='4'%20seed='11'%20stitchTiles='stitch'/><feColorMatrix%20type='saturate'%20values='0'/><feComponentTransfer><feFuncA%20type='linear'%20slope='0.55'/></feComponentTransfer></filter><filter%20id='g'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/><feColorMatrix%20type='saturate'%20values='0'/><feComponentTransfer><feFuncA%20type='linear'%20slope='0.22'/></feComponentTransfer></filter><rect%20width='100%'%20height='100%'%20filter='url(%23b)'/><rect%20width='100%'%20height='100%'%20filter='url(%23g)'/></svg>");background-size:340px 340px;mix-blend-mode:multiply;opacity:.38;}
.itbt-c2-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 52% at 50% 55%,rgba(248,242,228,0.62) 0%,rgba(248,242,228,0) 60%);box-shadow:inset 0 0 66px 16px rgba(70,52,28,0.26);}
.itbt-c2-frame{position:absolute;inset:15px;z-index:2;pointer-events:none;border:1px solid rgba(150,116,54,0.6);}
.itbt-c2-frame::after{content:'';position:absolute;inset:4px;border:1px solid rgba(150,116,54,0.24);}
.itbt-cover2 .itbt-art{position:relative;z-index:3;gap:11px;padding:30px 26px;}
.ph.itbt-cover2 .itbt-kicker{color:#6a4f2b;font-weight:600;font-size:10.5px;letter-spacing:4px;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-plate{font-weight:600;display:flex;align-items:center;justify-content:center;gap:14px;color:#8a672a;font-family:var(--display);font-size:22px;letter-spacing:3px;font-variant:small-caps;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-plate i{display:block;width:38px;height:1px;background:linear-gradient(90deg,rgba(138,103,42,0),rgba(138,103,42,0.85));}
.itbt-plate i.right{transform:scaleX(-1);}
.ph.itbt-cover2 .itbt-track{color:#34271a;font-weight:600;font-family:var(--display);font-style:italic;font-size:27px;line-height:1.22;margin-top:2px;text-shadow:0 1px 2px rgba(255,252,244,0.55);}
.ph.itbt-cover2 .itbt-comp{color:#6a543a;font-weight:600;font-size:10.5px;letter-spacing:3px;margin-top:2px;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-cover2.alt{background:radial-gradient(ellipse 54% 46% at 82% 26%,rgba(156,183,168,0.48) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 42% 42% at 14% 62%,rgba(154,182,166,0.42) 0%,rgba(160,185,170,0.2) 48%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 30% 30% at 40% 84%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 26% 34% at 64% 14%,rgba(156,183,168,0.28) 0%,rgba(160,185,170,0) 62%),radial-gradient(ellipse 50% 46% at 24% 16%,rgba(150,120,78,0.30) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 70% 86%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#d9caab 0%,#cdbe9b 42%,#c0b086 100%);}
.itbt-cover2.alt .itbt-c2-tex{transform:scaleX(-1);}
.itbt-cover2 .itbt-art{padding:22px 18px;gap:8px;}
.ph.itbt-cover2 .itbt-kicker{font-size:9.5px;letter-spacing:3px;}
.itbt-plate{font-size:18px;letter-spacing:2px;gap:10px;}
.itbt-plate i{width:28px;}
.ph.itbt-cover2 .itbt-track{font-size:21px;}
.ph.itbt-cover2 .itbt-comp{font-size:9.5px;letter-spacing:2px;}
.itbt-cover2.alt2{background:radial-gradient(ellipse 50% 44% at 50% 20%,rgba(156,183,168,0.48) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 40% 40% at 12% 74%,rgba(154,182,166,0.4) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 36% 36% at 88% 30%,rgba(156,183,168,0.36) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 30% 30% at 62% 88%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 50% 46% at 30% 12%,rgba(150,120,78,0.28) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 74% 84%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#d7c8a9 0%,#cbbc99 42%,#bead84 100%);}
.itbt-cover2.alt2 .itbt-c2-tex{transform:scaleY(-1);}
.itbt-art{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;color:#fff;text-shadow:0 1px 10px rgba(40,20,40,0.45);}
.itbt-art .itbt-kicker{font-family:var(--ui);font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,246,226,0.92);}
.itbt-art .itbt-num{font-family:var(--display);font-size:60px;line-height:0.9;font-weight:600;color:#fff;letter-spacing:1px;}
.itbt-art .itbt-track{font-family:var(--display);font-size:30px;font-style:italic;color:#fff7ea;margin-top:2px;}
.itbt-art .itbt-comp{font-family:var(--ui);font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,240,220,0.85);}/* ---- voices, fanposts, comments & reactions ---- */
/* =====================================================================
   The Strings Society — Reactions + Comments styles
   Uses the site's existing CSS variables (--gold, --ink, --ink-dim, --serif, --sans)
   ===================================================================== */

/* ---------- shared block ---------- */
.tss-reactions, .tss-comments{
  font-family: var(--sans, system-ui, sans-serif);
  color: var(--ink, #1a1a1a);
}
/* ---------- REACTIONS BAR ---------- */
.tss-reactions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 24px 0 16px;
  padding: 12px 14px;
  border-top: 1px solid rgba(201,162,74,.18);
  border-bottom: 1px solid rgba(201,162,74,.18);
}
.tss-react-prompt{
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  color: var(--ink-dim, #777);
  font-size: 14px;
  letter-spacing: .02em;
}
.tss-react-btns{
  display: inline-flex;
  gap: 6px;
}
.tss-react-btn{
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 24px;
  padding: 6px 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 18px;
  line-height: 1;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
  color: inherit;
  font-family: inherit;
}
.tss-react-btn:hover{ background: rgba(201,162,74,.08); border-color: rgba(201,162,74,.30); }
.tss-react-btn:focus-visible{ outline: 2px solid var(--gold, #c9a24a); outline-offset: 2px; }
.tss-react-btn.tss-active{
  background: rgba(201,162,74,.14);
  border-color: var(--gold, #c9a24a);
}
.tss-react-btn.tss-pulse{ animation: tss-pulse 0.4s ease; }
.tss-react-glyph{ display: inline-block; line-height: 1; transform: translateY(-1px); }
.tss-react-count{
  font-family: var(--sans, system-ui, sans-serif);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  color: var(--ink-dim, #777);
  min-width: 16px;
  text-align: left;
  letter-spacing: .02em;
}
.tss-react-btn.tss-has-count .tss-react-count{ color: var(--gold, #c9a24a); font-weight: 600; }
/* compact size (used on small album cards) */
.tss-reactions-compact{
  padding: 8px 10px;
  gap: 8px;
  border-top: 1px solid rgba(201,162,74,.12);
  border-bottom: none;
  margin: 12px 0 0;
  justify-content: center;
}
.tss-reactions-compact .tss-react-btn{ padding: 4px 9px; font-size: 16px; }
.tss-reactions-compact .tss-react-count{ font-size: 11px; }
/* ---------- COMMENTS BLOCK ---------- */
.tss-comments{
  margin: 40px 0 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(201,162,74,.18);
}
.tss-comments-title{
  font-family: var(--serif, Georgia, serif);
  font-size: 22px;
  letter-spacing: .03em;
  margin: 0 0 18px;
  color: var(--ink, #1a1a1a);
  font-weight: 500;
}
.tss-comments-list{
  margin-bottom: 28px;
}
.tss-comments-empty{
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  color: var(--ink-dim, #777);
  padding: 12px 0;
}
.tss-comments-loading{
  color: var(--ink-dim, #777);
  font-size: 13px;
  padding: 8px 0;
}
.tss-comment{
  padding: 14px 0;
  border-bottom: 1px solid rgba(201,162,74,.10);
}
.tss-comment:last-child{ border-bottom: none; }
.tss-comment-head{
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 13px;
  color: var(--ink-dim, #777);
  margin-bottom: 6px;
  letter-spacing: .01em;
}
.tss-comment-name{ color: var(--ink, #1a1a1a); font-weight: 600; }
.tss-comment-dot{ opacity: .5; }
.tss-comment-when{ font-variant-numeric: tabular-nums; }
.tss-comment-lang{ font-size: 11px; letter-spacing: .08em; }
.tss-comment-body{
  font-family: var(--serif, Georgia, serif);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink, #1a1a1a);
  white-space: pre-wrap;
}
.tss-comment-body a{ color: var(--gold, #c9a24a); text-decoration: underline; }
/* ---------- COMMENT FORM ---------- */
.tss-comment-form{
  margin-top: 8px;
  padding: 20px;
  background: rgba(201,162,74,.04);
  border: 1px solid rgba(201,162,74,.20);
  border-radius: 8px;
}
.tss-form-intro{
  margin: 0 0 16px;
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  color: var(--ink-dim, #777);
  font-size: 14px;
}
.tss-form-priv{
  margin: 10px 0 14px;
  font-size: 11.5px;
  color: var(--ink-dim, #777);
  letter-spacing: .02em;
  font-style: italic;
}
.tss-comment-form .tss-form-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
@media (max-width: 600px){
  .tss-comment-form .tss-form-row { grid-template-columns: 1fr; }}
.tss-comment-form label{
  display: block;
  margin: 0 0 12px;
}
.tss-comment-form .tss-label{
  display: block;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-dim, #777);
  margin-bottom: 4px;
}
.tss-comment-form input,
.tss-comment-form textarea{
  width: 100%;
  padding: 9px 11px;
  border: 1px solid rgba(201,162,74,.30);
  border-radius: 4px;
  font-family: var(--serif, Georgia, serif);
  font-size: 15px;
  background: rgba(0,0,0,.30);
  color: var(--ink, #eceae4);
  box-sizing: border-box;
  transition: border-color .18s ease, background .18s ease;
}
.tss-comment-form input::placeholder,
.tss-comment-form textarea::placeholder{
  color: var(--ink-dim, #9c9a92);
  opacity: 1;
}
.tss-comment-form input:focus,
.tss-comment-form textarea:focus{
  outline: none;
  border-color: var(--gold, #c9a24a);
}
.tss-comment-form textarea{
  resize: vertical;
  min-height: 96px;
  line-height: 1.55;
}
.tss-form-actions{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.tss-form-actions .btn,
.tss-form-actions button[type="submit"]{
  appearance: none;
  background: var(--gold, #c9a24a);
  color: #fff;
  border: none;
  padding: 10px 22px;
  border-radius: 4px;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, transform .12s ease;
}
.tss-form-actions button[type="submit"]:hover{ background: #b08c3b; }
.tss-form-actions button[type="submit"]:disabled{
  background: #c9c2b5; cursor: progress;
}
.tss-comment-status{
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  font-size: 13px;
  flex: 1 1 240px;
}
.tss-comment-status.tss-status-ok{ color: #2a6a3a; }
.tss-comment-status.tss-status-error{ color: #b3492b; }
/* Dark-mode awareness — only applied when site already uses dark vars */
:root[data-theme="dark"] .tss-comment-form,
.dark .tss-comment-form{
  background: rgba(255,255,255,.03);
}
:root[data-theme="dark"] .tss-comment-form input,
:root[data-theme="dark"] .tss-comment-form textarea,
.dark .tss-comment-form input,
.dark .tss-comment-form textarea{
  background: rgba(0,0,0,.30);
  color: var(--ink, #f0e6d0);
}
/* ---------- LEAVE-A-COMMENT TRIGGER ---------- */
.tss-comment-trigger-wrap{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 8px;
}
.tss-comment-trigger{
  appearance: none;
  background: transparent;
  border: 1px solid rgba(201,162,74,.35);
  color: var(--ink, #1a1a1a);
  padding: 9px 18px;
  border-radius: 24px;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: 13px;
  letter-spacing: .04em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.tss-comment-trigger:hover{
  background: rgba(201,162,74,.08);
  border-color: var(--gold, #c9a24a);
  color: var(--gold, #c9a24a);
}
.tss-comment-trigger:focus-visible{
  outline: 2px solid var(--gold, #c9a24a);
  outline-offset: 2px;
}
.tss-comment-trigger svg{
  opacity: .7;
}
.tss-comment-trigger:hover svg{ opacity: 1; }
.tss-trigger-status{
  flex: 1 1 auto;
  font-family: var(--serif, Georgia, serif);
  font-style: italic;
  font-size: 13px;
}
/* ---------- COMMENT FORM (a touch more compact) ---------- */
.tss-comment-form{
  padding: 18px;
}
.tss-comment-form[hidden]{ display: none !important; }
.tss-form-cancel{
  appearance: none;
  background: transparent;
  border: 1px solid rgba(0,0,0,.10);
  color: var(--ink-dim, #777);
  padding: 10px 18px;
  border-radius: 4px;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.tss-form-cancel:hover{
  background: rgba(0,0,0,.04);
  color: var(--ink, #1a1a1a);
  border-color: rgba(0,0,0,.20);
}
.btn-primary{background:var(--accent);color:#000}
.btn-primary:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
/* ---------- FAN POSTS / FEED ---------- */
  .feed-section{background:var(--paper)}
.feed-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
.fanpost{
    background:var(--card);border:1px solid var(--line);
    padding:24px;transition:border-color .3s;
  }
.fanpost:hover{border-color:var(--accent)}
.fanpost-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.avatar{
    width:42px;height:42px;border-radius:50%;
    background:linear-gradient(135deg,var(--accent),var(--accent));
    display:grid;place-items:center;color:#000;font-weight:600;font-family:var(--display);
  }
.fanpost-meta{font-size:12px}
.fanpost-meta strong{color:var(--ink);font-weight:500}
.fanpost-meta span{color:var(--ink-soft);display:block;font-size:11px;margin-top:2px}
.fanpost-content{font-family:var(--display);font-size:17px;line-height:1.55;margin-bottom:14px}
.fanpost-text-wrap{position:relative;margin-bottom:6px}
.fanpost-text-wrap.collapsed{max-height:150px;overflow:hidden}
.fanpost-text-wrap.collapsed::after{
    content:"";position:absolute;bottom:0;left:0;right:0;height:60px;
    background:linear-gradient(transparent,var(--card));pointer-events:none;
  }
.fanpost-image-wrap{margin:18px 0 6px}
.fanpost-image-wrap img{display:block;width:100%;max-height:520px;object-fit:cover;border:1px solid var(--line)}
.fanpost-image-caption{
    margin-top:8px;font-family:var(--ui);font-size:11px;letter-spacing:1.2px;
    text-transform:uppercase;color:var(--ink-soft);text-align:center;
  }
.fanpost-readmore{
    display:inline-block;margin:0 0 14px;
    font-size:10px;letter-spacing:2px;text-transform:uppercase;
    color:var(--accent);cursor:pointer;
    background:none;border:none;padding:4px 0;
    font-family:var(--ui);transition:opacity .2s;
  }
.fanpost-readmore:hover{opacity:.7}
.fanpost-tag{
    display:inline-block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--accent);border:1px solid var(--accent);padding:4px 10px;
  }
.fanpost-actions{
    display:flex;gap:18px;margin-top:18px;padding-top:18px;
    border-top:1px solid var(--line);
    font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);
  }
.fanpost-actions span{transition:color .2s}
.fanpost-like{
    background:none;border:none;padding:0;margin:0;
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--ui);font-size:11px;letter-spacing:1.5px;
    text-transform:uppercase;color:var(--ink-soft);
    cursor:pointer;transition:color .2s, transform .15s;
  }
.fanpost-like:hover{color:var(--accent)}
.fanpost-like:active{transform:scale(.95)}
.fanpost-like.liked{color:var(--accent)}
.fanpost-heart{font-size:16px;line-height:1;transition:transform .2s}
.fanpost-like.liked .fanpost-heart{transform:scale(1.15)}
.submit-cta{
    text-align:center;margin-top:60px;
    padding:50px 32px;border:1px solid var(--line);
    background:var(--card);
  }
.submit-cta h3{
    font-family:var(--display);font-size:32px;margin-bottom:14px;
  }
.submit-cta h3 em{color:var(--accent);font-style:italic}
.submit-cta p{color:var(--ink-soft);margin-bottom:24px;max-width:520px;margin-left:auto;margin-right:auto}
/* ---------- VOICES OF THE SOCIETY ---------- */
  .voices-prompts{
    background:linear-gradient(180deg, rgba(201,162,74,.05), rgba(201,162,74,.01));
    border:1px solid var(--line);
    border-top:1px solid var(--accent);
    padding:30px 36px 24px;
    margin:6px 0 0;
    position:relative;
  }
.voices-prompts .vp-wildcard{
    text-align:center;
    font-family:var(--display);font-style:italic;font-size:17px;
    color:var(--ink-soft);margin:18px 0 0;padding-top:18px;
    border-top:1px solid var(--line);
  }
.voices-prompts .vp-wildcard em{color:var(--accent);font-style:italic}
@media(max-width:760px){
    .voices-prompts{padding:26px 22px 20px}}
.voices-cta-paths{
    display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;
  }
.voices-cta-paths .btn{min-width:180px;text-align:center}
.voices-cta-paths .btn-soon{
    opacity:.55;cursor:not-allowed;pointer-events:none;
    border-style:dashed;
  }
.voices-cta-paths .btn-soon::after{content:" ◌";font-size:10px;margin-left:4px}
.voices-howto{
    margin-top:18px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--ink-soft);
  }
/* Voices intro paragraphs (under section-sub) */
  .voices-section .section-head{margin-bottom:22px}
.voices-intro{
    max-width:740px;margin:0 auto 6px;text-align:center;
  }
.voices-intro p:first-child{margin-top:0}
.voices-intro p{
    color:var(--ink-soft);font-family:var(--ui);
    font-size:15.5px;line-height:1.75;margin:14px 0;
  }
.voices-intro p em{color:var(--accent);font-style:italic;font-family:var(--display)}
/* Extra prompts (hidden when prompt-board is collapsed) */
  .voices-prompts.collapsed .vp-extra{display:none}
/* Show more / show fewer prompts button */
  .prompts-readmore{
    background:none;border:0;
    margin:18px auto 56px;display:block;
    color:var(--accent);font-family:var(--ui);
    font-size:11px;letter-spacing:2px;text-transform:uppercase;
    padding:8px 22px;cursor:pointer;
    transition:color .2s, opacity .2s;
    opacity:.85;
  }
.prompts-readmore::before{
    content:"+";display:inline-block;margin-right:8px;font-size:14px;
    transform:translateY(1px);transition:transform .2s;
  }
.prompts-readmore.is-open::before{content:"–"}
.prompts-readmore:hover{color:var(--gold-soft);opacity:1}
/* From the Cruise sub-block */
  .voices-cruise-block{
    border-top:1px solid var(--line);
    margin:8px 0 0;padding-top:64px;
    position:relative;
  }
.voices-cruise-block::before{
    content:"⚓";position:absolute;left:50%;top:-14px;transform:translateX(-50%);
    background:var(--paper);padding:0 16px;color:var(--accent);font-size:18px;
    letter-spacing:0;
  }
.voices-cruise-block .voices-prompts{
    background:linear-gradient(180deg, rgba(122,30,35,.06), rgba(201,162,74,.02));
    border-color:var(--line);border-top-color:var(--accent);
  }
.voices-cruise-block .vp-col-eyebrow{color:var(--gold-soft)}
/* ---------- VOICES FORM MODAL ---------- */
  .voices-form-modal .vfm-dialog{
    max-width:720px;padding:48px 52px 40px;
  }
.voices-form-modal .vfm-intro{
    color:var(--ink-soft);font-size:16px;line-height:1.7;
    padding-bottom:22px;margin-bottom:28px;
    border-bottom:1px solid var(--line);
  }
.voices-form .vfm-row{margin-bottom:22px}
.voices-form .vfm-row > label{
    display:block;font-family:var(--ui);font-size:11px;
    letter-spacing:1.5px;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:8px;font-weight:500;
  }
.voices-form .vfm-required{color:var(--accent);margin-left:3px;font-weight:700}
.voices-form input[type="text"],
  .voices-form input[type="email"],
  .voices-form textarea{
    width:100%;background:var(--paper);border:1px solid var(--line);
    color:var(--ink);padding:12px 14px;
    font-family:var(--ui);font-size:15px;line-height:1.55;
    transition:border-color .2s;border-radius:0;
  }
.voices-form input[type="text"]:focus,
  .voices-form input[type="email"]:focus,
  .voices-form textarea:focus{outline:none;border-color:var(--accent)}
.voices-form textarea{
    font-family:var(--display);font-size:17px;
    resize:vertical;min-height:140px;line-height:1.6;
  }
.voices-form input::placeholder,
  .voices-form textarea::placeholder{color:var(--ink-soft);opacity:.55}
.voices-form .vfm-row-checkbox{
    display:flex;align-items:flex-start;gap:12px;
    background:rgba(201,162,74,.04);border:1px solid var(--line);
    padding:14px 16px;
  }
.voices-form .vfm-row-checkbox label{
    margin:0;flex:1;text-transform:none;letter-spacing:normal;
    font-family:var(--ui);font-size:14px;color:var(--ink);
    line-height:1.5;cursor:pointer;
  }
.voices-form .vfm-row-checkbox input[type="checkbox"]{
    width:18px;height:18px;margin-top:2px;flex-shrink:0;
    accent-color:var(--accent);cursor:pointer;
  }
.voices-form .vfm-permission{
    background:rgba(201,162,74,.08);border-color:var(--accent);
    margin-top:28px;
  }
.voices-form input[type="file"]{
    display:block;width:100%;padding:11px 14px;
    background:var(--paper);border:1px dashed var(--line);
    color:var(--ink-soft);font-family:var(--ui);font-size:13px;
    cursor:pointer;
  }
.voices-form input[type="file"]:hover{border-color:var(--accent);color:var(--ink)}
.voices-form .vfm-hint{
    font-size:12px;color:var(--ink-soft);
    margin-top:6px;font-style:italic;
  }
.voices-form .vfm-actions{
    display:flex;gap:12px;justify-content:flex-end;
    margin-top:32px;padding-top:24px;
    border-top:1px solid var(--line);
  }
.voices-form .vfm-actions .btn{min-width:140px;cursor:pointer}
.voices-form.is-submitting .vfm-submit{
    opacity:.55;pointer-events:none;
  }
.voices-form.is-submitting .vfm-submit::after{content:" …"}
.voices-form-modal .vfm-success,
  .voices-form-modal .vfm-error{
    text-align:center;padding:18px 0 8px;
  }
.vfm-success-icon{
    font-family:var(--display);font-size:60px;color:var(--accent);
    line-height:1;margin-bottom:18px;
  }
.vfm-success-title{
    font-family:var(--display);font-size:32px;
    color:var(--ink);margin-bottom:14px;font-weight:600;
  }
.vfm-success-body, .vfm-error-body{
    color:var(--ink-soft);font-size:16px;line-height:1.7;
    max-width:520px;margin:0 auto 28px;
  }
.vfm-error .vfm-actions{
    justify-content:center;border-top:0;margin-top:8px;padding-top:0;
  }
@media(max-width:760px){
    .voices-form-modal .vfm-dialog{padding:32px 22px 28px}

    .voices-form .vfm-actions{flex-direction:column-reverse}

    .voices-form .vfm-actions .btn{width:100%}

    .vfm-success-title{font-size:26px}}
@media (max-width:900px){
    .blog-grid,.feed-grid,.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){
    .blog-grid,.feed-grid,.footer-grid{grid-template-columns:1fr}}
/* ---------- STORY MODAL ---------- */
  .story-modal{
    position:fixed;inset:0;z-index:1000;
    background:rgba(5,5,5,.88);backdrop-filter:blur(10px);
    display:none;align-items:center;justify-content:center;
    padding:24px;
  }
.story-modal.open{display:flex}
.story-modal .sm-dialog{
    background:var(--paper-2);border:1px solid var(--line);
    border-top:3px solid var(--accent);
    max-width:800px;width:100%;
    padding:52px 56px 44px;
    position:relative;
    max-height:92vh;overflow-y:auto;
    box-shadow:0 30px 80px rgba(0,0,0,.7);
    animation:cmIn .25s ease-out;
  }
.story-modal .sm-close{
    position:absolute;top:14px;right:18px;
    background:none;border:none;color:var(--ink-soft);
    font-size:30px;line-height:1;cursor:pointer;padding:6px 10px;
  }
.story-modal .sm-close:hover{color:var(--accent)}
.story-modal .sm-eyebrow{
    font-size:12px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:16px;
  }
.story-modal .sm-title{
    font-family:var(--display);font-size:36px;line-height:1.2;
    font-weight:600;margin-bottom:10px;color:var(--ink);
  }
.story-modal .sm-meta{
    font-size:13px;color:var(--ink-soft);letter-spacing:.5px;
    padding-bottom:24px;margin-bottom:28px;
    border-bottom:1px solid var(--line);
  }
.story-modal .sm-body p{
    font-size:19px;color:var(--ink);line-height:1.9;margin-bottom:20px;
    font-family:var(--display);
  }
.story-modal .sm-body p:last-child{margin-bottom:0}
.story-modal .sm-body .sm-pull{
    font-size:24px;color:var(--accent);font-style:italic;
    font-family:var(--display);line-height:1.55;
    border-left:2px solid var(--accent);
    padding:10px 0 10px 26px;margin:32px 0;
  }
.story-modal .sm-body .sm-separator{
    display:block;text-align:center;color:var(--accent);
    font-family:var(--display);font-size:20px;
    letter-spacing:8px;margin:32px 0;
  }
.story-modal .sm-body ol.numbered-rules{
    list-style:none;counter-reset:rule;padding:0;margin:24px 0;
  }
.story-modal .sm-body ol.numbered-rules > li{
    counter-increment:rule;
    position:relative;
    padding-left:54px;
    margin-bottom:24px;
    font-family:var(--display);font-size:19px;line-height:1.85;color:var(--ink);
  }
.story-modal .sm-body ol.numbered-rules > li::before{
    content:counter(rule);
    position:absolute;left:0;top:2px;
    font-family:var(--display);font-style:italic;
    font-size:30px;color:var(--accent);
    line-height:1;width:40px;text-align:right;
  }
/* ---------- DIPTYCH ACCENT (red/blue washes) ---------- */
  /* Level 1 (30%) — gradient from accent color to dark, fades by ~65% down */
  .story-modal.accent-red .sm-dialog{
    background:linear-gradient(180deg, rgba(160,40,46,0.30) 0%, rgba(80,18,22,0.55) 22%, var(--paper-2) 65%);
  }
.story-modal.accent-blue .sm-dialog{
    background:linear-gradient(180deg, rgba(60,120,210,0.30) 0%, rgba(20,40,80,0.55) 22%, var(--paper-2) 65%);
  }
.story-modal.accent-gold .sm-dialog{
    background:linear-gradient(180deg, rgba(201,162,74,0.22) 0%, rgba(80,60,32,0.55) 22%, var(--paper-2) 65%);
  }
.story-modal.accent-immortal .sm-dialog{
    background:linear-gradient(120deg, #fcf8f0 0%, #f6efe2 22%, #efe7d6 40%, #e9ddc6 50%, #efe7d6 60%, #f6efe2 78%, #fcf8f0 100%);
    background-size:240% 240%;
    animation:immortalGold 18s ease-in-out infinite;
    border-top:3px solid #c9a24a;
  }
.story-modal.accent-immortal .sm-eyebrow{color:#9a7a2c;}
.story-modal.accent-immortal .sm-title{color:#2a2118;}
.story-modal.accent-immortal .sm-meta{color:#6b5d44;border-bottom-color:rgba(120,90,30,0.20);}
/* readable comments/reactions on the cream modal: darken the inherited ink vars */
  .story-modal.accent-immortal{--ink:#2a2118;--ink-dim:#6b5d44;}
.story-modal.accent-immortal .tss-comment-form textarea,
  .story-modal.accent-immortal .tss-comment-form input{background:rgba(255,255,255,0.55);color:#2a2118;}
.story-modal.accent-immortal .tss-comment-form textarea::placeholder,
  .story-modal.accent-immortal .tss-comment-form input::placeholder{color:rgba(60,50,30,0.55);}
.story-modal.accent-immortal .sm-body p{color:#2f2820;}
.story-modal.accent-immortal .sm-body p em{color:#6e5316;}
.story-modal.accent-immortal .sm-body p strong{color:#9a7212 !important;}
.story-modal.accent-immortal .sm-body p span{color:#6b5d44 !important;}
.story-modal.accent-immortal .sm-body .sm-pull{color:#8a6a1e;border-left-color:#c9a24a;}
.story-modal.accent-immortal .sm-body .sm-separator{color:#b89248;}
.story-modal.accent-immortal .sm-close{color:#7a6a4a;}
.story-modal.accent-immortal .sm-close:hover{color:#8a6a1e;}
.story-modal.accent-immortal .sm-share{color:#6b5d44;}
.story-modal.accent-immortal .sm-prev,
  .story-modal.accent-immortal .sm-next{color:#5a4d36;border-color:rgba(120,90,30,0.28);}
@media (prefers-reduced-motion: reduce){ .story-modal.accent-immortal .sm-dialog{animation:none;}}
.story-modal.accent-immortal.open .sm-eyebrow{animation:smRise .55s ease both;}
.story-modal.accent-immortal.open .sm-title{animation:smRise .55s ease both;animation-delay:.05s;}
.story-modal.accent-immortal.open .sm-meta{animation:smRise .55s ease both;animation-delay:.10s;}
.story-modal.accent-immortal.open .sm-body > *{animation:smRise .6s ease both;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(1){animation-delay:0.17s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(2){animation-delay:0.22s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(3){animation-delay:0.27s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(4){animation-delay:0.32s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(5){animation-delay:0.37s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(6){animation-delay:0.42s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(7){animation-delay:0.47s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(8){animation-delay:0.52s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(9){animation-delay:0.57s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(10){animation-delay:0.62s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(11){animation-delay:0.67s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(12){animation-delay:0.72s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(13){animation-delay:0.77s;}
.story-modal.accent-immortal.open .sm-body > *:nth-child(14){animation-delay:0.82s;}
@media (prefers-reduced-motion: reduce){ .story-modal.accent-immortal.open .sm-eyebrow, .story-modal.accent-immortal.open .sm-title, .story-modal.accent-immortal.open .sm-meta, .story-modal.accent-immortal.open .sm-body > *{animation:none;}}
.story-modal.accent-silver .sm-dialog{
    background:linear-gradient(180deg, rgba(180,190,204,0.26) 0%, rgba(58,64,72,0.55) 22%, var(--paper-2) 65%);
  }
/* Grabowsee — deep burgundy velvet + cream lip, matches the reel still */
  .story-modal.accent-grabow .sm-dialog{
    background:linear-gradient(180deg, rgba(244,232,210,0.10) 0%, rgba(122,22,30,0.46) 13%, rgba(70,14,20,0.60) 34%, var(--paper-2) 66%);
    border-top-color:#8c1f27;
  }
.story-modal.accent-grabow .sm-eyebrow{ color:#e8cea8; }
.story-modal.accent-salzburg .sm-dialog{
    background:linear-gradient(180deg, rgba(120,182,222,0.42) 0%, rgba(240,150,120,0.30) 26%, var(--paper-2) 62%);
    border-top:3px solid #f0a589;
  }
.story-modal.accent-indigo .sm-dialog{
    background:
      radial-gradient(circle at 70% 8%, rgba(201,162,74,0.18), transparent 50%),
      linear-gradient(180deg, rgba(74,63,93,0.55) 0%, rgba(42,36,56,0.60) 22%, var(--paper-2) 65%);
  }
@media(max-width:700px){
    .story-modal .sm-body ol.numbered-rules > li{padding-left:42px;font-size:17px}

    .story-modal .sm-body ol.numbered-rules > li::before{font-size:24px;width:32px}}
.story-modal .sm-footer{
    margin-top:32px;padding-top:22px;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  }
.story-modal .sm-share{
    font-size:10px;letter-spacing:2px;text-transform:uppercase;
    color:var(--ink-soft);
    background:none;border:none;padding:4px 0;cursor:pointer;
    font-family:inherit;transition:color .2s;
    display:inline-flex;align-items:center;gap:6px;
  }
.story-modal .sm-share:hover{color:var(--accent)}
.story-modal .sm-share svg{width:14px;height:14px}
.story-modal .sm-nav{display:flex;gap:8px}
.story-modal .sm-prev,
  .story-modal .sm-next{
    background:none;border:1px solid var(--line);
    color:var(--ink-soft);font-size:11px;letter-spacing:1.5px;
    text-transform:uppercase;padding:10px 16px;cursor:pointer;
    transition:all .2s;
  }
.story-modal .sm-prev:hover,
  .story-modal .sm-next:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:700px){
    .story-modal .sm-dialog{padding:32px 20px 28px}

    .story-modal .sm-title{font-size:28px}

    .story-modal .sm-body p{font-size:17px}

    .story-modal .sm-body .sm-pull{font-size:20px}}
.story-modal.accent-immortal .sm-body .sm-crawl{font-style:italic;text-align:center;color:#5a4a28 !important;font-size:15.5px;line-height:1.7;letter-spacing:.3px;max-width:92%;margin:0 auto 8px;}
.story-modal.accent-immortal .sm-transcript{margin-top:30px;border-top:1px solid rgba(120,90,30,0.28);padding-top:16px;}
.story-modal.accent-immortal .sm-transcript>summary{cursor:pointer;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:18px;color:#9a7212;list-style:none;padding:6px 0;}
.story-modal.accent-immortal .sm-transcript[open]>summary{margin-bottom:6px;}
.story-modal.accent-immortal .sm-transcript .sm-tx-intro{font-size:13.5px;color:#6b5d44 !important;font-style:italic;margin:2px 0 18px;}
.story-modal.accent-immortal .sm-transcript .sm-tx-q{font-weight:700;color:#7a5f12 !important;margin:20px 0 4px;font-family:var(--sans,Helvetica,Arial,sans-serif);font-size:15px;line-height:1.5;}
.story-modal.accent-immortal .sm-transcript .sm-tx-a{color:#2f2820 !important;margin:0 0 6px;line-height:1.72;}
.story-modal.accent-jedi{--ink:#eaf0ff;--ink-dim:#aeb8d6;background:radial-gradient(ellipse at 50% 0%,#141d40 0%,#0a0e22 45%,#04050d 100%);}
.story-modal.accent-jedi::before,.story-modal.accent-jedi::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;transform-origin:center;}
.story-modal.accent-jedi::before{background-image:radial-gradient(circle 2.5px at 45.4% 55.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 90.7% 46.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 50.8% 58.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 19.7% 51.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 62.5% 78.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 11.0% 31.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 10.7% 79.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 68.6% 6.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 96.3% 94.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 64.8% 61.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 17.1% 3.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 52.7% 7.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 20.3% 25.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 4.9% 46.5%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 44.3% 82.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 51.8% 63.5%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 50.0% 65.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 45.9% 28.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 97.8% 97.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 82.7% 69.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 32.3% 24.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 29.7% 8.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 75.6% 40.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 83.3% 39.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 94.0% 83.3%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 2.1% 22.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 89.4% 47.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 96.1% 40.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 9.0% 62.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 76.7% 27.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 10.4% 33.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 94.6% 74.8%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 13.3% 25.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 11.7% 7.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 78.5% 19.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 55.7% 45.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 20.3% 72.3%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 14.6% 63.8%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 13.2% 42.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 22.4% 27.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 95.2% 79.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 31.2% 86.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 22.2% 39.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 84.0% 63.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 11.6% 97.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 22.5% 26.8%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 76.2% 33.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 30.4% 9.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 10.7% 57.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 25.3% 59.7%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 37.7% 45.5%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 94.1% 48.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 57.2% 85.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 19.6% 16.8%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 89.2% 80.5%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 26.0% 20.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 73.0% 92.3%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 20.9% 93.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 86.7% 59.9%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 42.5% 12.0%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 5.7% 94.4%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 24.9% 69.6%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 26.7% 81.1%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px),radial-gradient(circle 2.5px at 59.3% 30.2%,#fff 0,#fff .6px,rgba(255,255,255,.5) 1.3px,transparent 2.5px);animation:jediTwinkleA 3.4s ease-in-out infinite;}
.story-modal.accent-jedi::after{background-image:radial-gradient(circle 3.5px at 19.5% 70.7%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 14.9% 48.1%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 29.3% 89.2%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 73.4% 9.5%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 44.9% 8.7%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 29.5% 52.9%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 11.7% 16.0%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 95.2% 64.8%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 58.4% 89.8%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 88.6% 68.9%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 5.0% 62.8%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 9.3% 32.2%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 96.9% 10.1%,#cfe0ff 0,#cfe0ff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 72.3% 87.6%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 77.6% 89.0%,#cfe0ff 0,#cfe0ff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 11.0% 47.5%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 84.9% 42.2%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 84.2% 56.8%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 38.6% 4.2%,#fff 0,#fff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 10.5% 63.1%,#cfe0ff 0,#cfe0ff .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 85.7% 71.5%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px),radial-gradient(circle 3.5px at 90.8% 68.3%,#ffe9b0 0,#ffe9b0 .8px,rgba(220,230,255,.45) 1.7px,transparent 3.5px);filter:drop-shadow(0 0 3px rgba(255,240,200,.8));animation:jediTwinkleB 2.9s ease-in-out infinite;}
.story-modal.accent-jedi .sm-dialog{position:relative;z-index:1;color:#eaf0ff;border-top:3px solid #6f86ff;border-color:rgba(120,150,255,.35);background:linear-gradient(180deg,rgba(9,12,28,.55),rgba(4,6,15,.62));backdrop-filter:blur(2px);}
.story-modal.accent-jedi .sm-eyebrow{color:#f4d27a;}
.story-modal.accent-jedi .sm-title{color:#fff;text-shadow:0 2px 24px rgba(120,160,255,.55);}
.story-modal.accent-jedi .sm-meta{color:#aeb8d6;border-bottom-color:rgba(160,180,255,.22);}
.story-modal.accent-jedi .sm-body p{color:#eef2ff;}
.story-modal.accent-jedi .sm-body p em{color:#ffd97a;}
.story-modal.accent-jedi .sm-body p strong{color:#ffd97a !important;text-shadow:0 0 18px rgba(244,210,122,.35);}
.story-modal.accent-jedi .sm-body p span{color:#b8c2de !important;}
.story-modal.accent-jedi .sm-body a{color:#9fb4ff !important;}
.story-modal.accent-jedi .sm-body .sm-pull{color:#e6ebff;border-left-color:#6f86ff;}
.story-modal.accent-jedi .sm-body .sm-separator{color:#8aa0ff;}
.story-modal.accent-jedi .sm-body .sm-crawl{color:#e3e9ff !important;font-style:italic;text-align:center;font-size:15.5px;line-height:1.7;letter-spacing:.3px;max-width:92%;margin:0 auto 8px;}
.story-modal.accent-jedi .sm-close{color:#c4cce0;}
.story-modal.accent-jedi .sm-close:hover{color:#fff;}
.story-modal.accent-jedi .sm-share{color:#c4cce0;}
.story-modal.accent-jedi .sm-prev,.story-modal.accent-jedi .sm-next{color:#cfe0ff;border-color:rgba(160,180,255,.3);}
.story-modal.accent-jedi .sm-transcript{border-top-color:rgba(160,180,255,.22);}
.story-modal.accent-jedi .sm-transcript>summary{color:#f4d27a;}
.story-modal.accent-jedi .sm-transcript .sm-tx-intro{color:#aeb8d6 !important;}
.story-modal.accent-jedi .sm-transcript .sm-tx-q{color:#ffd97a !important;}
.story-modal.accent-jedi .sm-transcript .sm-tx-a{color:#eef2ff !important;}
.story-modal.accent-jedi .sm-transcript a{color:#9fb4ff !important;}
.story-modal.accent-jedi .tss-comment-form textarea,.story-modal.accent-jedi .tss-comment-form input{background:rgba(255,255,255,0.08);color:#eaf0ff;border-color:rgba(160,180,255,.25);}
.story-modal.accent-jedi .tss-comment-form textarea::placeholder,.story-modal.accent-jedi .tss-comment-form input::placeholder{color:rgba(210,220,255,.5);}
.story-modal.accent-jedi.open .sm-eyebrow{animation:smRise .55s ease both;}
.story-modal.accent-jedi.open .sm-title{animation:smRise .55s ease both;animation-delay:.05s;}
.story-modal.accent-jedi.open .sm-meta{animation:smRise .55s ease both;animation-delay:.10s;}
.story-modal.accent-jedi.open .sm-body>*{animation:smRise .6s ease both;animation-delay:.16s;}
@media (prefers-reduced-motion: reduce){.story-modal.accent-jedi::before,.story-modal.accent-jedi::after{animation:none;}
.story-modal.accent-jedi.open .sm-eyebrow,.story-modal.accent-jedi.open .sm-title,.story-modal.accent-jedi.open .sm-meta,.story-modal.accent-jedi.open .sm-body>*{animation:none;}}
/* modal: cold silver light from the top, and a silver-lit text card */
  .story-modal.accent-silence .sm-dialog{
    background:linear-gradient(180deg, rgba(214,222,230,0.24) 0%, rgba(70,78,88,0.50) 20%, var(--paper-2) 62%);
    border-top-color:rgba(216,222,228,.75);
    box-shadow:0 0 60px rgba(200,208,216,.14), 0 0 140px rgba(174,182,192,.10), 0 40px 120px rgba(0,0,0,.6);
  }
.story-modal.accent-silence .sm-eyebrow{color:#d8dee6;}
.story-modal.accent-silence .sm-title{text-shadow:0 0 28px rgba(216,222,228,.30);}
.story-modal.accent-silence .sm-dek{color:#e6ebf1;}
.story-modal.accent-silence .sm-qa-head{color:#e2e8ee;border-top-color:rgba(200,208,216,.30);}
.story-modal.accent-silence .sm-pull{color:#e8eef4;border-left-color:rgba(216,222,228,.85);
    text-shadow:0 0 24px rgba(216,222,228,.28);}
.story-modal.accent-silence .sm-separator{color:#aab3bd;}
/* ===== SALON accent — Julien Quentin interview ===== */
  .story-modal.accent-salon .sm-dialog{
    background:
      radial-gradient(circle at 24% 6%, rgba(217,184,119,0.20), transparent 52%),
      radial-gradient(circle at 84% 4%, rgba(198,158,96,0.16), transparent 56%),
      linear-gradient(165deg, rgba(30,34,48,0.94) 0%, rgba(42,48,66,0.90) 40%, rgba(28,32,46,0.94) 100%);
    border-top:2px solid #d9b877;
    backdrop-filter:blur(7px);
  }
.story-modal.accent-salon .sm-body p{font-weight:400;color:#f2ede2;}
.story-modal.accent-salon .sm-photo figcaption,
  .story-modal.accent-salon .sm-portrait figcaption{font-size:.62em;letter-spacing:.02em;opacity:.85;}
.story-modal.accent-salon .sm-portrait{max-width:280px;margin-left:auto;margin-right:auto;}
.story-modal.accent-salon .sm-eyebrow{color:#e7cf9c;}
.story-modal.accent-salon .sm-title{
    background:linear-gradient(90deg,#f6ecd4,#e4c58f 55%,#f8efd9);
    -webkit-background-clip:text;background-clip:text;color:#f2e3c4;text-shadow:0 1px 18px rgba(0,0,0,.4);
  }
.story-modal.accent-salon .sm-body .sm-dek{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.34em;
    color:#efe6d4;text-align:center;line-height:1.44;margin:.15em auto 1.25em;max-width:32em;}
.story-modal.accent-salon .sm-body .sm-pull{color:#f2e6c9;border-left-color:#d9b877;}
.story-modal.accent-salon .sm-body .sm-separator{color:#d9b877;}
.story-modal.accent-salon .sm-body .sm-qa-head{font-family:var(--display);font-style:italic;font-size:1.24em;
    color:#f0e4c8;text-align:center;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid rgba(217,184,119,.32);}
.story-modal.accent-salon .sm-body .qa-q{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:#e7cf9c;font-style:normal;font-weight:600;margin-bottom:.22em;}
.story-modal.accent-salon .sm-body p:has(.qa-q){color:#e9ddc7;font-style:italic;margin-top:1.15em;}
.story-modal.accent-salon .sm-body .qa-a{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:#d9b877;font-style:normal;font-weight:600;margin-bottom:.22em;}
/* ===== BRONZE accent — Emanuel Graf interview ===== */
  .story-modal.accent-bronze .sm-dialog{
    background:
      linear-gradient(120deg, rgba(255,40,0,0) 28%, rgba(255,48,8,0.22) 46%, rgba(255,72,32,0.30) 50%, rgba(255,48,8,0.22) 54%, rgba(255,40,0,0) 72%),
      radial-gradient(circle at 22% 4%, rgba(216,28,28,0.34), transparent 50%),
      radial-gradient(circle at 86% 0%, rgba(150,10,14,0.30), transparent 56%),
      linear-gradient(162deg, rgba(74,7,9,0.70) 0%, rgba(122,13,18,0.64) 30%, rgba(58,6,8,0.66) 62%, rgba(17,17,20,0.55) 92%);
    background-size:300% 100%, 170% 170%, 170% 170%, 100% 100%;
    background-repeat:no-repeat;
    border-top:3px solid #ff2800;
    backdrop-filter:blur(7px);
    animation:ferrariSheen 13s ease-in-out infinite;
  }
@media(prefers-reduced-motion:reduce){ .story-modal.accent-bronze .sm-dialog{animation:none;}}
/* heavier, more readable body text */
  .story-modal.accent-bronze .sm-body p{font-weight:500;color:#f5f2ec;}
.story-modal.accent-bronze .sm-body p:has(.qa-q){font-weight:500;}
/* smaller photo credit caption (all languages) */
  .story-modal.accent-bronze .sm-photo figcaption,
  .story-modal.accent-bronze .sm-portrait figcaption{font-size:.62em;letter-spacing:.02em;opacity:.85;}
/* centred photos for this interview */
  .story-modal.accent-bronze .sm-portrait{max-width:280px;margin-left:auto;margin-right:auto;}
.story-modal.accent-bronze .sm-photo{max-width:340px;margin-left:auto;margin-right:auto;}
.story-modal.accent-bronze .sm-eyebrow{color:#efe9dc;}
.story-modal.accent-bronze .sm-title{
    background:linear-gradient(90deg,#fbf8f1,#efe7d6 55%,#fdfaf4);
    -webkit-background-clip:text;background-clip:text;color:#f7f3ea;text-shadow:0 1px 18px rgba(0,0,0,.38);
  }
.story-modal.accent-bronze .sm-body .sm-dek{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.36em;
    color:#f1ece1;text-align:center;line-height:1.42;margin:.15em auto 1.25em;max-width:32em;}
.story-modal.accent-bronze .sm-body .sm-pull{color:#f3efe5;border-left-color:#f0ece1;}
.story-modal.accent-bronze .sm-body .sm-separator{color:#efe9dc;}
.story-modal.accent-bronze .sm-body .sm-qa-head{font-family:var(--display);font-style:italic;font-size:1.24em;
    color:#f4efe4;text-align:center;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid rgba(240,236,225,.30);}
.story-modal.accent-bronze .sm-body .qa-q{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:#efe9dc;font-style:normal;font-weight:600;margin-bottom:.22em;}
.story-modal.accent-bronze .sm-body p:has(.qa-q){color:#e9e3d6;font-style:italic;margin-top:1.15em;}
.story-modal.accent-bronze .sm-body .qa-a{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:#ece6dc;font-style:normal;font-weight:600;margin-bottom:.22em;}
/* Modal — lighter brushed-silver gradient with a travelling light sweep */
  .story-modal.accent-amber .sm-dialog{
    background:
      linear-gradient(115deg, transparent 38%, rgba(246,248,251,0.10) 47%, rgba(246,248,251,0.22) 50%, rgba(246,248,251,0.10) 53%, transparent 62%),
      radial-gradient(circle at 28% 6%, rgba(224,228,234,0.24), transparent 46%),
      radial-gradient(circle at 84% 3%, rgba(198,204,214,0.18), transparent 52%),
      linear-gradient(165deg, rgba(126,132,142,0.52) 0%, rgba(94,99,108,0.44) 22%, rgba(46,49,55,0.55) 56%, var(--paper-2) 84%);
    background-size:280% 100%, 170% 170%, 170% 170%, 100% 100%;
    background-repeat:no-repeat;
    animation:fatuSheen 17s ease-in-out infinite;
  }
.story-modal.accent-amber .sm-eyebrow{color:#dfe3e9;}
.story-modal.accent-amber .sm-title{
    background:linear-gradient(90deg,#f7f9fc,#c4c9d1 55%,#eef1f5);
    -webkit-background-clip:text;background-clip:text;color:#eef1f5;text-shadow:0 1px 18px rgba(0,0,0,.30);
  }
/* GOLD: standfirst (bigger + bold), the Formula-1 pull, the questions, the centred section titles */
  .story-modal.accent-amber .sm-body .sm-dek{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.36em;
    color:#dcb45c;text-align:center;line-height:1.42;margin:.15em auto 1.25em;max-width:32em;}
.story-modal.accent-amber .sm-body .sm-pull{color:#e7c97a;border-left-color:var(--accent);}
.story-modal.accent-amber .sm-body .sm-separator{color:#c2c7cf;}
.story-modal.accent-amber .sm-body .sm-qa-head{font-family:var(--display);font-style:italic;font-size:1.24em;
    color:var(--accent);text-align:center;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid rgba(201,162,74,.30);}
.story-modal.accent-amber .sm-body .qa-q{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:var(--accent);font-style:normal;font-weight:600;margin-bottom:.22em;}
.story-modal.accent-amber .sm-body p:has(.qa-q){color:#cda349;font-style:italic;margin-top:1.15em;}
.story-modal.accent-amber .sm-body .qa-a{display:block;font-size:.7em;letter-spacing:.13em;text-transform:uppercase;
    color:#e6e9ee;font-style:normal;font-weight:600;margin-bottom:.22em;}
.story-modal.accent-amber .sm-body .sm-byline{text-align:right;font-family:var(--display);font-style:italic;color:#9aa0aa;margin:.1em 0 .7em;}
@media (prefers-reduced-motion: reduce){
    .fatu-card,.fatu-cover .fatu-photo,.story-modal.accent-amber .sm-dialog{animation:none;}}
/* Space Table accent — cosmic cyan + magenta */
  .story-modal.accent-gstaad .sm-dialog{background:radial-gradient(circle at 74% 6%, rgba(96,156,250,0.30), transparent 46%),radial-gradient(circle at 16% 14%, rgba(238,152,226,0.17), transparent 50%),linear-gradient(180deg, rgba(46,92,214,0.42) 0%, rgba(34,62,158,0.46) 20%, var(--paper-2) 60%);background-size:170% 170%,185% 185%,100% 100%;animation:gstaadDrift 22s ease-in-out infinite;border-top:3px solid #5a8bea;}
/* Masters of Sound accent — midnight */.story-modal.accent-mosgold .sm-dialog{background:radial-gradient(circle at 50% -6%, rgba(86,128,214,0.40), transparent 44%),radial-gradient(circle at 50% 6%, rgba(44,70,140,0.30), transparent 60%),linear-gradient(180deg, #0f1730 0%, #0b101f 30%, var(--paper-2) 60%);background-size:150% 130%,190% 170%,100% 100%;animation:mosgoldDrift 11s ease-in-out infinite;border-top:3px solid #4a6fb8;}
/* Verbier accent — alpine blue */.story-modal.accent-verbier .sm-dialog{background:radial-gradient(circle at 50% -4%, rgba(74,159,220,0.38), transparent 46%),radial-gradient(circle at 18% 10%, rgba(120,190,240,0.16), transparent 55%),linear-gradient(180deg, rgba(26,58,96,0.55) 0%, rgba(16,34,58,0.5) 24%, var(--paper-2) 62%);background-size:160% 150%,180% 170%,100% 100%;animation:verbierDrift 18s ease-in-out infinite;border-top:3px solid #4a9fdc;}
.accent-space .sm-dialog{
    background:
      radial-gradient(circle at 74% 6%, rgba(34,211,238,0.16), transparent 48%),
      radial-gradient(circle at 16% 12%, rgba(192,38,211,0.16), transparent 52%),
      linear-gradient(180deg, rgba(20,28,48,0.62) 0%, rgba(14,18,34,0.66) 24%, var(--paper-2) 66%);
  }
.story-modal.accent-space .sm-eyebrow{color:#22d3ee;}
.story-modal.accent-space .sm-body .sm-pull{color:#5ad8ee;border-left-color:#22d3ee;}
.story-modal.accent-space .sm-body .sm-separator{color:#22d3ee;}
.ihok-block{
        margin:40px auto 56px;max-width:820px;
        border-top:1px solid var(--line);padding-top:64px;position:relative;
      }
.ihok-block::before{
        content:"\270D";position:absolute;left:50%;top:-16px;transform:translateX(-50%);
        background:var(--paper);padding:0 18px;color:var(--accent);font-size:20px;
      }
.ihok-cover{text-align:center;margin:0 auto 36px}
.ihok-cover img{
        display:block;margin:0 auto;max-width:100%;max-height:440px;
        box-shadow:0 24px 60px rgba(0,0,0,.5), 0 2px 0 rgba(201,162,74,.18);
        border-radius:2px;
      }
.ihok-intro, .ihok-howto, .ihok-promise{
        max-width:680px;margin:18px auto;
      }
.ihok-intro p, .ihok-howto p, .ihok-promise p{
        color:var(--ink-soft);font-family:var(--ui);
        font-size:15.5px;line-height:1.78;margin:14px 0;text-align:center;
      }
.ihok-intro em, .ihok-howto em, .ihok-promise em{
        color:var(--accent);font-style:italic;font-family:var(--display);
        font-size:22px;font-weight:500;line-height:1;
      }
.ihok-promise{
        border-top:1px solid var(--line);border-bottom:1px solid var(--line);
        padding:18px 0;margin:34px auto;
      }
.ihok-cta-row{text-align:center;margin:38px auto 12px}
.ihok-cta-q{
        font-family:var(--display);font-style:italic;font-size:22px;
        color:var(--ink);margin:0 0 18px;
      }
.ihok-cta-paths{
        display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
      }
.ihok-cta-paths .btn{min-width:180px;text-align:center}
.ihok-entries{
        margin:56px auto 18px;max-width:980px;
        border-top:1px solid var(--line);padding-top:44px;
      }
.ihok-entries-grid{
        display:grid;grid-template-columns:repeat(2, 1fr);
        gap:26px;align-items:start;
      }
.ihok-entries-eyebrow{
        text-align:center;font-size:11px;letter-spacing:3.5px;
        text-transform:uppercase;color:var(--accent);margin-bottom:28px;
      }
.ihok-entries-eyebrow::before, .ihok-entries-eyebrow::after{
        content:"";display:inline-block;width:30px;height:1px;
        background:var(--accent);opacity:.45;vertical-align:middle;margin:0 12px;
      }
.ihok-entry{
        background:linear-gradient(180deg, rgba(201,162,74,.05), rgba(201,162,74,.01));
        border:1px solid var(--line);border-top:1px solid var(--accent);
        padding:30px 30px 24px;margin:0;
      }
.ihok-entry-body{
        font-family:var(--display);font-size:17px;line-height:1.72;color:var(--ink);
      }
.ihok-entry-body p{margin:12px 0}
.ihok-entry-body em{color:var(--accent);font-style:italic}
.ihok-emoji{font-style:normal !important;color:initial}
.ihok-byline{
        margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
        font-family:var(--ui);font-size:12px;letter-spacing:2px;
        text-transform:uppercase;color:var(--ink-soft);text-align:right;
      }
.ihok-byline em{
        text-transform:none;letter-spacing:0;color:var(--accent);
        font-family:var(--display);font-style:italic;font-size:14px;
      }
.ihok-entry-eyebrow{
        font-family:var(--display);font-style:italic;font-size:20px;
        color:var(--accent);text-align:center;margin:0 0 18px;
        padding-bottom:14px;border-bottom:1px solid var(--line);
        line-height:1.3;
      }
.ihok-entry-body p:first-child{margin-top:0}
.ihok-entry-body p:last-child{margin-bottom:0}
.ihok-entry-rest{margin-top:14px}
.ihok-readmore{
        display:block;margin:18px auto 0;background:none;border:0;
        color:var(--accent);font-family:var(--ui);
        font-size:11px;letter-spacing:2px;text-transform:uppercase;
        padding:8px 22px;cursor:pointer;
        transition:color .2s, opacity .2s;opacity:.85;
      }
.ihok-readmore::before{
        content:"+";display:inline-block;margin-right:8px;font-size:14px;
        transform:translateY(1px);transition:transform .2s;
      }
.ihok-readmore.is-open::before{content:"–"}
.ihok-readmore:hover{color:var(--gold-soft);opacity:1}
@media(max-width:760px){
        .ihok-cover img{max-height:none;width:78%}

        .ihok-entries-grid{grid-template-columns:1fr;gap:20px}

        .ihok-entry{padding:24px 22px 20px}}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 82% 22%,rgba(158,184,170,0.2) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 16% 72%,rgba(158,184,170,0.16) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 40% 90%,rgba(158,184,170,0.12) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 42% at 24% 10%,rgba(206,148,120,0.22) 0%,rgba(206,148,120,0) 60%),radial-gradient(ellipse 52% 44% at 80% 96%,rgba(192,142,92,0.17) 0%,rgba(192,142,92,0) 60%),linear-gradient(160deg,#f7ead3 0%,#f2e0c6 46%,#edd8bb 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
#storyModal.accent-immortal .sm-dialog{background:radial-gradient(ellipse 55% 40% at 18% 22%,rgba(158,184,170,0.24) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 45% 38% at 84% 72%,rgba(158,184,170,0.19) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 40% 34% at 60% 90%,rgba(158,184,170,0.14) 0%,rgba(158,184,170,0) 60%),radial-gradient(ellipse 55% 44% at 74% 8%,rgba(178,139,80,0.26) 0%,rgba(178,139,80,0) 62%),radial-gradient(ellipse 52% 44% at 20% 96%,rgba(178,139,80,0.18) 0%,rgba(178,139,80,0) 60%),linear-gradient(160deg,#f3e7ca 0%,#ecdeb7 48%,#e4d4a7 100%)!important;background-size:auto!important;animation:none!important;border-top:3px solid #c9a24a;}
/* standalone voices page */
.voices-section .container{max-width:1180px;margin:0 auto}
.story-modal.voices-form-modal{position:fixed;inset:0;z-index:220;display:none;align-items:flex-start;justify-content:center;
  background:rgba(0,0,0,.86);overflow-y:auto;padding:40px 16px}
.story-modal.voices-form-modal.open{display:flex}

/* --- voices page: same card for every voice, and let the page show through --- */
.voices-section,.feed-section{background:none !important}
.voices-section .container{background:none !important}
.ihok-entry{
  background:color-mix(in srgb,var(--paper-2) 82%,transparent) !important;
  border:1px solid var(--line) !important;border-top:1px solid var(--line) !important;
  border-radius:var(--radius);padding:26px 26px 22px !important}
.fanpost{background:color-mix(in srgb,var(--paper-2) 82%,transparent) !important;
  border:1px solid var(--line);border-radius:var(--radius)}
.ihok-entry-eyebrow{color:var(--accent) !important}
.voices-cta,.voices-howto,.voices-intro{background:none !important}
/* ---- discography ---- */
.album-modal .am-dialog.am-silver{
    border-top:3px solid #cfd6df;
    background:
      radial-gradient(ellipse at 50% -12%, rgba(184,194,208,.16), transparent 58%),
      linear-gradient(170deg, #171a1e 0%, #131519 55%, #0f1012 100%);
    box-shadow:0 30px 80px rgba(0,0,0,.72), 0 0 40px rgba(150,162,178,.12);
  }
.am-dialog.am-silver .am-eyebrow{color:#d0d7e0}
.am-dialog.am-silver .am-tagline{color:#d6dce4}
.am-dialog.am-silver .am-cover{position:relative;overflow:hidden;border-right-color:rgba(196,204,214,.32)}
.am-dialog.am-silver .am-cover::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.16) 50%, transparent 60%);
    transform:translateX(-130%);
    animation:silverSheen 6s ease-in-out 0.6s infinite;
  }
/* ---------- ALBUM MODAL ---------- */
  .album-modal{
    position:fixed;inset:0;z-index:1000;
    background:rgba(5,5,5,.86);backdrop-filter:blur(8px);
    display:none;align-items:center;justify-content:center;
    padding:24px;
  }
.album-modal.open{display:flex}
.album-modal .am-dialog{
    background:var(--paper-2);border:1px solid var(--line);
    border-top:3px solid var(--accent);
    max-width:760px;width:100%;
    max-height:92vh;overflow-y:auto;
    position:relative;
    box-shadow:0 30px 80px rgba(0,0,0,.7);
    animation:cmIn .25s ease-out;
  }
.album-modal .am-close{
    position:absolute;top:14px;right:18px;
    background:none;border:none;color:var(--ink-soft);
    font-size:30px;line-height:1;cursor:pointer;padding:6px 10px;z-index:2;
  }
.album-modal .am-close:hover{color:var(--accent)}
.album-modal .am-grid{
    display:grid;grid-template-columns:240px 1fr;gap:0;
  }
.album-modal .am-cover{
    background:#0a0a0a;
    aspect-ratio:1/1;
    border-right:1px solid var(--line);
  }
.album-modal .am-cover img{width:100%;height:100%;object-fit:cover;display:block}
.album-modal .am-body{padding:42px 44px 36px}
.album-modal .am-eyebrow{
    font-size:11px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:10px;
  }
.album-modal .am-title{
    font-family:var(--display);font-size:30px;line-height:1.15;
    font-weight:600;margin-bottom:6px;color:var(--ink);
  }
.album-modal .am-meta{
    font-size:12px;color:var(--ink-soft);letter-spacing:.5px;
    padding-bottom:18px;margin-bottom:20px;
    border-bottom:1px solid var(--line);
  }
.album-modal .am-tagline{
    font-family:var(--display);font-style:italic;font-size:17px;
    color:var(--accent);line-height:1.4;margin-bottom:18px;
  }
.album-modal .am-desc p{
    font-size:14px;color:var(--ink);line-height:1.7;margin-bottom:12px;
  }
.album-modal .am-desc p:last-child{margin-bottom:0}
.album-modal .am-credits{
    margin-top:24px;padding-top:20px;border-top:1px solid var(--line);
  }
.album-modal .am-credits-label{
    font-size:11px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:8px;
  }
.album-modal .am-credits-text{
    font-size:13px;color:var(--ink-soft);line-height:1.6;
  }
.album-modal .am-links{
    margin-top:24px;padding-top:20px;border-top:1px solid var(--line);
    display:flex;gap:10px;flex-wrap:wrap;
  }
/* When credits are shown, drop the redundant am-links separator */
  .album-modal .am-credits:not([hidden]) + .am-links{
    border-top:none;padding-top:4px;margin-top:18px;
  }
.album-modal .am-link{
    font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--accent);text-decoration:none;border:1px solid var(--accent);
    padding:10px 16px;transition:all .2s;
  }
.album-modal .am-link:hover{background:var(--accent);color:#000}
@media (max-width:680px){
    .album-modal .am-grid{grid-template-columns:1fr}

    .album-modal .am-cover{aspect-ratio:auto;max-height:340px;border-right:none;border-bottom:1px solid var(--line)}

    .album-modal .am-body{padding:32px 28px 28px}}
/* album grid on the hub */
.grid.albums{grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:900px){.grid.albums{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.grid.albums{grid-template-columns:repeat(2,1fr)}}
.album-card{display:block;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;width:100%}
.album-card .ph{aspect-ratio:1/1;background-size:cover;background-position:center;margin-bottom:11px;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.85)}
.album-card h3{font-family:var(--display);font-size:16.5px;line-height:1.25;margin:0 0 3px;color:var(--ink)}
.album-card .date{font-family:var(--ui);font-size:11px;color:var(--ink-soft)}
.album-modal{position:fixed;inset:0;z-index:210;display:none;align-items:flex-start;justify-content:center;
  background:rgba(0,0,0,.88);overflow-y:auto;padding:44px 16px}
.album-modal.open{display:flex}

/* external links as buttons under the cover */
.am-cover .am-links{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.am-cover .am-links a{display:block;text-align:center;font-family:var(--ui);font-size:12.5px;letter-spacing:.03em;
  color:var(--accent);text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:22px;padding:9px 14px;transition:.2s}
.am-cover .am-links a:hover{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}
@media(max-width:720px){.am-cover .am-links{flex-direction:row}.am-cover .am-links a{flex:1}}
/* ---- Sound of Becoming, the Letter, the Mood Quiz ---- */
/* ---------- SOUND OF BECOMING ---------- */
  .sob-section{
    background:var(--paper-2);
    padding:120px 22px;
  }
.sob-section .container{max-width:780px;margin:0 auto}
.sob-kicker{
    text-align:center;font-size:11px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:22px;
  }
.sob-title{
    text-align:center;font-family:var(--display);
    font-size:clamp(38px,6vw,68px);line-height:1.05;margin-bottom:14px;
  }
.sob-title em{color:var(--accent);font-style:italic}
.sob-divider{width:60px;height:1px;background:var(--accent);margin:30px auto 24px}
.sob-dek{
    text-align:center;font-family:var(--display);font-style:italic;
    font-size:18px;color:var(--ink-soft);max-width:600px;margin:0 auto 60px;line-height:1.5;
  }
.sob-body{font-size:16px;line-height:1.85;color:var(--ink)}
.sob-body p{margin-bottom:22px}
.sob-body p.sob-pull{
    font-family:var(--display);font-style:italic;
    font-size:22px;line-height:1.45;color:var(--accent);
    text-align:center;padding:24px 0;border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);margin:36px 0;
  }
.sob-body em{color:var(--accent);font-style:italic}
.sob-body p.sob-pull em{color:inherit}
.sob-coda{text-align:center;font-size:24px;margin-top:40px;letter-spacing:8px}
@media (max-width:760px){
    .sob-section{padding:80px 22px 90px}

    .sob-body{font-size:15px}

    .sob-body p.sob-pull{font-size:18px}}
/* ---------- LETTER ---------- */
  .letter-section{
    background:
      radial-gradient(ellipse at top,rgba(201,162,74,.07),transparent 65%),
      var(--paper);
    padding:110px 32px 120px;
    border-top:1px solid var(--line);
    text-align:center;
  }
.letter-section .container{max-width:1280px;margin:0 auto;}
.letter-kicker{
    font-size:11px;letter-spacing:4px;text-transform:uppercase;
    color:var(--accent);margin-bottom:18px;
  }
.letter-title{
    font-family:var(--display);font-size:clamp(32px,4.5vw,52px);
    font-weight:600;letter-spacing:.5px;margin-bottom:14px;color:var(--ink);
  }
.letter-title em{color:var(--accent);font-style:italic;}
.letter-divider{
    width:60px;height:1px;background:var(--accent);
    margin:18px auto 24px;opacity:.6;
  }
.letter-dek{
    font-family:var(--display);font-style:italic;
    font-size:clamp(17px,1.6vw,21px);line-height:1.55;
    color:var(--ink-soft);max-width:680px;margin:0 auto 50px;
  }
.letter-body{
    max-width:680px;margin:0 auto;text-align:left;
    font-family:var(--ui);font-size:16px;line-height:1.85;
    color:var(--ink);
  }
.letter-body p{margin-bottom:20px;}
.letter-body em{color:var(--accent);font-style:italic;}
.letter-greeting{
    font-family:var(--display);font-style:italic;
    font-size:24px;line-height:1.4;color:var(--ink);
    margin-bottom:22px !important;
  }
.letter-pull{
    font-family:var(--display);font-style:italic;
    font-size:clamp(22px,2.4vw,30px);line-height:1.4;
    color:var(--ink);text-align:center;
    max-width:560px;margin:36px auto !important;
    padding:8px 0;
  }
.letter-subhead{
    font-family:var(--display);font-style:italic;font-weight:600;
    font-size:clamp(22px,2.6vw,30px);line-height:1.3;
    color:var(--gold-soft);text-align:center;
    margin:48px 0 22px;letter-spacing:.3px;
  }
.letter-subhead em{color:var(--accent);}
.letter-welcome{
    font-family:var(--display);font-style:italic;
    font-size:clamp(24px,2.6vw,32px);line-height:1.4;
    color:var(--ink);text-align:center;
    margin:42px auto 24px !important;
  }
.letter-signature{
    text-align:center;margin:30px 0 40px;
    font-family:var(--ui);
  }
.letter-sign-name{
    font-size:11px;letter-spacing:3.5px;text-transform:uppercase;
    color:var(--ink);
  }
.letter-sign-place{
    font-size:10px;letter-spacing:3px;text-transform:uppercase;
    color:var(--ink-soft);margin-top:6px;
  }
.letter-coda{
    max-width:560px;margin:30px auto 0;padding-top:30px;
    border-top:1px solid var(--line);
    font-family:var(--display);font-style:italic;
    font-size:clamp(20px,2.2vw,26px);line-height:1.4;
    color:var(--ink-soft);text-align:center;
  }
@media (max-width:640px){
    .letter-section{padding:80px 22px 90px;}

    .letter-body{font-size:15px;}}
/* Mood Quiz — scoped to .mq-wrap so it doesn't collide with site vars */
  .mood-quiz-card{
    background:#16161a;
    border:1px solid #26262c;
    border-radius:14px;
    position:relative;
  }
.mood-quiz-card .post-new-tag{
    background:var(--accent);
    color:#000;
    font-family:var(--ui);
    font-weight:700;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:5px 11px;
    border-radius:4px;
  }
.mq-wrap{
    --mq-bg:#0b0b0d;
    --mq-card:#16161a;
    --mq-accent:#7a1e23;
    --mq-gold:#c9a24a;
    --mq-gold-soft:#e7c97a;
    --mq-ink:#eceae4;
    --mq-ink-dim:#9c9a92;
    --mq-line:#26262c;
    --mq-sans:'Inter', system-ui, sans-serif;
    --mq-serif:'Cormorant Garamond', Georgia, serif;
    color:var(--mq-ink);
    font-family:var(--mq-sans);
    padding:18px 22px 32px;
  }
.mq-card{
    position:relative;
    overflow:hidden;
    border-radius:12px;
    padding:32px 26px 30px;
    background:
      radial-gradient(circle at 50% 0%, rgba(201,162,74,.08) 0%, transparent 50%),
      radial-gradient(circle at 85% 90%, rgba(122,30,35,.14) 0%, transparent 55%),
      linear-gradient(180deg,#0e0e11 0%,#0b0b0d 100%);
    border:1px solid var(--mq-line);
  }
.mq-card::before{
    content:"";position:absolute;inset:-40%;z-index:0;
    background:
      radial-gradient(circle at 30% 25%, rgba(201,162,74,.08) 0%, transparent 40%),
      radial-gradient(circle at 75% 80%, rgba(122,30,35,.10) 0%, transparent 45%);
    animation:mqBreathe 14s ease-in-out infinite alternate;
    pointer-events:none;
  }
.mq-card::after{
    content:"";position:absolute;top:0;left:-60%;width:55%;height:100%;z-index:0;
    background:linear-gradient(105deg,transparent 0%,rgba(231,201,122,.0) 35%,rgba(231,201,122,.06) 50%,rgba(231,201,122,.0) 65%,transparent 100%);
    transform:skewX(-12deg);
    animation:mqSweep 9s ease-in-out infinite;
    pointer-events:none;
  }
.mq-card > *{position:relative;z-index:1;}
@media (prefers-reduced-motion: reduce){.mq-card::before,.mq-card::after{animation:none;}}
.mq-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--mq-gold);font-weight:600;text-align:center;margin-bottom:14px;opacity:.85;}
.mq-rule{width:46px;height:1px;background:var(--mq-gold);margin:0 auto 18px;opacity:.6;}
.mq-h1{font-family:var(--mq-serif);font-weight:500;font-size:30px;line-height:1.18;text-align:center;margin:0 0 14px;letter-spacing:.3px;color:var(--mq-ink);}
.mq-h1 em{font-style:italic;color:var(--mq-gold);}
.mq-intro{color:var(--mq-ink-dim);text-align:center;font-size:15px;line-height:1.6;margin:0 auto 28px;max-width:480px;font-family:var(--mq-sans);}
.mq-intro em{font-style:italic;}
.mq-question{font-family:var(--mq-serif);font-style:italic;font-size:22px;text-align:center;margin-bottom:22px;color:var(--mq-gold-soft);}
.mq-options{display:flex;flex-direction:column;gap:10px;}
.mq-option{
    background:rgba(255,255,255,.02);border:1px solid var(--mq-line);
    border-radius:11px;padding:15px 18px;font-size:15px;color:var(--mq-ink);
    cursor:pointer;text-align:left;transition:all .22s ease;font-family:var(--mq-sans);
    display:flex;align-items:center;gap:14px;width:100%;
  }
.mq-option:hover{background:rgba(201,162,74,.07);border-color:var(--mq-gold);transform:translateX(4px);}
.mq-option .mq-emoji{font-size:22px;min-width:54px;}
.mq-result{text-align:center;animation:mqFade .55s ease;--mq-hue:var(--mq-gold);}
.mq-result .mq-big-emoji{font-size:50px;display:block;margin-bottom:16px;letter-spacing:6px;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--mq-hue) 55%, transparent));}
.mq-result h2{font-family:var(--mq-serif);font-weight:500;font-size:28px;color:var(--mq-hue);margin:0 0 16px;}
.mq-result p{color:var(--mq-ink-dim);font-size:15px;line-height:1.75;margin:0 0 16px;text-align:left;font-family:var(--mq-sans);}
.mq-tag{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mq-hue);font-family:var(--mq-sans);opacity:.95;padding:6px 14px;border:1px solid color-mix(in srgb, var(--mq-hue) 45%, var(--mq-line));border-radius:20px;background:color-mix(in srgb, var(--mq-hue) 9%, transparent);}
.mq-restart{margin-top:26px;background:transparent;color:var(--mq-hue);border:1px solid var(--mq-hue);padding:12px 30px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;border-radius:30px;cursor:pointer;font-family:var(--mq-sans);transition:all .22s;}
.mq-restart:hover{background:var(--mq-hue);color:#000;}
.mq-our-pick{margin-top:22px;text-align:left;background:color-mix(in srgb, var(--mq-hue) 12%, transparent);border:1px solid color-mix(in srgb, var(--mq-hue) 40%, var(--mq-line));border-radius:14px;padding:16px 18px;}
.mq-our-pick .mq-badge{font-family:var(--mq-sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mq-hue);font-weight:600;display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.mq-our-pick .mq-badge .mq-star{font-size:12px;}
.mq-pick-title{font-family:var(--mq-serif);font-style:italic;font-size:19px;color:var(--mq-ink);line-height:1.3;}
.mq-pick-title a{color:var(--mq-ink);text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--mq-hue) 55%, transparent);}
.mq-pick-title a:hover{border-color:var(--mq-hue);}
.mq-wall{margin-top:24px;text-align:left;}
.mq-wall-head{font-family:var(--mq-sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mq-hue);opacity:.9;margin-bottom:13px;text-align:center;}
.mq-add-row{display:flex;flex-direction:column;gap:9px;margin-bottom:16px;}
.mq-add-row input{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--mq-line);border-radius:10px;padding:11px 13px;color:var(--mq-ink);font-family:var(--mq-sans);font-size:14px;transition:border-color .2s;}
.mq-add-row input::placeholder{color:var(--mq-ink-dim);opacity:.75;}
.mq-add-row input:focus{outline:none;border-color:var(--mq-hue);}
.mq-add-btn{background:var(--mq-hue);color:#000;border:none;border-radius:10px;padding:12px 16px;font-family:var(--mq-sans);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:filter .2s, opacity .2s;}
.mq-add-btn:hover{filter:brightness(1.1);}
.mq-add-btn:disabled{opacity:.5;cursor:default;}
.mq-add-note{font-size:12px;color:var(--mq-ink-dim);text-align:center;margin-bottom:14px;font-family:var(--mq-sans);}
.mq-picks{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0;}
.mq-pick{display:flex;align-items:center;gap:11px;background:color-mix(in srgb, var(--mq-hue) 6%, transparent);border:1px solid color-mix(in srgb, var(--mq-hue) 22%, var(--mq-line));border-radius:10px;padding:11px 14px;font-family:var(--mq-sans);font-size:14px;animation:mqFade .4s ease;}
.mq-pick .mq-play{color:var(--mq-hue);font-size:13px;flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;border:1px solid color-mix(in srgb, var(--mq-hue) 40%, transparent);border-radius:50%;}
.mq-pick a{color:var(--mq-ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.mq-pick a:hover{border-color:var(--mq-hue);}
.mq-pick .mq-nolink{color:var(--mq-ink);}
.mq-picks-empty{color:var(--mq-ink-dim);font-style:italic;font-family:var(--mq-serif);font-size:15px;text-align:center;padding:14px 0;list-style:none;}
.mq-wall-status{font-size:12px;color:var(--mq-ink-dim);text-align:center;font-family:var(--mq-sans);min-height:16px;}
@media (max-width:520px){
    .mq-wrap{padding:14px 12px 24px;}

    .mq-card{padding:24px 18px 24px;}

    .mq-h1{font-size:24px;}

    .mq-question{font-size:18px;}

    .mq-option{font-size:14px;padding:13px 14px;gap:10px;}

    .mq-option .mq-emoji{font-size:20px;min-width:46px;}}/* ---- gallery credits + hero cap ---- */
/* -- Gallery Credits Button -- */
  .gallery-credits-btn{
    background:none;border:1px solid var(--line);
    color:var(--accent);font-family:var(--ui);
    font-size:11px;letter-spacing:2px;text-transform:uppercase;
    padding:10px 24px;cursor:pointer;
    transition:border-color .3s, background .3s;
  }
.gallery-credits-btn:hover{
    border-color:var(--accent);background:rgba(201,162,74,.08);
  }
/* -- Gallery Credits Modal -- */
  .gallery-credits-modal{
    position:fixed;inset:0;z-index:1000;
    background:rgba(5,5,5,.82);backdrop-filter:blur(6px);
    display:none;align-items:center;justify-content:center;
    padding:24px;
  }
.gallery-credits-modal.open{display:flex}
.gallery-credits-modal .gcm-dialog{
    background:var(--bg-alt,#111);
    border:1px solid var(--line);
    border-top:3px solid var(--accent);
    max-width:600px;width:100%;
    padding:48px 44px 40px;
    position:relative;
    max-height:90vh;overflow-y:auto;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    animation:cmIn .25s ease-out;
  }
.gallery-credits-modal .gcm-close{
    position:absolute;top:14px;right:18px;
    background:none;border:none;color:var(--ink-soft);
    font-size:28px;line-height:1;cursor:pointer;padding:6px 10px;
  }
.gallery-credits-modal .gcm-close:hover{color:var(--accent)}
.gallery-credits-modal .gcm-eyebrow{
    font-size:9px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:14px;text-align:center;
  }
.gallery-credits-modal .gcm-title{
    font-family:var(--display);font-size:26px;font-style:italic;
    text-align:center;margin-bottom:28px;color:var(--ink);
  }
.gallery-credits-modal .gcm-text{
    font-size:14px;line-height:1.8;color:var(--ink-soft);
    text-align:center;
  }
.gallery-credits-modal .gcm-text p{margin-bottom:18px}
.gallery-credits-modal .gcm-names{
    font-family:var(--display);font-size:17px;font-style:italic;
    color:var(--ink);text-align:center;margin-top:24px;
    line-height:1.9;
  }
.gallery-credits-modal .gcm-thanks{
    font-size:13px;color:var(--ink-soft);text-align:center;
    margin-top:22px;line-height:1.7;
    border-top:1px solid var(--line);padding-top:22px;
  }
.gallery-credits-modal{position:fixed;inset:0;z-index:230;display:none;align-items:flex-start;justify-content:center;
  background:rgba(0,0,0,.9);overflow-y:auto;padding:44px 16px}
.gallery-credits-modal.open{display:flex}
.gallery-credits-btn{cursor:pointer}
/* hero never taller than a banner */
.hero .ph,.hero .ph.itbt-cover2{aspect-ratio:21/9 !important;max-height:430px;min-height:0 !important}
.hero .ph.itbt-cover2 .itbt-art{padding:18px}

/* ---- gallery interiors: restore the old type scale ---- */
.gallery-section .gallery-detail h3{font-size:clamp(23px,2.6vw,32px);line-height:1.15;text-align:center;margin:6px 0 2px}
.gallery-section .concert-eyebrow{font-family:var(--ui);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--accent);text-align:center;margin:0 0 8px}
.gallery-section .concert-date{font-family:var(--ui);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-soft);text-align:center;margin:0 0 18px}
.gallery-section .concert-text p,.gallery-section .concert-text-wrap p{font-family:var(--display);font-size:17px;
  line-height:1.75;color:var(--ink-soft);margin:0 0 18px;text-align:center}
.gallery-section .concert-credit{font-family:var(--ui);font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-soft);text-align:center;margin-top:6px}
.gallery-section .subsection-title{font-size:1.45rem !important;line-height:1.2}
.gallery-section .subsection-tag{font-size:15px !important}
.gallery-section .av-preamble{font-size:15.5px !important}
.gallery-section .photo-credit{font-size:10.5px}
.gallery-section .gallery-back{font-family:var(--ui);font-size:12px}
/* ---- original story card artwork ---- */
.card .post-img{position:relative;overflow:hidden;aspect-ratio:16/10;margin-bottom:13px;border-radius:var(--radius)}
.hero .post-img,.card .post-img.itbt-cover2{min-height:0}
.post{
    background:var(--paper-2);border:1px solid var(--line);
    transition:transform .3s,border-color .3s;
    cursor:pointer;
  }
.post:hover{transform:translateY(-4px);border-color:var(--accent)}
.post-img{aspect-ratio:16/9;position:relative;overflow:hidden}
.post-img.large{aspect-ratio:3/4}
/* Mood gradient backgrounds */
  .post-img .mood-bg{position:absolute;inset:0}
.post-img.mood-warm .mood-bg{background:linear-gradient(135deg,#1a1018 0%,#2a1520 30%,#1e1222 60%,#14141a 100%)}
.post-img.mood-cool .mood-bg{background:linear-gradient(135deg,#101418 0%,#141e28 35%,#18182a 65%,#12121a 100%)}
.post-img.mood-earth .mood-bg{background:linear-gradient(135deg,#181610 0%,#22201a 35%,#1c1a18 65%,#141412 100%)}
.post-img.mood-night .mood-bg{background:linear-gradient(135deg,#0e0e18 0%,#161228 35%,#1a142a 65%,#10101a 100%)}
.post-img.mood-golden .mood-bg{background:linear-gradient(135deg,#1a1810 0%,#24201a 35%,#201c16 65%,#16140e 100%)}
.post-img.mood-dusk .mood-bg{background:linear-gradient(135deg,#18101a 0%,#201828 35%,#1a1424 65%,#121018 100%)}
.post-img .mood-line{
    position:absolute;bottom:30%;left:10%;right:10%;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
    opacity:.15;
  }
.post-img .mood-dot{
    position:absolute;width:3px;height:3px;border-radius:50%;
    background:var(--accent);opacity:.25;
  }
.post-img .mood-label{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--display);font-style:italic;
    font-size:15px;color:var(--accent);opacity:.18;
    letter-spacing:4px;white-space:nowrap;
  }
.post-img.large .mood-label{font-size:20px}
.post-new-tag{position:absolute;top:14px;right:14px;background:var(--accent);color:#0a0a0f;font-family:var(--ui);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:3px;z-index:2;line-height:1}
.post-body{padding:26px}
.post-meta{
    font-size:10px;letter-spacing:2px;text-transform:uppercase;
    color:var(--accent);margin-bottom:12px;
  }
.post h3{
    font-family:var(--display);font-weight:600;
    font-size:24px;line-height:1.2;margin-bottom:12px;
  }
.post.feature h3{font-size:34px}
.post p{color:var(--ink-soft);font-size:14px}
.salzburg-cover{
    background:linear-gradient(135deg,#9ecdeb 0%,#bfe0f4 26%,#d9c8d4 52%,#f4a98f 74%,#bfe0f4 100%);
    background-size:300% 300%;
    animation:salzburgFlow 9s ease-in-out infinite;
  }
@media (prefers-reduced-motion: reduce){ .salzburg-cover{animation:none}}
/* Post cards on the homepage (diptych row) — same wash, slightly stronger */
  .post.accent-red .post-img{
    background:linear-gradient(180deg, rgba(160,40,46,0.45) 0%, rgba(80,18,22,0.75) 60%, rgba(20,8,9,0.95) 100%);
  }
.post.accent-blue .post-img{
    background:linear-gradient(180deg, rgba(60,120,210,0.45) 0%, rgba(20,40,80,0.75) 60%, rgba(8,15,30,0.95) 100%);
  }
.mh-card .post-img .mh-photo{position:absolute;inset:0;
    background:
      repeating-linear-gradient(90deg, rgba(231,201,122,0.14) 0 1px, transparent 1px 24px),
      radial-gradient(ellipse at 50% 118%, rgba(201,162,74,0.34), transparent 58%),
      linear-gradient(150deg, #2a0f12 0%, #4a161b 46%, #14121a 100%);}
.mh-card .post-img .mh-photo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;
    background:linear-gradient(180deg, transparent, rgba(10,10,15,0.55));}
.mh-card .post-img .mh-glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:var(--display);font-style:italic;font-size:118px;line-height:1;color:rgba(231,201,122,0.18);
    letter-spacing:4px;user-select:none;pointer-events:none;}
.mh-card{box-shadow:0 0 0 1px rgba(201,162,74,0.22), 0 0 24px rgba(201,162,74,0.08);}
.mh-card.mh-kreisler .post-img .mh-photo{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 62% 22%, rgba(216,224,233,0.26), transparent 60%),linear-gradient(150deg, #5b6067 0%, #363b41 48%, #17191d 100%);}
.mh-card.mh-kreisler .post-img::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(115deg, transparent 33%, rgba(255,255,255,0.52) 50%, rgba(255,255,255,0.16) 58%, transparent 67%);transform:translateX(-135%);animation:silverSheen 4.2s ease-in-out 0.4s infinite;}
.mh-card.mh-kreisler .post-img .mh-glyph{color:rgba(228,234,242,0.33);font-size:104px;letter-spacing:2px;}
.mh-card.mh-kreisler{box-shadow:0 0 0 1px rgba(222,228,236,0.30), 0 0 28px rgba(164,176,192,0.20);}
.mh-card.mh-immortal .post-img .mh-photo{position:absolute;inset:0;overflow:hidden;background:#f3ead8 url('/nessun-dorma-card.jpg') center/cover no-repeat;}
.mh-card.mh-immortal .post-img .mh-photo::after{display:none;}
.mh-card.mh-immortal .post-img::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(115deg, transparent 38%, rgba(255,255,255,0.40) 50%, rgba(255,255,255,0.12) 57%, transparent 64%);transform:translateX(-135%);animation:goldSheen 6s ease-in-out 0.6s infinite;}
.mh-card.mh-immortal .post-img .mh-glyph{color:rgba(168,132,58,0.30);font-size:110px;letter-spacing:2px;}
.mh-card.mh-immortal{box-shadow:0 0 0 1px rgba(201,162,74,0.30), 0 0 26px rgba(201,162,74,0.14);}
@media (prefers-reduced-motion:reduce){.mh-card.mh-immortal .post-img .mh-photo{animation:none;}
.mh-card.mh-immortal .post-img::after{animation:none;}}
.jedi-cover{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:220px;background:radial-gradient(ellipse at 50% 130%,#1b2547 0%,#0b0f1e 58%,#05060d 100%);}
.jedi-cover .jedi-stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff,transparent),radial-gradient(1.2px 1.2px at 26% 66%,#dde6ff,transparent),radial-gradient(1px 1px at 50% 36%,#fff,transparent),radial-gradient(1.6px 1.6px at 72% 16%,#fff,transparent),radial-gradient(1.1px 1.1px at 84% 70%,#cfe0ff,transparent),radial-gradient(1px 1px at 40% 82%,#fff,transparent),radial-gradient(1.3px 1.3px at 63% 54%,#fff,transparent),radial-gradient(1px 1px at 90% 40%,#fff,transparent);opacity:.9;}
.jedi-cover:after{content:"";position:absolute;left:-12%;right:-12%;top:46%;height:3px;transform:rotate(-19deg);background:linear-gradient(90deg,transparent,#f4d27a 30%,#fff7df 50%,#c9a24a 70%,transparent);box-shadow:0 0 16px 3px rgba(244,210,122,.6);border-radius:3px;}
.jedi-art{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;}
.jedi-art .jedi-kicker{font-family:var(--sans,Helvetica,Arial,sans-serif);letter-spacing:6px;text-transform:uppercase;font-size:11px;color:#f4d27a;}
.jedi-art .jedi-title-art{font-family:var(--serif,Georgia,serif);font-size:33px;line-height:1.06;color:#fff;text-shadow:0 2px 22px rgba(120,160,255,.5);}
.itbt-cover2{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:252px;background:radial-gradient(ellipse 56% 46% at 16% 30%,rgba(156,183,168,0.5) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 40% 40% at 86% 64%,rgba(154,182,166,0.42) 0%,rgba(160,185,170,0.2) 48%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 30% 30% at 60% 82%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 26% 34% at 40% 12%,rgba(156,183,168,0.28) 0%,rgba(160,185,170,0) 62%),radial-gradient(ellipse 50% 46% at 76% 16%,rgba(150,120,78,0.30) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 30% 86%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#dccdaf 0%,#d0c19f 42%,#c3b389 100%);}
.itbt-c2-tex{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'><filter%20id='b'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.014'%20numOctaves='4'%20seed='11'%20stitchTiles='stitch'/><feColorMatrix%20type='saturate'%20values='0'/><feComponentTransfer><feFuncA%20type='linear'%20slope='0.55'/></feComponentTransfer></filter><filter%20id='g'><feTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/><feColorMatrix%20type='saturate'%20values='0'/><feComponentTransfer><feFuncA%20type='linear'%20slope='0.22'/></feComponentTransfer></filter><rect%20width='100%'%20height='100%'%20filter='url(%23b)'/><rect%20width='100%'%20height='100%'%20filter='url(%23g)'/></svg>");background-size:340px 340px;mix-blend-mode:multiply;opacity:.38;}
.itbt-c2-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 52% at 50% 55%,rgba(248,242,228,0.62) 0%,rgba(248,242,228,0) 60%);box-shadow:inset 0 0 66px 16px rgba(70,52,28,0.26);}
.itbt-c2-frame{position:absolute;inset:15px;z-index:2;pointer-events:none;border:1px solid rgba(150,116,54,0.6);}
.itbt-c2-frame::after{content:'';position:absolute;inset:4px;border:1px solid rgba(150,116,54,0.24);}
.itbt-cover2 .itbt-art{position:relative;z-index:3;gap:11px;padding:30px 26px;}
.post-img.itbt-cover2 .itbt-kicker{color:#6a4f2b;font-weight:600;font-size:10.5px;letter-spacing:4px;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-plate{font-weight:600;display:flex;align-items:center;justify-content:center;gap:14px;color:#8a672a;font-family:var(--serif,Georgia,serif);font-size:22px;letter-spacing:3px;font-variant:small-caps;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-plate i{display:block;width:38px;height:1px;background:linear-gradient(90deg,rgba(138,103,42,0),rgba(138,103,42,0.85));}
.itbt-plate i.right{transform:scaleX(-1);}
.post-img.itbt-cover2 .itbt-track{color:#34271a;font-weight:600;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:27px;line-height:1.22;margin-top:2px;text-shadow:0 1px 2px rgba(255,252,244,0.55);}
.post-img.itbt-cover2 .itbt-comp{color:#6a543a;font-weight:600;font-size:10.5px;letter-spacing:3px;margin-top:2px;text-shadow:0 1px 2px rgba(255,252,244,0.6);}
.itbt-cover2.alt{background:radial-gradient(ellipse 54% 46% at 82% 26%,rgba(156,183,168,0.48) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 42% 42% at 14% 62%,rgba(154,182,166,0.42) 0%,rgba(160,185,170,0.2) 48%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 30% 30% at 40% 84%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 26% 34% at 64% 14%,rgba(156,183,168,0.28) 0%,rgba(160,185,170,0) 62%),radial-gradient(ellipse 50% 46% at 24% 16%,rgba(150,120,78,0.30) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 70% 86%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#d9caab 0%,#cdbe9b 42%,#c0b086 100%);}
.itbt-cover2.alt .itbt-c2-tex{transform:scaleX(-1);}
@media(max-width:640px){.itbt-cover2{min-height:186px;}
.itbt-cover2 .itbt-art{padding:22px 18px;gap:8px;}
.post-img.itbt-cover2 .itbt-kicker{font-size:9.5px;letter-spacing:3px;}
.itbt-plate{font-size:18px;letter-spacing:2px;gap:10px;}
.itbt-plate i{width:28px;}
.post-img.itbt-cover2 .itbt-track{font-size:21px;}
.post-img.itbt-cover2 .itbt-comp{font-size:9.5px;letter-spacing:2px;}}
.itbt-cover2.alt2{background:radial-gradient(ellipse 50% 44% at 50% 20%,rgba(156,183,168,0.48) 0%,rgba(160,185,170,0.24) 45%,rgba(162,187,172,0) 66%),radial-gradient(ellipse 40% 40% at 12% 74%,rgba(154,182,166,0.4) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 36% 36% at 88% 30%,rgba(156,183,168,0.36) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 30% 30% at 62% 88%,rgba(156,183,168,0.3) 0%,rgba(160,185,170,0) 60%),radial-gradient(ellipse 50% 46% at 30% 12%,rgba(150,120,78,0.28) 0%,rgba(150,120,78,0) 58%),radial-gradient(ellipse 46% 44% at 74% 84%,rgba(232,224,203,0.5) 0%,rgba(232,224,203,0) 60%),linear-gradient(135deg,#d7c8a9 0%,#cbbc99 42%,#bead84 100%);}
.itbt-cover2.alt2 .itbt-c2-tex{transform:scaleY(-1);}
.silence-card:hover .silence-video{transform:scale(1.05);}
.silence-cover{position:relative;overflow:hidden;background:#0b0b0d;}
.silence-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    transform:scale(1.02);transition:transform 1.2s ease;}
.silence-cover::after{content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at center,rgba(11,11,13,0) 30%,rgba(11,11,13,.55) 100%);}
.silence-cover .mood-label{z-index:3;}
.silence-name{position:absolute;left:0;right:0;bottom:16px;z-index:3;text-align:center;
    font-family:var(--display);font-style:italic;font-size:19px;letter-spacing:.02em;
    color:#e8eef4;text-shadow:0 0 18px rgba(200,208,216,.5),0 2px 10px rgba(0,0,0,.8);}
@media(prefers-reduced-motion:reduce){.silence-card,.silence-video{animation:none;transition:none;}}
/* Julien featured card */
  .julien-cover{position:relative;overflow:hidden;background:
      radial-gradient(circle at 28% 22%, rgba(217,184,119,0.26), transparent 55%),
      radial-gradient(circle at 82% 88%, rgba(198,158,96,0.12), transparent 52%),
      linear-gradient(160deg,#0b0f1a 0%,#141a2b 46%,#0a0d16 100%);}
.julien-photo{position:absolute;inset:0;background-image:url('/jq-cover.jpg');background-position:center 22%;background-size:cover;background-repeat:no-repeat;
    transform:scale(1.04);transition:transform 1.2s ease;}
.julien-card:hover .julien-photo{transform:scale(1.09);}
.julien-cover::after{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to top,rgba(6,7,11,.9),transparent);}
.julien-name{position:absolute;left:0;right:0;bottom:40px;text-align:center;font-family:var(--display);
    font-style:italic;font-size:30px;letter-spacing:.5px;color:#f4e8cd;text-shadow:0 2px 20px rgba(0,0,0,.6);}
.julien-card{border:1px solid rgba(217,184,119,.55);animation:salonGlow 7s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){ .julien-card,.julien-photo{animation:none;}}
.itbt-art{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;color:#fff;text-shadow:0 1px 10px rgba(40,20,40,0.45);}
.itbt-art .itbt-kicker{font-family:var(--sans,Helvetica,Arial,sans-serif);font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,246,226,0.92);}
.itbt-art .itbt-num{font-family:var(--serif,Georgia,serif);font-size:60px;line-height:0.9;font-weight:600;color:#fff;letter-spacing:1px;}
.itbt-art .itbt-track{font-family:var(--serif,Georgia,serif);font-size:30px;font-style:italic;color:#fff7ea;margin-top:2px;}
.itbt-art .itbt-comp{font-family:var(--sans,Helvetica,Arial,sans-serif);font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,240,220,0.85);}
.itbt-card{box-shadow:0 0 0 1px rgba(201,162,74,0.30), 0 10px 30px rgba(80,40,60,0.28);}
/* ===== Where the Silence Was Kept — Grabowsee album teaser (reel still + cream light, animated) ===== */
  .grabow-cover{position:relative;overflow:hidden;background:#170509;}
.grabow-photo{position:absolute;inset:0;
    background:url('/grabowsee-card.jpg') center 46% / cover no-repeat;
    transform:scale(1.05);
    animation:grabowDrift 18s ease-in-out infinite alternate;}
/* faint cream window-light that breathes (the movement) */
  .grabow-cover::before{content:"";position:absolute;left:46%;top:4%;width:40%;height:64%;transform:translateX(-50%);
    background:radial-gradient(54% 58% at 50% 42%, rgba(250,243,224,0.22), rgba(0,0,0,0) 70%);
    mix-blend-mode:screen;animation:grabowLight 7.5s ease-in-out infinite;pointer-events:none;z-index:1;}
/* mood vignette */
  .grabow-cover::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
    background:
      radial-gradient(120% 92% at 50% 40%, rgba(0,0,0,0) 52%, rgba(12,4,6,0.55) 100%),
      linear-gradient(180deg, rgba(12,4,6,0.18) 0%, rgba(12,4,6,0) 26%, rgba(12,4,6,0) 60%, rgba(12,4,6,0.5) 100%);}
.grabow-cover .mood-label{color:#f3e8cf;opacity:.32;text-shadow:0 1px 10px rgba(0,0,0,.55);z-index:3;}
/* diagonal corner ribbon, clipped by the cover's overflow:hidden */
  .grabow-cover .grabow-ribbon{
    top:20px; left:-42px; right:auto;
    width:150px; text-align:center;
    transform:rotate(-45deg); transform-origin:center;
    padding:5px 0; border-radius:0;
    font-size:9px; letter-spacing:2px;
    background:var(--accent); color:#1a0708;
    box-shadow:0 2px 7px rgba(0,0,0,.5); z-index:4;
  }
/* slow red -> cream glowing frame */
  .grabow-card{animation:grabowGlow 9s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){ .grabow-card,.grabow-photo,.grabow-cover::before{animation:none;}}
/* Emanuel featured card */
  .emanuel-cover{position:relative;overflow:hidden;background:#1a1206;}
.emanuel-photo{position:absolute;inset:0;
    background:url('/emanuel-cover.jpg') center 32% / cover no-repeat;
    transform:scale(1.04); transition:transform 1.2s ease;}
.emanuel-card:hover .emanuel-photo{transform:scale(1.09);}
.emanuel-card{border:1px solid rgba(216,28,28,.6);animation:emanuelGlow 6.5s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){ .emanuel-card,.emanuel-photo{animation:none;}}
.openair-photo{position:absolute;inset:0;background:url('/millennium-open-air-2026/cover_vivid.jpg') center 56% / cover no-repeat;transform:scale(1.02);}
/* ===== A Different Language — Cristian Fatu interview (silver/gold, animated) ===== */
  .fatu-card{animation:fatuGlow 8.5s ease-in-out infinite;}
.fatu-cover{position:relative;overflow:hidden;background:linear-gradient(160deg,#2a2d33 0%,#191b1f 55%,#0e0f12 100%);}
/* cover photo with a slow Ken-Burns drift so the card breathes like the others */
  .fatu-cover .fatu-photo{position:absolute;inset:0;background:url('/media/extracted/cc-c1c3939e2e5e.jpg') center 6%/cover no-repeat;
    transform-origin:50% 40%;animation:fatuKen 34s ease-in-out infinite alternate;}
.fatu-cover .mood-label{z-index:3;}
@media (prefers-reduced-motion: reduce){
    .fatu-card,.fatu-cover .fatu-photo,.story-modal.accent-amber .sm-dialog{animation:none;}}
.spacekitchen-card .sck-photo{position:absolute;inset:0;background:url('/media/extracted/cc-d6f5d278ed81.jpg') center 42%/cover;}
.spacekitchen-card{animation:sckGlow 5.4s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){ .spacekitchen-card{animation:none;}}
/* Ariadne's Thread featured card — indigo night + gold thread glow */
  .ariadne-card{animation:ariadneGlow 5.2s ease-in-out infinite;}
.ariadne-card .mood-bg{animation:ariadneBreathe 14s ease-in-out infinite alternate;transform-origin:50% 32%;}
/* the single thread tracing through the labyrinth */
  .ariadne-card .ariadne-thread{
    content:"";position:absolute;left:0;top:0;width:100%;height:100%;z-index:2;pointer-events:none;
    background:
      linear-gradient(115deg,transparent 0%,transparent 46%,rgba(231,201,122,.55) 49.4%,rgba(231,201,122,.9) 50%,rgba(231,201,122,.55) 50.6%,transparent 54%,transparent 100%);
    -webkit-mask:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
            mask:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
    opacity:.5;animation:ariadneShimmer 6s ease-in-out infinite;
  }
@media (prefers-reduced-motion: reduce){
    .ariadne-card{animation:none;}

    .ariadne-card .mood-bg,.ariadne-card .ariadne-thread{animation:none;}}
.mos-card .mood-bg{animation:mosBreathe 13s ease-in-out infinite alternate;transform-origin:70% 30%;}
.mos-card .post-img::after{
    content:"";position:absolute;top:0;left:-60%;width:55%;height:100%;z-index:2;
    background:linear-gradient(105deg,transparent 0%,rgba(231,201,122,0) 35%,rgba(231,201,122,.11) 50%,rgba(231,201,122,0) 65%,transparent 100%);
    transform:skewX(-12deg);animation:mosSweep 5.5s ease-in-out infinite;pointer-events:none;
  }
@media (prefers-reduced-motion: reduce){
    .mos-card .mood-bg,.mos-card .post-img::after{animation:none;}}
.mood-quiz-card .post-new-tag{
    background:var(--accent);
    color:#000;
    font-family:var(--ui);
    font-weight:700;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:5px 11px;
    border-radius:4px;
  }
/* --- recovered keyframes from original site --- */
@keyframes ariadneBreathe{
    from{transform:scale(1);opacity:.74;}
    to{transform:scale(1.16) translateY(-2%);opacity:1;}
  }
@keyframes ariadneGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(201,162,74,.18), 0 0 16px rgba(201,162,74,.09);border-color:rgba(201,162,74,.40);}
    50%{box-shadow:0 0 0 1px rgba(201,162,74,.50), 0 0 42px rgba(201,162,74,.28);border-color:rgba(201,162,74,.90);}
  }
@keyframes ariadneShimmer{0%,100%{opacity:.32;}50%{opacity:.7;}}
@keyframes emanuelGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(216,28,28,.40), 0 0 16px rgba(216,28,28,.20);border-color:rgba(200,24,28,.60);}
    50%{box-shadow:0 0 0 1px rgba(255,80,48,.70), 0 0 52px rgba(232,24,32,.45);border-color:rgba(255,96,64,.85);}
  }
@keyframes fatuGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(200,205,214,.18), 0 0 16px rgba(200,205,214,.10);border-color:rgba(200,205,214,.42);}
    50%{box-shadow:0 0 0 1px rgba(228,231,236,.55), 0 0 44px rgba(176,182,192,.32);border-color:rgba(228,231,236,.92);}
  }
@keyframes fatuKen{0%{transform:scale(1.0);}100%{transform:scale(1.055);}}
@keyframes goldSheen{0%{transform:translateX(-135%);}55%{transform:translateX(135%);}100%{transform:translateX(135%);}}
@keyframes grabowDrift{
    0%{transform:scale(1.05) translate3d(0,0,0);}
    100%{transform:scale(1.12) translate3d(0,-2%,0);}
  }
@keyframes grabowGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(122,20,30,.34), 0 0 18px rgba(122,20,30,.18);border-color:rgba(122,20,30,.6);}
    50%{box-shadow:0 0 0 1px rgba(232,206,168,.5), 0 0 48px rgba(150,28,38,.36);border-color:rgba(214,154,96,.72);}
  }
@keyframes grabowLight{0%,100%{opacity:.45;}50%{opacity:.95;}}
@keyframes mosBreathe{
    from{transform:scale(1);opacity:.78;}
    to{transform:scale(1.18) translate(1.5%,-2%);opacity:1;}
  }
@keyframes mosSweep{0%{left:-60%;}75%{left:120%;}100%{left:120%;}}
@keyframes salonGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(217,184,119,.35), 0 0 16px rgba(217,184,119,.16);border-color:rgba(217,184,119,.55);}
    50%{box-shadow:0 0 0 1px rgba(233,205,150,.65), 0 0 46px rgba(217,184,119,.36);border-color:rgba(233,205,150,.85);}
  }
@keyframes salzburgFlow{
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
  }
@keyframes sckGlow{
    0%,100%{box-shadow:0 0 0 1px rgba(34,211,238,.20), 0 0 18px rgba(192,38,211,.12);border-color:rgba(34,211,238,.45);}
    50%{box-shadow:0 0 0 1px rgba(192,38,211,.55), 0 0 46px rgba(34,211,238,.30);border-color:rgba(192,38,211,.85);}
  }
@keyframes silverSheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}

/* --- Münster card (built to match the set; no original existed) --- */
.munster-cover{position:relative;overflow:hidden;
  background:linear-gradient(158deg,#12222b 0%,#1b3440 44%,#233d3a 72%,#14202a 100%)}
.munster-cover .mun-wash{position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 55% at 50% 12%,rgba(201,162,74,.20),transparent 64%),
             radial-gradient(ellipse 90% 60% at 50% 108%,rgba(0,0,0,.55),transparent 60%)}
.munster-cover .mun-grid{position:absolute;inset:0;opacity:.5;
  background:repeating-linear-gradient(90deg,rgba(231,201,122,.09) 0 1px,transparent 1px 30px)}
.munster-cover .mun-mid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:92%;text-align:center}
.munster-cover .mun-city{font-family:var(--display,serif);font-weight:600;
  font-size:clamp(28px,6.2vw,44px);line-height:1;letter-spacing:.10em;color:#f2ead9;
  text-shadow:0 2px 22px rgba(0,0,0,.5)}
.munster-cover .mun-rule{width:52px;height:1px;margin:13px auto 11px;
  background:linear-gradient(90deg,transparent,#c9a24a,transparent)}
.munster-cover .mun-sub{font-family:var(--ui,sans-serif);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:#cbb98f}
.munster-cover .mun-date{position:absolute;left:16px;bottom:13px;
  font-family:var(--ui,sans-serif);font-size:11px;letter-spacing:.18em;color:rgba(231,201,122,.72)}
