/* Twelfth Night: 1941 */
@font-face{font-family:"Josefin Sans";font-weight:700;font-display:swap;src:url(/fonts/josefin-700.woff2?v=f1887bdb5e) format("woff2")}
@font-face{font-family:"Special Elite";font-weight:400;font-display:swap;src:url(/fonts/special-elite.woff2?v=1de4bc7694) format("woff2")}
@font-face{font-family:"Libre Caslon Text";font-weight:400;font-display:swap;src:url(/fonts/caslon-400.woff2?v=a34676df8e) format("woff2")}
@font-face{font-family:"Libre Caslon Text";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/caslon-400i.woff2?v=6e3b613869) format("woff2")}
@font-face{font-family:"Libre Caslon Text";font-weight:700;font-display:swap;src:url(/fonts/caslon-700.woff2?v=c4dbc8a173) format("woff2")}

:root{
  --paper:#f1e6cc; --paper-2:#ebdcbb; --card:#fff8e6; --ink:#231b13; --soft:#5a4630;
  --red:#a83227; --red-d:#7d2119; --night:#13161d; --amber:#f5b94a; --hi:#ffe14a; --cream:#f3e6c8;
  --display:"Josefin Sans","Gill Sans","Trebuchet MS",sans-serif;
  --type:"Special Elite","American Typewriter","Courier New",monospace;
  --body:"Libre Caslon Text",Baskerville,Georgia,serif;
  --nav:56px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .75 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7 5.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --tear:polygon(0 3%,4% 0,9% 2%,15% 0,22% 2%,30% 0,38% 2%,47% 0,55% 2%,64% 0,72% 2%,81% 0,90% 2%,96% 0,100% 2%,100% 97%,95% 100%,88% 98%,80% 100%,71% 98%,62% 100%,53% 98%,44% 100%,35% 98%,26% 100%,17% 98%,9% 100%,3% 98%,0 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:#e9d9b8 url(/img/paper.webp?v=1e7ca59e9e) top center/max(100vw,1000px) auto repeat-y;color:var(--ink);font:400 17px/1.65 var(--body);padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
img{max-width:100%;height:auto}
a{color:var(--red-d);text-underline-offset:.18em}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--hi)}
main:focus{outline:none;box-shadow:none}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;z-index:200;background:var(--ink);color:var(--cream);padding:10px 14px}
.skip:focus{top:8px}
.wrap{width:min(1100px,100% - 32px);margin-inline:auto}
.narrow{max-width:720px}
.wrap.narrow{margin-left:max(16px,calc((100% - 1100px)/2));margin-right:auto}   /* narrow text columns hang off the same left edge as every other section */
.js.opening-on body{overflow:hidden}

/* ---------- type ---------- */
.eyebrow{font:400 15px/1.3 var(--type);letter-spacing:.08em;color:var(--red);margin:0 0 .6em;text-transform:uppercase}
.h1,.h2,.h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.1;margin:0 0 .6em}
.h1{font-size:clamp(34px,7vw,64px)} .h1 span{font-family:var(--type);font-weight:400;text-transform:none;letter-spacing:0;color:var(--soft);display:block;font-size:.55em;margin-top:.2em}
.h2{font-size:clamp(30px,6vw,52px);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.16em}
.h3{font-size:20px;letter-spacing:.1em}
.lead{font-size:1.2em;line-height:1.5}
.section{padding:64px 0}
/* nav links scroll so the section heading lands PAD (72px) from the top; the tuner needle uses the same reference */
.section[id]{scroll-margin-top:-60px}

/* ---------- surfaces ---------- */
.paper{background:transparent}
.paper.alt{background:rgba(120,82,30,.09)}
.scrap-wrap{filter:drop-shadow(0 2px 3px rgba(60,40,10,.3))}
.scrap{background:var(--card);padding:34px 28px;clip-path:var(--tear);font:400 15.5px/1.7 var(--type)}
.scrap p{margin:0 0 1em}.scrap p:last-child{margin:0}
.scrap .pull{font-size:1.15em;color:var(--red-d)}
.glance{align-self:start;transform:rotate(.5deg)}
.glance .scrap{padding:32px 26px 36px}
.glance .card-title{margin-bottom:.8em}
.story-cols{margin-top:24px}
.story-text p{max-width:36em}
.story-text .pull{font:400 1.15em/1.5 var(--type);color:var(--red-d)}
.taped{position:relative;background:var(--card);padding:10px 10px 26px;box-shadow:0 10px 24px rgba(60,40,10,.3);transform:rotate(1.2deg)}
.taped::before{content:"";position:absolute;top:-13px;left:50%;width:110px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(255,224,110,.7);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.taped img{display:block;width:100%}
.card-title{font:700 16px var(--display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .6em}
.facts{margin:0}.facts div{display:grid;grid-template-columns:98px 1fr;gap:10px;padding:.55em 0;border-bottom:1px dashed rgba(35,27,19,.3)}
.facts div:last-child{border:0}
.facts dt{font:700 12px/1.9 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.facts dd{margin:0}
.two-col{display:grid;gap:32px;margin-top:40px}

/* ---------- buttons: rubber stamps ---------- */
/* A double-ruled ink stamp with a gritty edge. Hover = pressed onto the pad (fills solid). */
.btn{--stamp:#1d1a16;--paper-ink:#f7e9cc;
  position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;
  font:700 15px/1 var(--display);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;text-align:center;color:var(--stamp);cursor:pointer;
  background:transparent;border:3px solid var(--stamp);border-radius:3px;outline:1.5px solid var(--stamp);outline-offset:-9px;
  -webkit-mask:var(--grit);mask:var(--grit);mix-blend-mode:multiply;transform:rotate(-1.2deg);
  transition:background .12s,color .12s,transform .12s,outline-color .12s}
.btn:nth-of-type(even){transform:rotate(.9deg)}
.btn:hover{background:var(--stamp);color:var(--paper-ink);outline-color:var(--paper-ink);transform:rotate(0)}
.btn:active{transform:rotate(0) scale(.965)}
/* the ink texture would clip a focus ring, so focus drops the texture and adds a solid ring */
.btn:focus-visible{-webkit-mask:none;mask:none;mix-blend-mode:normal;background:var(--stamp);color:var(--paper-ink);outline:3px solid var(--stamp);outline-offset:4px;box-shadow:0 0 0 8px var(--hi)}
.btn-red{--stamp:var(--red)}
.btn-paper{--stamp:#1d1a16}
.btn-dark{--stamp:#ff8a72;--paper-ink:#1a0a06;mix-blend-mode:normal}   /* the stamp, for dark backgrounds */
.btn-sm{min-height:46px;padding:0 16px;font-size:12px;letter-spacing:.17em;outline-offset:-7px}
.btn-static{--stamp:#5a4630;border-style:dashed;outline:0;cursor:default;pointer-events:none}

/* ---------- the cold open ---------- */
.opening{--video-opacity:.95;   /* footage strength: 0 (off) to 1 (solid). Rebuild + hard-refresh after changing. */
  display:none;position:fixed;inset:0;z-index:100;flex-direction:column;align-items:center;gap:6px;padding:max(10px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom));color:var(--cream);background:#0b0805;overflow:hidden;transition:opacity .9s ease}
.opening::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(rgba(9,6,3,.35) 0,rgba(9,6,3,0) 18%,rgba(9,6,3,0) 78%,rgba(9,6,3,.5) 100%)}
.opening-on .opening{display:flex}
/* the cold open is a control surface: no scrolling, zooming, text selection or callouts, so a drag tunes the radio and the browser leaves the touch alone */
.opening{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.opening.leaving{opacity:0;pointer-events:none}
.opening>:not(.dial){position:relative;z-index:2}
.opening-hint.gone{opacity:0}
.opening-hook .w{display:inline-block;opacity:0;will-change:opacity,transform}   /* opacity and lift are set per word, per frame, by opening.js */
.dial{position:absolute;inset:0;width:100%;height:100%;margin:0;touch-action:none;user-select:none;-webkit-user-select:none;z-index:0}
.dial #dial-window{cursor:ew-resize}
.dial #dial-knob-hit{cursor:grab}
.dial.kbd #dial-knob-hit{stroke:var(--hi);stroke-width:5}
.dial.dial-band{position:relative;inset:auto;flex:none;height:auto;aspect-ratio:640/1040;width:min(100%,640px);max-height:100%;margin:auto;-webkit-mask-image:radial-gradient(ellipse 90% 92% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 90% 92% at 50% 50%,#000 62%,transparent 100%)}
/* footage overlay: sits above the photo, but the mask (set from JS) removes it over the radio */
.opening>.opening-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;opacity:0;mix-blend-mode:screen;filter:grayscale(1) contrast(1.3) sepia(.35) brightness(1.15);transition:opacity 2.2s ease;--x0:0px;--rw:0px;--y0:0px;--yb:0px}
.opening>.opening-video.on{opacity:var(--video-opacity)}
.opening>.opening-video.wide{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(var(--x0) * .38),rgba(0,0,0,.6) calc(var(--x0) * .72),transparent var(--x0)),linear-gradient(to left,#000 0,#000 calc(var(--rw) * .38),rgba(0,0,0,.6) calc(var(--rw) * .72),transparent var(--rw));mask-image:linear-gradient(to right,#000 0,#000 calc(var(--x0) * .38),rgba(0,0,0,.6) calc(var(--x0) * .72),transparent var(--x0)),linear-gradient(to left,#000 0,#000 calc(var(--rw) * .38),rgba(0,0,0,.6) calc(var(--rw) * .72),transparent var(--rw))}
.opening>.opening-video.tall{-webkit-mask-image:linear-gradient(#000 0,#000 calc(var(--y0) * .32),rgba(0,0,0,.65) calc(var(--y0) * .7),transparent var(--y0)),linear-gradient(to top,#000 0,#000 calc(var(--yb) * .32),rgba(0,0,0,.65) calc(var(--yb) * .7),transparent var(--yb));mask-image:linear-gradient(#000 0,#000 calc(var(--y0) * .32),rgba(0,0,0,.65) calc(var(--y0) * .7),transparent var(--y0)),linear-gradient(to top,#000 0,#000 calc(var(--yb) * .32),rgba(0,0,0,.65) calc(var(--yb) * .7),transparent var(--yb))}
.opening>.opening-top{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0;margin:0;pointer-events:none;--zw:320px}
.opening>.opening-top .btn{pointer-events:auto;min-height:46px;padding:0 18px;font-size:13px;letter-spacing:.18em}
.opening-msg{display:grid;width:100%}
.opening-msg>*{grid-area:1/1;margin:0;text-align:center}
.opening-hint{font:400 clamp(13px,calc(var(--zw) / 14),22px)/1.35 var(--type);letter-spacing:.03em;color:var(--amber);text-shadow:0 1px 2px #000,0 0 12px rgba(0,0,0,.9);transition:opacity .6s}
.opening-hint.gone{opacity:0}
.opening-hook{font:400 clamp(12px,calc(var(--zw) / 17),24px)/1.36 var(--type);color:#fff3d2;text-shadow:0 1px 2px #000,0 0 14px rgba(0,0,0,.95),0 0 26px rgba(245,185,74,.22);filter:blur(calc((1 - var(--clarity,0)) * 3.5px))}
.opening #opening-enter{visibility:hidden;opacity:0;transition:opacity 1.8s ease,visibility 0s,background .12s,color .12s,transform .12s,outline-color .12s}   /* takes up its space from the start, so nothing shifts when it fades in */
.opening #opening-enter.show{visibility:visible;opacity:1}
.opening-skip{transition:opacity .8s ease}
.opening-range{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.opening>.opening-actions{position:absolute;left:14px;right:14px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:10px 18px}
.opening-skip,.opening-sound{background:none;border:0;color:#cdb489;font:400 14px var(--type);letter-spacing:.08em;text-decoration:underline;text-underline-offset:.25em;cursor:pointer;min-height:44px;padding:0 6px}
.opening-skip:hover,.opening-sound:hover{color:#fff}
.opening :focus-visible{outline-color:var(--hi);box-shadow:none}
.opening [hidden]{display:none}

/* ---------- the tuner (nav) ---------- */
.tuner{position:fixed;z-index:50;left:0;right:0;bottom:0;height:calc(var(--nav) + env(safe-area-inset-bottom));padding:0 10px env(safe-area-inset-bottom);display:flex;align-items:center;gap:10px;background:rgba(19,22,29,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.08)}
.tuner-mark{display:none;font:700 15px var(--display);letter-spacing:.14em;color:var(--cream);text-decoration:none;white-space:nowrap}
.tuner-mark span{color:var(--amber);margin-right:.35em}
.tuner-scale{position:relative;flex:1;display:flex;list-style:none;margin:0;padding:0;height:36px;border-radius:6px;overflow:hidden;background:linear-gradient(#d19a45,#f2d086 50%,#d19a45);box-shadow:inset 0 0 0 2px #3a2412,inset 0 0 14px rgba(120,70,10,.6)}
.tuner-scale::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:7px;background:repeating-linear-gradient(90deg,#3a2412 0 1.5px,transparent 1.5px 9px);opacity:.55;pointer-events:none}
.tuner-scale li{flex:1;display:flex}
.tuner-scale a{flex:1;display:flex;align-items:center;justify-content:center;padding-bottom:6px;font:400 12px/1 var(--type);color:#2c1a0c;text-decoration:none;white-space:nowrap;letter-spacing:.02em;min-height:44px;margin-block:-4px}
.tuner-scale a{--near:0;color:color-mix(in srgb,#8a1010 calc(var(--near) * 100%),#2c1a0c);text-shadow:0 0 calc(var(--near) * 9px) rgba(255,246,200,calc(var(--near) * .95))}
.tuner-scale a[aria-current]{font-weight:700}
.tuner-scale li:last-child{display:none}
.tuner-needle{position:absolute;left:0;top:calc((var(--nav) - 36px)/2 - 3px);width:0;height:42px;transform:translateX(var(--x,0));will-change:transform;pointer-events:none}
.tuner-needle::before{content:"";position:absolute;left:-1px;top:0;width:2.5px;height:100%;background:#d02020;box-shadow:0 0 6px rgba(255,60,40,.8)}
.tuner-give{--stamp:#ff7a63;--paper-ink:#1a0a06;mix-blend-mode:normal;min-height:42px;padding:0 14px;font-size:12px;letter-spacing:.18em;outline-offset:-6px;transform:rotate(-1.5deg)}
@media (max-width:599px){.tuner-scale .the{display:none}.tuner-scale a{font-size:12px;letter-spacing:-.01em}}
@media (min-width:600px){.tuner-scale li:last-child{display:flex}}
@media (min-width:900px){
  body{padding-bottom:0;padding-top:var(--nav)}
  .tuner{top:0;bottom:auto;height:var(--nav);padding:0 20px;border-top:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .tuner-mark{display:block}
  .tuner-scale{max-width:640px;margin-inline:auto}
  .tuner-scale a{font-size:13px}
}

/* ---------- hero ---------- */
.hero{padding:40px 0 64px}
.hero-grid{display:grid;gap:36px;align-items:center}
.title{margin:.1em 0 .35em;line-height:0}
.title-logo{display:block;width:min(100%,540px);height:auto;margin-left:-2%}
.hero-lede{font-size:1.15em;max-width:34em}
.hero-credit{font:400 15px/1.6 var(--type);color:var(--soft)}
.hero-credit span{white-space:nowrap}
.hero-when{margin:1.2em 0 0;font:400 1.05em/1.5 var(--body)}
.hero-when strong{font:700 22px var(--display);letter-spacing:.08em;text-transform:uppercase}
.hero-note{margin:.2em 0 0;font:400 14px/1.4 var(--type);color:var(--soft)}
/* Industry reading block: clear air above the label, label tight to its date, button close beneath */
.hero-industry{margin:1.9em 0 .2em;font:400 15px/1.3 var(--type)}
.hero-industry b{font:700 13px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.hero-industry + .hero-when{margin-top:0}
.hero-industry-cta{margin:.7em 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.7em 0 0}
.hero-art .taped{max-width:520px;margin-inline:auto}
@media (min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:56px}.hero{padding:56px 0 88px}}

/* ---------- story ---------- */
#story .narrow p{max-width:36em}
@media (min-width:900px){.two-col{grid-template-columns:1.4fr 1fr;gap:48px}.two-col.company-cols{grid-template-columns:fit-content(400px) minmax(0,1fr);gap:64px}}

/* ---------- players ---------- */
.cards{--g:14px;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px var(--g)}
.pcard{flex:0 0 calc((100% - var(--g)) / 2)}
.pcard a{display:flex;flex-direction:column;height:100%;padding:7px 7px 12px;background:var(--card);color:var(--ink);text-decoration:none;box-shadow:0 6px 16px rgba(60,40,10,.25);transition:transform .2s,box-shadow .2s}
.pcard:nth-child(odd) a{transform:rotate(-.9deg)}.pcard:nth-child(even) a{transform:rotate(.8deg)}
.pcard a:hover{transform:rotate(0) translateY(-4px);box-shadow:0 12px 24px rgba(60,40,10,.3);color:var(--ink)}
.pcard-img{display:block;aspect-ratio:3/5;overflow:hidden;background:var(--paper-2)}
.pcard-img img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.pcard-name{font:700 16px var(--display);letter-spacing:.1em;text-transform:uppercase;margin-top:9px}
.pcard-plays{font:400 13px var(--type);color:var(--red)}
.pcard-bio{font-size:13px;line-height:1.45;margin:6px 0 8px;color:var(--soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.pcard-go{margin-top:auto;font:400 13px var(--type);text-decoration:underline;text-underline-offset:.2em}
@media (min-width:640px){.cards{--g:18px}.pcard{flex-basis:calc((100% - 2 * var(--g)) / 3)}}
@media (min-width:800px){.cards{--g:16px}.pcard{flex-basis:calc((100% - 4 * var(--g)) / 5)}}

/* ---------- the world (night) ---------- */
.night{background:var(--night);background-image:radial-gradient(ellipse at 20% 0,rgba(245,185,74,.08),transparent 55%),var(--grain);background-blend-mode:normal,soft-light;color:var(--cream)}
.night .eyebrow{color:var(--amber)}
.night .h2{text-decoration-color:var(--red)}
.night .h3{color:var(--amber)}
.night a{color:var(--amber)}
.dispatch{display:grid;gap:26px;align-items:center;margin:46px 0}
.dispatch-text{max-width:32em}
.dispatch-text p{margin:0 0 1em}
.typed-lead{font:400 clamp(22px,4vw,30px)/1.3 var(--type)!important;color:var(--amber)}
.print{margin:0;background:var(--card);color:var(--ink);padding:10px 10px 12px;box-shadow:0 14px 30px rgba(0,0,0,.5);transform:rotate(-.7deg)}
.print img{display:block;width:100%;height:auto}
.print figcaption{padding:10px 4px 0;font:400 13.5px/1.45 var(--type);color:var(--soft)}
.print-credit{display:block;margin-top:2px;font-size:12px;opacity:.8}
.dispatch.flip>.print{transform:rotate(.7deg)}
.trad-h{margin:1.6em 0 .5em;font:700 14px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
@media (min-width:900px){.dispatch{grid-template-columns:1fr 1fr;gap:56px}.dispatch.flip .dispatch-text{order:2}}

/* ---------- support ---------- */
.ask{max-width:640px;margin:0 0 34px}
.ration{max-width:940px;margin:34px auto;background:#c9a15a;border-radius:8px;box-shadow:0 14px 30px rgba(60,40,10,.4);overflow:hidden;display:grid}
.ration-cover{padding:26px 22px;text-align:center;background:linear-gradient(#d9b46e,#c39a52);border-bottom:3px double #6b4a1e;color:#3d2a0e}
.ration-cover h3{font:700 clamp(30px,7vw,44px)/1.05 var(--display);letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;margin:.15em 0}
.ration-cover h3 span{display:inline-block}
.ration-kicker{font:400 14px/1.35 var(--type);letter-spacing:.12em;text-indent:.12em;text-transform:uppercase;margin:0 0 .3em;text-wrap:balance}
.ration-sub{font:400 16px/1.35 var(--type);margin:.4em 0 0;text-wrap:balance}
.ration-page{padding:22px 18px 24px;background:#f6ebc9 repeating-linear-gradient(#f6ebc9 0 27px,rgba(107,74,30,.1) 27px 28px)}
.ration-count{font:400 16px/1.4 var(--type);margin:0 0 14px}.ration-count strong{color:var(--red-d)}.ration-count span{color:var(--soft)}
.coupons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.coupon{position:relative;aspect-ratio:4/3;background:#fbf2d6;border:2px dashed #8a6a34;border-radius:3px;font:400 clamp(11px,2.6vw,15px) var(--type);display:grid}
.coupon a,.coupon>.coupon-val{position:absolute;inset:0;display:grid;place-items:center;text-decoration:none;color:var(--ink);align-content:center}
.coupon a:hover{background:rgba(168,50,39,.1)}
.coupon-cta{position:absolute;bottom:3px;left:0;right:0;text-align:center;font:400 9px var(--type);letter-spacing:.14em;text-transform:uppercase;color:var(--red);opacity:0;transition:opacity .15s}
.coupon a:hover .coupon-cta,.coupon a:focus-visible .coupon-cta{opacity:1}
.coupon.is-stamped{background:#eddfb6;border-style:solid;border-color:#b79a5e}
.coupon.is-stamped .coupon-val{color:rgba(35,27,19,.45);text-decoration:line-through;text-decoration-color:rgba(168,50,39,.7)}
.stamp{position:absolute;inset:12% 16%;display:grid;place-items:center;text-align:center;border:2px solid var(--red);border-radius:50%;color:var(--red);font:700 7.5px/1.15 var(--display);letter-spacing:.1em;text-transform:uppercase;transform:rotate(var(--rot,-6deg));opacity:.85;mix-blend-mode:multiply}
.ration-note{font:400 14px var(--type);color:var(--soft);margin:14px 0 0}
@media (min-width:700px){.coupons{grid-template-columns:repeat(9,1fr)}.ration{grid-template-columns:260px 1fr}.ration-cover{border-bottom:0;border-right:3px double #6b4a1e;display:grid;align-content:center;padding:26px 16px}.ration-cover h3{font-size:clamp(32px,3.6vw,40px);letter-spacing:.1em;text-indent:.1em}.ration-cover h3 span{display:block}}

.ways{margin:52px 0}
.ways ol{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.ways li{background:var(--card);padding:18px;border:2px solid var(--ink);display:grid;gap:10px;align-content:start}
.ways li>span:not(.btn){font:400 14px var(--type);color:var(--soft)}
.ways address{font:400 14px/1.6 var(--type);font-style:normal}
@media (min-width:800px){.ways ol{grid-template-columns:repeat(3,1fr)}}
.fair{display:grid;gap:32px;margin:48px 0}
@media (min-width:900px){.fair{grid-template-columns:1fr 1.1fr;gap:56px}}
.budget ul{list-style:none;margin:0;padding:0}
.budget li{margin:0 0 16px}
.budget-row{display:flex;justify-content:space-between;gap:12px;font:400 15px/1.3 var(--type)}
.budget-amt em{font-style:normal;color:var(--soft);margin-left:.4em}
.budget-bar{height:10px;background:rgba(35,27,19,.12);border-radius:5px;overflow:hidden;margin:6px 0 4px}
.budget-bar i{display:block;height:100%;background:var(--red)}
.budget-detail{margin:0;font-size:14px;color:var(--soft)}
.budget-total{display:flex;justify-content:space-between;border-top:2px solid var(--ink);padding-top:10px;font:700 16px var(--display);letter-spacing:.12em;text-transform:uppercase}

.sponsor-h{margin-top:56px}
.sponsor-lead{max-width:36em}
.sponsor-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:18px}
.sponsor-item{background:var(--card);border-top:5px solid var(--red);padding:16px;box-shadow:0 6px 16px rgba(60,40,10,.22);display:flex;flex-direction:column;gap:12px}
.sponsor-who{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.sponsor-who b{font:700 19px var(--display);letter-spacing:.1em;text-transform:uppercase}
.sponsor-who i{font:400 14px var(--type);color:var(--red);display:block;grid-column:2}
.sponsor-thumb{flex:0 0 68px;width:68px;height:68px;border-radius:50%;overflow:hidden;background:var(--paper-2);border:2px solid var(--ink)}
.sponsor-thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
.sponsor-who{display:grid;grid-template-columns:68px 1fr;column-gap:12px;align-items:center}.sponsor-thumb{grid-row:span 2}
.sponsor-supplies{list-style:none;margin:0;padding:0;font:400 14px/1.4 var(--type);flex:1}
.sponsor-supplies li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed rgba(35,27,19,.25)}
.sponsor-supplies em{font-style:normal;white-space:nowrap}
@media (min-width:700px){.sponsor-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sponsor-list{grid-template-columns:repeat(3,1fr)}}

/* ---------- company ---------- */
.team{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.team li{background:var(--card);padding:14px 16px;border-left:5px solid var(--red)}
.team b{display:block;font:700 17px var(--display);letter-spacing:.08em;text-transform:uppercase}
.team span{font:400 14px var(--type);color:var(--soft)}
@media (min-width:800px){.team{grid-template-columns:repeat(5,1fr)}}
.timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:3px solid var(--ink)}
.timeline li{position:relative;padding:0 0 18px 14px}
.timeline li::before{content:"";position:absolute;left:-31px;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--ink)}
.timeline li.done::before{background:var(--ink)}
.timeline li.next::before{border-color:var(--red)}
.timeline time{display:block;font:700 13px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.timeline li.done time{color:var(--soft)}
.faq{margin-top:48px;max-width:760px}
.faq details{background:var(--card);border:2px solid var(--ink);margin:0 0 10px}
.faq summary{cursor:pointer;padding:14px 16px;font:400 16px/1.4 var(--type);min-height:48px;list-style-position:inside}
.faq details p{margin:0;padding:0 16px 16px}

/* ---------- character pages ---------- */
.char{padding-top:32px}
.char-grid{display:grid;gap:28px}
.crumbs{font:400 14px var(--type);color:var(--soft)}
.char-fig{max-width:440px;margin-inline:auto;width:100%}
.char-body .scrap{font-size:16px}
.supplies{margin-top:28px;background:var(--card);border:2px solid var(--ink);padding:20px;box-shadow:6px 6px 0 rgba(35,27,19,.85)}
.supplies ul{list-style:none;margin:0 0 16px;padding:0;font:400 16px/1.4 var(--type)}
.supplies li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(35,27,19,.3)}
.supplies li.full{border:0;font-weight:700;padding-top:12px}.supplies em{font-style:normal}
.supplies mark{background:var(--hi);padding:1px 6px}
.fine{font:400 13px var(--type);color:var(--soft);margin:14px 0 0}
.pager{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
@media (min-width:900px){.char-grid{grid-template-columns:420px 1fr;gap:16px 60px}.crumbs,.pager{grid-column:1/-1}.char-fig{align-self:start;margin:0}}

/* ---------- footer ---------- */
.foot{background:#0d0f14;color:#cdb489;padding:44px 0 36px;font-size:15px}
.foot a{color:var(--amber)}
.foot-grid{display:grid;gap:26px}
.foot-title{font:700 14px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin:0 0 .5em}
.foot p{margin:.2em 0}
.foot-credits{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(205,180,137,.25);font:400 13px/1.5 var(--type)}
.foot-credits p{margin:0}
.foot .credit{font-size:12px;opacity:.7;margin-top:1em}
@media (min-width:800px){.foot-grid{grid-template-columns:1fr 1fr 1.3fr;gap:48px}}
.lost{min-height:100svh;display:grid;place-content:center;text-align:center;gap:8px;background:var(--night);color:var(--cream);font-family:var(--type)}
.lost h1{font:700 44px var(--display);text-transform:uppercase;letter-spacing:.1em;margin:0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}

/* ---------- news & updates ---------- */
.news-slot{margin-top:8px}
.bulletin{position:relative;background:var(--card);border:2px solid var(--ink);padding:20px 22px 18px;margin:0 0 22px;box-shadow:5px 5px 0 rgba(35,27,19,.85)}
.bulletin:nth-child(even){transform:rotate(.25deg)}
.bulletin-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;font:400 14px var(--type);color:var(--soft)}
.bulletin-tag{display:inline-block;padding:2px 10px;border:2px solid currentColor;font:700 12px/1.4 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--red);transform:rotate(-2deg)}
.bulletin-funding{color:var(--red)}.bulletin-cast{color:#1b4a7a}.bulletin-press{color:#1d1a16}.bulletin-production{color:#6a4a10}.bulletin-music{color:#4a2a6a}.bulletin-general{color:#3d5a2a}
.bulletin-title{font:700 clamp(20px,3.2vw,26px)/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .6em}
.bulletin-title a{color:var(--ink);text-decoration:none}.bulletin-title a:hover{color:var(--red)}
.bulletin-body{font:400 16px/1.6 var(--type)}.bulletin-body p{margin:0 0 .9em}.bulletin-body ul{margin:0 0 .9em;padding-left:1.3em}.bulletin-body h4{font:700 15px var(--display);letter-spacing:.12em;text-transform:uppercase;margin:1em 0 .4em}
.bulletin-body a{color:var(--red-d)}
.bulletin-more{margin:0!important;font:400 15px var(--type)}
.news-empty{font:400 16px var(--type);color:var(--soft)}
.news-all{margin:26px 0 0}.news-back{font:400 15px var(--type);margin-top:28px}
.news-page{padding-top:40px}
.news-page .h1{margin-bottom:.4em}

/* ---------- contact ---------- */
.contact-lead{max-width:36em}
.contact{margin-top:18px}
.cf-grid{display:grid;gap:0 20px}@media (min-width:700px){.cf-grid{grid-template-columns:1fr 1fr}}
.cf-field{margin:0 0 16px}
.cf-field label{display:block;font:700 13px var(--display);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;font:400 17px/1.4 var(--body);padding:11px 13px;border:2px solid var(--ink);background:#fffdf5;color:var(--ink);border-radius:0}
.cf-field textarea{font:400 16px/1.55 var(--type);resize:vertical;min-height:140px}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:8px 0 0}
.cf-status{font:400 15px var(--type);color:var(--red-d)}.cf-status.ok{color:#1f5b2a}
