/* Abendrot poster palette — sampled from 1000002619.jpg (1536 × 1536).
 * Purple sky: #BA4589, sample pixel (655,167), region (230,46)-(845,276).
 * Orange-red sky: #EB5E29, pixel (902,716), region (614,699)-(1014,760).
 * Yellow sunlight: #F6BE45, pixel (452,609), region (384,584)-(507,660).
 * Each sample is the real pixel nearest its region's median RGB.
 * Companion shades/tints keep text readable; layout, copy and interactions are unchanged.
 */
:root{--purple:#ba4589;--purple-shade:#5d2345;--orange-red:#eb5e29;--sunlight:#f6be45;--ink:#4a1b37;--ink-deep:#2f1122;--paper:#fff5e1;--gold:var(--sunlight);--muted:#efd0e1;--orange:var(--orange-red);--line:rgba(246,190,69,.24);--serif:Georgia,'Noto Serif TC','PMingLiU',serif;--sans:'Microsoft JhengHei','PingFang TC',system-ui,sans-serif;color-scheme:dark;font-size:18px}
*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--ink-deep);color:var(--paper);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none;touch-action:manipulation}img{display:block;max-width:100%;height:auto}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--gold);color:var(--ink)}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:16px;z-index:100;padding:8px 16px;background:var(--paper);color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}.section-space{padding-block:84px}h2{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.5;letter-spacing:.03em;text-wrap:balance}h3{font-size:1.25rem;line-height:1.5}.section-kicker,.eyebrow{font-size:.72rem;letter-spacing:.16em;color:var(--gold)}.section-kicker{margin-bottom:14px}.section-light{color:var(--ink);background:var(--paper);color-scheme:light}.section-light .section-kicker{color:#78294e}.section-dark{background:linear-gradient(145deg,var(--purple-shade),var(--ink-deep))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.section-heading>p{font-size:.85rem;color:var(--muted)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(47,17,34,.97);border-bottom:1px solid var(--line)}.header-inner{height:64px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{font-family:var(--serif);font-size:2rem;line-height:1;letter-spacing:-.1em;color:var(--gold)}.brand-mark sup{font:9px var(--sans);letter-spacing:0;margin-left:3px;vertical-align:top}.brand-name{font-size:.76rem;letter-spacing:.1em;line-height:1.5}.brand-name small{display:block;font-size:7px;letter-spacing:.19em;color:var(--gold);margin-top:2px}.desktop-nav{display:flex;gap:26px;font-size:.79rem;margin-left:auto}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.subtle-link:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:42px;min-height:54px;padding:12px 26px;background:var(--gold);color:var(--ink-deep);border:1px solid var(--gold);border-radius:3px;font-size:1rem;font-weight:700;line-height:1.5}.button:hover{background:#f9d88f;border-color:#f9d88f}.button-small{min-height:40px;font-size:.8rem;padding:8px 16px;gap:20px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(47,17,34,.92) 0%,rgba(47,17,34,.76) 39%,rgba(47,17,34,.16) 69%,transparent 100%),linear-gradient(160deg,var(--purple) 0%,var(--purple) 30%,var(--orange-red) 72%,var(--sunlight) 100%)}.hero::after{content:'';position:absolute;z-index:-1;width:900px;height:900px;border:1px solid rgba(246,190,69,.3);border-radius:50%;right:-230px;top:-130px;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7%;padding-block:52px}.hero-copy{min-width:0}.hero .eyebrow{font-size:.82rem;letter-spacing:.09em;margin-bottom:16px}h1{font-family:var(--serif);font-size:clamp(3.1rem,5.6vw,4.5rem);font-weight:400;line-height:1.15;letter-spacing:.08em}h1>span{display:block;color:var(--gold);font-size:.48em;line-height:1.3;letter-spacing:.01em;font-style:italic;margin-top:8px}.hero-essential{margin-top:30px}.hero-date{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1.65rem;font-weight:650;line-height:1.4}.hero-date>span:not(.free-label){font-size:.68em;font-weight:400}.free-label{display:inline-block;border:1px solid currentColor;border-radius:100px;padding:4px 12px;font-size:.76rem;font-weight:600;line-height:1.4;color:var(--gold);white-space:nowrap}.hero-date .free-label{margin-left:8px}.hero-time{font-size:1.12rem;margin-top:15px;line-height:1.6}.hero-time>span{margin-inline:4px;color:var(--muted)}.hero-place{font-size:1rem;line-height:1.7;margin-top:18px}.hero-place strong{font-weight:600}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:24px}.subtle-link{font-size:.84rem;white-space:nowrap}.hero-lineup{font-size:.78rem;color:var(--muted);margin-top:20px}.hero-lineup strong{color:var(--paper);font-weight:500}.hero-lineup>span{margin-left:16px}.hero-poster{max-width:376px;justify-self:end;width:100%;padding:10px;border:1px solid #f6be45;background:rgba(47,17,34,.24);box-shadow:0 24px 60px #2f112240}.poster-link{display:block}.poster-link img{width:100%;aspect-ratio:950/1188;object-fit:contain}.hero-poster figcaption{display:flex;justify-content:space-between;gap:12px;font-size:.62rem;line-height:1.5;color:var(--gold);padding-top:12px}.hero-poster figcaption span{font-size:.48rem;letter-spacing:.12em;padding-top:3px}
.intro{background:linear-gradient(110deg,#fbe8b5,var(--sunlight));padding-block:58px;text-align:center;border-bottom:1px solid #d69859}.intro-inner{max-width:850px}.intro h2 span{display:inline-block}.intro-world{font-size:1rem;margin:22px 0 12px}.intro p:not(.section-kicker):not(.fiction-note){line-height:1.95}.fiction-note{font-size:.72rem;color:#d8aec4;margin-top:18px}.section-light .fiction-note{color:#765333}.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.guest-card{min-width:0}.guest-card>.poster-link{background:#4a1b37;border:1px solid var(--line);padding:7px;max-width:320px}.guest-copy{padding-top:22px}.role{color:var(--gold);font-size:.72rem;letter-spacing:.08em;margin-bottom:8px}.guest-copy h3{font-size:1.55rem;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-family:var(--serif);font-weight:400}.guest-copy h3 span{font-family:var(--sans);color:var(--muted);font-size:.73rem}.guest-copy>p:last-child{margin-top:14px;color:#f7e4ee;font-size:.92rem;line-height:1.85}.club-lineup{border-top:1px solid var(--line);padding-top:34px;margin-top:48px}.club-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}.club-heading h3{font-size:1.1rem;font-weight:500}.club-heading p{font-size:.78rem;color:var(--muted)}.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.member-card .poster-link{max-width:180px;margin:auto}.member-card h4{text-align:center;font-size:.97rem;font-weight:500;margin-top:12px}
.information{background:linear-gradient(120deg,#fff5e1,#ffe7c0)}.information .free-label{color:#78294e}.info-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}.event-name{font-size:1.12rem;line-height:1.7;font-weight:600;margin-bottom:22px}.event-details{margin:0}.event-details>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding-block:15px;border-top:1px solid #dfad7d}.event-details dt{font-size:.84rem;color:#71365b;padding-top:2px}.event-details dd{margin:0;font-size:1rem}.event-details dd>span,.event-details dd>strong{display:block}.event-details dd>span{font-size:.9rem}.event-details dd>strong{font-weight:600}.info-actions{margin-top:26px}.info-actions .button{background:var(--ink);border-color:var(--ink);color:var(--paper)}.info-actions .button:hover{background:#762b59}.info-actions>p{font-size:.75rem;color:#71365b;margin-top:12px}.arrival-card{background:#ffe1a0;border:1px solid #e9b653;padding:28px;border-radius:4px;align-self:start}.arrival-card h3{font-family:var(--serif);font-weight:400}.arrival-card ol{margin:24px 0 20px;padding-left:24px;font-size:.88rem}.arrival-card li+li{margin-top:18px}.arrival-card li::marker{color:#923b22}.arrival-card li strong{font-weight:600}.arrival-card li p{margin-top:4px;color:#64324e}.transport-links{display:flex;flex-wrap:wrap;gap:12px 26px;border-top:1px solid #d9a35a;padding-top:18px;font-size:.84rem}.transport-links a,.terms-note a{text-decoration:underline;text-underline-offset:4px}.terms-note{font-size:.75rem;color:#71365b;margin-top:20px}
.world-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.world-art{max-width:330px;position:relative;width:100%;padding:24px 34px 20px;justify-self:center}.world-arch{position:relative;aspect-ratio:1/.95;border:1px solid #f6be45;border-radius:50% 50% 0 0;background:linear-gradient(#ba4589,#eb5e29);overflow:hidden}.world-arch::after{content:'';position:absolute;inset:12px;border:1px solid #f6be45;border-radius:50% 50% 0 0}.world-sun{position:absolute;inset:22% 26% auto;width:48%;aspect-ratio:1;border-radius:50%;background:linear-gradient(#eb5e29,#f9d88f)}.world-horizon{position:absolute;inset:66% 0 0;background:repeating-linear-gradient(to bottom,transparent 0 10px,#f6be4559 10px 11px),linear-gradient(#923b22,#4a1b37)}.world-edition{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--serif);color:var(--gold);font-size:4.5rem;line-height:1.2;z-index:1;letter-spacing:-.05em}.world-caption{display:block;text-align:center;color:var(--gold);font-size:.55rem;letter-spacing:.18em;margin-top:20px}.world-copy>p:not(.section-kicker):not(.fiction-note){margin-top:20px;font-size:.94rem;line-height:1.95;color:#f7e4ee}.world-copy h2{max-width:20ch}
.sponsors{padding-block:84px;background:linear-gradient(130deg,#fff5e1,#fbe8b5);border-top:1px solid #dfad7d}.sponsors h2{font-size:1.85rem}.sponsors .sponsors-intro{color:#71365b;font-size:.9rem}.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.sponsor-card{min-width:0}.sponsor-card .poster-link{padding:7px;background:var(--ink);border:1px solid #eb5e29}.sponsor-card .poster-link:focus-visible{outline-color:var(--ink)}.sponsor-copy{padding:24px 3px 0}.sponsor-copy .section-kicker{font-size:.68rem;margin-bottom:9px}.sponsor-copy h3{font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.5}.sponsor-english{font-size:.78rem;color:#71365b;margin-top:4px}.sponsor-person{font-size:.93rem;font-weight:600;color:#78294e;margin-top:13px}.sponsor-bio{font-size:.92rem;line-height:1.9;margin-top:12px;color:#54243f}.sponsor-history{border-top:1px solid #d9a35a;padding-top:18px;margin-top:22px}.sponsor-history h4{font-size:.83rem;font-weight:600}.sponsor-credits{padding-left:20px;margin:10px 0 0;color:#64324e;font-size:.83rem;line-height:1.85}.sponsor-credits li+li{margin-top:6px}.closing{padding-block:68px;text-align:center;background:linear-gradient(90deg,rgba(47,17,34,.68),rgba(47,17,34,.45),rgba(47,17,34,.68)),linear-gradient(165deg,var(--purple) 0%,var(--purple-shade) 45%,var(--orange-red) 100%)}.closing h2 span{display:inline-block}.closing-date{font-family:var(--serif);font-size:2.4rem;color:var(--gold);margin:22px 0 4px;line-height:1.3}.closing-free{color:var(--gold);font-size:.95rem;margin-top:6px}.closing .button{margin-top:24px;min-width:220px}.site-footer{background:#250d1b;border-top:1px solid var(--line);padding-block:25px}.footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:18px 30px;font-size:.72rem;color:var(--muted)}.footer-brand{color:var(--paper)}.footer-brand span{display:block;font-size:.5rem;letter-spacing:.12em;margin-top:2px}.footer-inner nav{display:flex;gap:20px;margin-left:auto}.footer-inner>p{font-size:.65rem}
@media(min-width:1600px){.hero-inner{padding-block:64px;min-height:700px}.hero-poster{max-width:410px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.desktop-nav{display:none}.header-inner>.button{margin-left:auto}.hero-inner{gap:36px;grid-template-columns:1.15fr .85fr}.hero-date{font-size:1.45rem}.hero-actions{gap:18px}.hero-actions>.subtle-link{font-size:.76rem}.guest-grid{gap:22px}.info-layout{gap:32px}.world-layout{gap:6%}}
@media(max-width:760px){:root{font-size:17px}.hero{background:linear-gradient(180deg,rgba(47,17,34,.78) 0%,rgba(47,17,34,.72) 42%,rgba(47,17,34,.18) 72%,transparent 100%),linear-gradient(160deg,var(--purple) 0%,var(--purple) 35%,var(--orange-red) 77%,var(--sunlight) 100%)}.wrap{width:calc(100% - 40px)}html{scroll-padding-top:72px}.header-inner{height:56px;gap:10px}.brand-mark{font-size:1.8rem}.brand-name{font-size:.7rem}.brand-name small{font-size:6px}.button-small{font-size:.78rem;min-height:38px;padding:7px 12px;gap:14px}.hero-inner{grid-template-columns:1fr;padding-block:30px 36px;gap:30px}.hero .eyebrow{font-size:.77rem;margin-bottom:12px;letter-spacing:.06em}h1{font-size:3.35rem;letter-spacing:.055em}h1>span{font-size:.48em;margin-top:4px}.hero-essential{margin-top:22px}.hero-date{font-size:1.5rem;gap:5px}.hero-date .free-label{font-size:.72rem;margin-left:5px;padding:4px 9px}.hero-time{font-size:1.1rem;margin-top:11px}.hero-place{font-size:1rem;margin-top:14px}.hero-actions{margin-top:20px;gap:16px;flex-wrap:wrap}.hero-actions>.button{flex:1;min-height:50px}.hero-actions>.subtle-link{font-size:.8rem}.hero-lineup{font-size:.75rem;margin-top:14px}.hero-lineup>span{margin-left:10px}.hero-poster{width:100%;max-width:340px;justify-self:center;padding:8px}.hero-poster figcaption{font-size:.63rem}.intro{padding-block:38px}.intro-world{font-size:.96rem;margin-top:19px}.intro p:not(.section-kicker):not(.fiction-note){font-size:.95rem}.intro h2{font-size:1.5rem}.desktop-break{display:none}.section-space{padding-block:48px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:10px}.section-heading>.free-label{margin-top:16px}h2{font-size:1.55rem}.guest-grid{grid-template-columns:1fr;gap:30px}.guest-card{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:18px;align-items:start}.guest-card>.poster-link{padding:4px}.guest-copy{padding-top:0}.role{font-size:.69rem;margin-bottom:6px}.guest-copy h3{font-size:1.4rem;display:block}.guest-copy h3 span{display:block;font-size:.7rem;margin-top:2px}.guest-copy>p:last-child{font-size:.91rem;margin-top:10px;line-height:1.8}.club-lineup{margin-top:34px;padding-top:26px}.club-heading{display:block;margin-bottom:20px}.club-heading p{margin-top:7px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.member-card .poster-link{max-width:190px}.member-card h4{margin-top:8px}.info-layout{grid-template-columns:1fr;gap:32px}.event-name{font-size:1.08rem}.event-details>div{grid-template-columns:74px 1fr;gap:10px;padding-block:13px}.event-details dd{font-size:.98rem}.info-actions .button{width:100%}.arrival-card{padding:22px}.world-layout{grid-template-columns:1fr;gap:22px}.world-art{max-width:230px;padding:4px 30px}.world-edition{font-size:3.1rem}.world-caption{margin-top:12px}.world-copy{order:-1}.world-copy h2 br{display:none}.world-copy>p:not(.section-kicker):not(.fiction-note){font-size:.95rem;margin-top:16px}.sponsors{padding-block:48px}.sponsors h2{font-size:1.55rem}.sponsors .sponsors-intro{font-size:.9rem;margin-top:10px}.sponsor-grid{grid-template-columns:1fr;gap:44px}.sponsor-card{width:100%;max-width:460px;margin-inline:auto}.sponsor-copy{padding:20px 2px 0}.sponsor-copy h3{font-size:1.3rem}.sponsor-bio{font-size:1rem}.sponsor-credits{font-size:.9rem}.sponsor-history{margin-top:18px}.closing{padding-block:48px}.closing-date{font-size:2.2rem}.footer-inner{display:block;text-align:center}.footer-inner nav{justify-content:center;gap:20px;flex-wrap:wrap;margin:16px 0}.footer-inner>p{margin-top:14px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero .eyebrow{font-size:.73rem}h1{font-size:3rem}.hero-date{font-size:1.36rem}.hero-actions>.button{width:100%;flex:auto}.hero-actions>.subtle-link{display:none}.hero-lineup>span{display:block;margin-left:0}.guest-card{gap:14px;grid-template-columns:105px minmax(0,1fr)}.hero-place{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}


.door-stage{width:22.125rem;height:28.25rem;position:relative;margin:1.5rem auto 0;perspective:81.25rem;isolation:isolate}.door-glow,.door-world,.door-panel,.door-seam{pointer-events:none}.door-glow{position:absolute;inset:-12% -45%;background:radial-gradient(ellipse,rgba(246,190,69,.24),transparent 64%);filter:blur(0.875rem);opacity:.65;transition:opacity 1.5s}.door-frame{position:absolute;inset:0;border:0.0625rem solid #f6be45;border-radius:11.25rem 11.25rem 0 0;box-shadow:0 0 0 0.4375rem #943b1a,0 0 0 0.5rem #eb5e29,0 0 0 0.9375rem #943b1a,0 0 0 1rem #bd7228,0 1.25rem 4.375rem #2f1122;perspective:68.75rem;transform-style:preserve-3d}.door-world{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:linear-gradient(#ba4589 0,#eb5e29 36%,#f6be45 58%,#bb4b21 59%,#762f15 100%)}.door-world .world-sun{position:absolute;left:50%;top:19%;width:11.25rem;height:11.25rem;border-radius:50%;background:#fff1c8;transform:translateX(-50%);box-shadow:0 0 4.0625rem #f6be45}.door-world .world-horizon{position:absolute;top:58%;left:-40%;width:180%;height:70%;transform:perspective(18.75rem) rotateX(40deg);transform-origin:top;background:repeating-linear-gradient(0deg,transparent 0 1.5625rem,rgba(246,190,69,.2) 1.625rem 1.6875rem),repeating-linear-gradient(90deg,transparent 0 3.4375rem,rgba(246,190,69,.16) 3.5rem 3.5625rem)}.door-world .world-star{position:absolute;color:#fff5e1;font-size:1.1875rem}.door-world .star-one{top:15%;left:21%}.door-world .star-two{top:35%;right:13%;font-size:0.75rem}.door-panel{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(92deg,#762f15,#eb5e29 25%,#bc4b21 76%,#702c14);border:0.0625rem solid #f6be45;transition:transform 1.65s cubic-bezier(.25,.6,.2,1),filter 1.5s;backface-visibility:hidden;transform-style:preserve-3d;z-index:3;overflow:hidden}.door-left{left:0;border-radius:11.25rem 0 0 0;transform-origin:left center}.door-right{right:0;border-radius:0 11.25rem 0 0;transform-origin:right center;background:linear-gradient(268deg,#762f15,#eb5e29 25%,#bc4b21 76%,#702c14)}.panel-top{position:absolute;top:0.9375rem;left:0.8125rem;right:0.8125rem;height:59%;border:0.0625rem solid rgba(246,190,69,.65);box-shadow:inset 0 0 0 0.375rem #a4411d,inset 0 0 0 0.4375rem rgba(246,190,69,.21)}.door-left .panel-top{border-radius:10.625rem 0 0 0}.door-right .panel-top{border-radius:0 10.625rem 0 0}.panel-bottom{position:absolute;bottom:0.9375rem;left:0.8125rem;right:0.8125rem;height:28%;border:0.0625rem solid rgba(246,190,69,.65);box-shadow:inset 0 0 0 0.375rem #a4411d,inset 0 0 0 0.4375rem rgba(246,190,69,.21)}.door-emblem{position:absolute;top:40%;font-family:var(--serif);font-style:italic;font-size:2rem;color:#f6be45;opacity:1;left:44%}.door-right .door-emblem{left:26%;font-style:normal;font-size:1.6875rem;top:41%}.door-handle{position:absolute;top:58%;right:1.0625rem;width:0.3125rem;height:2.5625rem;background:linear-gradient(90deg,#a87c24,#f6be45,#a87c24);border-radius:0.3125rem;box-shadow:0.125rem 0.125rem 0.375rem #4a1b37}.door-right .door-handle{left:1.0625rem;right:auto}.door-seam{position:absolute;left:50%;top:5%;bottom:0;width:0.0625rem;background:#fff1c8;box-shadow:0 0 0.8125rem 0.125rem #f6be45;z-index:4;opacity:.7;transition:opacity .3s}.door-reveal{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:0 1.125rem 2.875rem;background:linear-gradient(transparent 30%,rgba(47,17,34,.72) 80%);border-radius:inherit;opacity:0;transition:opacity 1s .5s}.door-reveal .eyebrow{font-size:0.5rem;color:#fff5e1;letter-spacing:.15em}.reveal-title{font-family:var(--serif);font-size:1.875rem;line-height:1.55;letter-spacing:.12em;margin-top:0.75rem;text-shadow:0 0.125rem 0.9375rem #4a1b37}.reveal-link{font-size:0.8125rem;display:inline-flex;align-items:center;justify-content:space-between;gap:1.5625rem;min-height:3rem;min-width:11.875rem;max-width:100%;margin-top:1.3125rem;border:0.0625rem solid var(--gold);padding:0.875rem 1.25rem;background:var(--gold);color:var(--ink);letter-spacing:.1em;box-shadow:0 0.25rem 1.25rem rgba(0,0,0,.2);transition:background .2s,transform .2s}.reveal-link:hover{background:#f9d88f;transform:translateY(-0.125rem)}.reveal-link:active{transform:translateY(0)}.open-door{display:none;position:absolute;z-index:8;left:50%;top:74%;transform:translate(-50%,-50%);padding:0.9375rem 1.5rem 0.9375rem 1rem;width:13.125rem;border:0.0625rem solid #f6be45;background:#f6be45;color:var(--ink);align-items:center;gap:1.125rem;box-shadow:0 0.1875rem 1.875rem rgba(0,0,0,.25);transition:background .2s,opacity .4s,transform .4s}.js-ready .open-door{display:flex}.open-door:hover{background:#f9d88f;transform:translate(-50%,-53%)}.open-door small{display:block;font-size:0.5rem;letter-spacing:.18em;margin-top:0.3125rem}.open-door>span:last-child{font-size:0.875rem;letter-spacing:.15em;text-align:left}.open-icon{font-size:1.5rem;font-family:var(--serif)}.door-stage.is-open .door-left{transform:rotateY(-108deg);filter:brightness(.7)}.door-stage.is-open .door-right{transform:rotateY(108deg);filter:brightness(.7)}.door-stage.is-open .door-seam{opacity:0}.door-stage.is-open .open-door{opacity:0;pointer-events:none}.door-stage.is-open .door-glow{opacity:1}.door-stage.is-open .door-reveal{opacity:1}

/* Clip the opening scene without creating an internally scrollable focus container. */
.hero{overflow:clip}
/* Original door animation, with the official poster inside the hall. */
.door-space{min-width:0;width:100%;display:grid;place-items:center;padding:18px 0 24px;isolation:isolate}
.door-stage{width:min(354px,calc(100% - 36px));height:auto;aspect-ratio:354/528;margin:0;perspective:1300px}
.door-frame{border-radius:50% 50% 0 0 / 34% 34% 0 0;transition:border-color .8s,box-shadow .8s,border-radius .8s}
.door-left{border-radius:100% 0 0 0 / 34% 0 0 0}
.door-right{border-radius:0 100% 0 0 / 0 34% 0 0}
.door-panel{transition:transform 1.65s cubic-bezier(.25,.6,.2,1),filter 1.5s,opacity .3s}
.door-world{background:radial-gradient(ellipse at 50% 48%,#f6be45b3,transparent 58%),linear-gradient(var(--purple),var(--orange-red) 52%,var(--sunlight) 76%,#923b22);transition:border-radius .8s}
.hall-arch{position:absolute;inset:4% 6% 12%;border:2px solid #f6be4566;border-radius:50% 50% 0 0 / 36% 36% 0 0;box-shadow:inset 0 0 0 7px #2f112233,0 0 0 7px #f6be4522}
.hall-column{position:absolute;top:35%;bottom:11%;width:5%;background:linear-gradient(90deg,#923b22,#f6be45,#bc4b21);border-top:4px solid #f9d88f;border-bottom:6px solid #eb5e29}
.column-left{left:3%}.column-right{right:3%}
.hall-floor{position:absolute;inset:85% 0 0;background:repeating-linear-gradient(0deg,transparent 0 12px,#f6be4533 12px 13px),linear-gradient(#762f15,#2f1122)}
.door-reveal{padding:24px 22px 22px;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:14px;background:linear-gradient(#2f112210,#2f112260);opacity:1;transform:none;transition:opacity 1s .55s,transform 1.25s .55s}
.door-reveal[hidden],.open-door[hidden]{display:none!important}
.door-stage.is-ready:not(.is-open) .door-reveal{opacity:0;transform:translateY(12px) scale(.88)}
.door-stage.is-open .door-reveal{opacity:1;transform:none}
.reveal-poster{width:100%;height:100%;min-height:0;display:grid;place-items:center}
.reveal-poster .poster-link{display:flex;justify-content:center;align-items:center;max-width:100%;width:100%;height:100%;min-height:0}
.reveal-poster img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 16px #2f112270)}
.door-reveal .reveal-link{width:100%;min-width:0;max-width:100%;margin:0;min-height:50px;padding:12px 18px;font-size:1rem;line-height:1.5;letter-spacing:.04em;gap:30px;border-radius:3px}
.open-door{display:flex;cursor:pointer;font-family:var(--sans);top:73%;width:min(240px,calc(100% - 24px));min-height:58px;padding:12px 16px;gap:14px;justify-content:center;border-radius:3px}
.open-door>span:last-child{font-size:.92rem;letter-spacing:.06em}
.open-door small{font-size:.53rem}
.door-stage.is-entered .door-panel{visibility:hidden;opacity:0}
.door-stage.is-entered .door-frame{border-color:transparent;box-shadow:0 18px 48px #2f112240;border-radius:8px}
.door-stage.is-entered .door-world,.door-stage.is-entered .door-reveal{border-radius:8px}
.door-stage:not(.is-ready) .door-panel,.door-stage:not(.is-ready) .door-seam{display:none}
.door-stage:not(.is-ready) .door-frame{border-color:transparent;box-shadow:none}
@media(max-width:760px){.door-space{padding:12px 0 24px}.door-stage{width:min(320px,calc(100% - 32px))}.door-reveal{padding:20px 18px;gap:12px}.door-reveal .reveal-link{font-size:1rem}.door-emblem{font-size:1.8rem}.door-right .door-emblem{font-size:1.5rem}.panel-top{left:10px;right:10px}.panel-bottom{left:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.door-stage *{transition:none!important;animation:none!important}.door-stage.is-open .door-panel{visibility:hidden}.door-stage.is-open .door-reveal{opacity:1;transform:none}}

/* Review draft: reference colors only. No reference artwork is used as a background. */
:root {
  --ink: #513025;
  --ink-deep: #382017;
  --paper: #fff4dc;
  --gold: #dfac55;
  --muted: #795947;
  --line: rgba(136,85,40,.23);
  --plum-type: #7d315e;
  --rust-type: #94462b;
  color-scheme: light;
}
body { background: #fff4dc; color: var(--ink); }
.site-header { background: rgba(255,244,220,.97); border-bottom-color: #d9b97f; color: var(--ink); }
.brand-mark, .brand-name small { color: var(--plum-type); }
.desktop-nav a:hover, .subtle-link:hover { color: #9b392e; }
.button { background: #9d392c; border-color: #9d392c; color: #fff4dc; }
.button:hover { background: #7f2d28; border-color: #7f2d28; }
.hero {
  background: linear-gradient(180deg,var(--purple) 0%,#d97698 28%,#efa270 45%,var(--sunlight) 62%,var(--orange-red) 77%,#bc8040 100%);
  color: var(--ink);
}
.hero::after { display: none; }
.hero-inner { min-height: 780px; padding-block: 64px; grid-template-columns: 1.08fr .92fr; gap: 12%; }
.hero-copy {
  max-width: 520px;
  padding: 34px 36px 30px;
  background: rgba(255,244,220,.94);
  border: 1px solid rgba(255,244,220,.6);
  box-shadow: 0 12px 40px rgba(70,34,19,.16);
  border-radius: 3px;
}
.hero .eyebrow { color: #79503a; font-size: .74rem; }
h1 { color: var(--plum-type); font-size: clamp(3rem,4.7vw,3.85rem); letter-spacing: .04em; }
h1 > span { color: #9a5935; }
.hero-date { font-size: 1.42rem; }
.hero .free-label { color: #92422d; }
.hero-time { font-size: 1rem; }
.hero-place { font-size: .94rem; }
.hero-actions { gap: 18px; }
.hero-actions .button { min-height: 50px; padding-inline: 22px; gap: 20px; }
.hero-actions .subtle-link { font-size: .77rem; }
.hero-lineup { font-size: .7rem; color: #795947; }
.hero-lineup strong { color: #513025; }
.hero-lineup > span { margin-left: 8px; }
.door-space { align-self: center; padding: 18px 0 24px; }
.door-stage { width: min(306px,calc(100% - 36px)); }
.door-glow { background: radial-gradient(ellipse,rgba(255,224,140,.27),transparent 65%); }
.door-frame {
  border-color: #e9c07b;
  box-shadow: 0 0 0 7px #b37a35,0 0 0 8px #e8bd70,0 0 0 15px #9c672f,0 0 0 16px #d2a45e,0 16px 38px #542b2455;
}
.door-panel {
  background: linear-gradient(92deg,#8d572b,#bd8748 32%,#b17837 78%,#825022);
  border-color: #e7bd77;
}
.door-right { background: linear-gradient(268deg,#8d572b,#bd8748 32%,#b17837 78%,#825022); }
.door-panel::after { content: none; }
.panel-top, .panel-bottom { border-color: #e0b16b; box-shadow: inset 0 0 0 6px var(--door-panel-shadow),inset 0 0 0 7px var(--door-panel-line); }
.door-handle { background: linear-gradient(90deg,#97713b,#f2d097,#97713b); box-shadow: 2px 2px 6px var(--door-handle-shadow); }
.door-seam { background: #f5ddb0; box-shadow: 0 0 13px 2px var(--door-seam-glow); }
.open-door { background: #f8e9c5; border-color: #cb9a50; color: #513025; box-shadow: 0 5px 20px var(--door-button-shadow); min-height: 52px; font-weight: 600; }
.open-door:hover { background: #fff4dc; }
.door-world { background: linear-gradient(180deg,#bd6b92,#e9a363 50%,#ac773d); }
.door-reveal { background: linear-gradient(#5c321526,#5c321577); }
.hall-arch { border-color: #f4d29388; box-shadow: inset 0 0 0 7px #81512833,0 0 0 7px #f2ca7222; }
.hall-column { background: linear-gradient(90deg,#996732,#dab26b,#996732); border-top-color: #efcc8a; border-bottom-color: #c59755; }
.hall-floor { background: linear-gradient(#a57343,#583021); }
.reveal-link { background: #f8e9c5; color: #513025; border-color: #cb9a50; }
.reveal-link:hover { background: #fff4dc; border-color: #cb9a50; }
.intro { background: #f9e7bf; border-bottom-color: #e0c99f; }
.section-kicker, .section-light .section-kicker, .role { color: var(--rust-type); }
.section-light .fiction-note { color: #896f58; }
.section-light h2, .section-dark h2 { color: var(--plum-type); }
.section-dark { background: #f4e4e8; color: var(--ink); }
.section-heading > p, .club-heading p, .guest-copy h3 span { color: #765849; }
.guest-copy > p:last-child { color: #5d4235; }
.guest-card > .poster-link { background: #f9e7bf; border-color: #cca067; }
.club-lineup { border-top-color: #cda995; }
.information { background: #fff4dc; }
.information .free-label { color: #8b4a31; }
.event-details > div { border-top-color: #ddc59e; }
.event-details dt, .info-actions > p, .terms-note { color: #7c5b43; }
.info-actions .button { background: #9d392c; border-color: #9d392c; color: #fff4dc; }
.info-actions .button:hover { background: #7f2d28; border-color: #7f2d28; }
.arrival-card { background: #f6e5c1; border-color: #dec395; }
.arrival-card li p { color: #694d39; }
.arrival-card li::marker { color: #94462b; }
.transport-links { border-top-color: #d8bb88; }
.sponsors { background: #faeccc; border-top-color: #e4c899; }
.sponsors .sponsors-intro, .sponsor-english { color: #7c5b43; }
.sponsor-card .poster-link { background: #f5dca9; border-color: #b98a4c; }
.sponsor-person { color: #813b42; }
.sponsor-bio, .sponsor-credits { color: #624736; }
.sponsor-history { border-top-color: #d8bb88; }
.closing { background: #ead3ae; color: var(--ink); }
.closing-date { color: #80365e; }
.closing-free { color: #94462b; }
.site-footer { background: #eee0c9; border-top-color: #d8bb88; }
.footer-inner { color: #795947; }
.footer-brand { color: var(--ink); }
@media(min-width:1600px) { .hero-inner { min-height: 860px; } }
@media(max-width:1000px) {
  .hero-inner { gap: 7%; grid-template-columns: 1.1fr .9fr; }
  .hero-copy { padding: 28px 26px; }
  .hero-actions { flex-wrap: wrap; }
}
@media(max-width:760px) {
  .hero { background: linear-gradient(180deg,var(--purple) 0%,#d97698 28%,#efa270 45%,var(--sunlight) 62%,var(--orange-red) 77%,#bc8040 100%); }
  .hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 36px; padding-block: 30px 52px; }
  .hero-copy { padding: 24px 22px; max-width: 440px; width: 100%; margin-inline: auto; background: rgba(255,244,220,.94); }
  .hero .eyebrow { font-size: .73rem; }
  h1 { font-size: 3.15rem; }
  .hero-date { font-size: 1.3rem; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { padding-inline: 18px; }
  .hero-actions .subtle-link { font-size: .76rem; }
  .hero-lineup > span { display: block; margin-left: 0; margin-top: 4px; }
  .door-stage { width: min(278px,calc(100% - 32px)); }
  .door-space { padding: 0 0 14px; }
}
@media(max-width:370px) {
  .hero-copy { padding: 22px 18px; }
  h1 { font-size: 2.75rem; }
  .hero-date { font-size: 1.18rem; }
  .hero .free-label { font-size: .68rem; }
}


/* Official transparent wordmark, replacing the typeset event title. */
.event-wordmark { background: var(--purple); padding: 20px 12px; border-radius: 2px; line-height: 0; }
.event-wordmark picture, .event-wordmark img { display: block; width: 100%; }
.event-wordmark img { height: auto; }


/* Keep the light preview legible without a card behind its content. */
.hero { color: #321a22; }
.hero .eyebrow { color: #fffef8; }
.hero-lineup, .hero-lineup strong, .hero-time > span { color: #321a22; }
.hero .free-label { color: #57252b; }
.event-wordmark { filter: drop-shadow(0 2px 6px rgba(83,32,60,.2)); }

/* A quieter first screen: wordmark, event details, then one registration action. */
.hero-refined .header-registration {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.hero-refined .header-registration.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.hero-refined .hero-essential {
  display: grid;
  gap: .5rem;
  margin-top: 1.75rem;
}
.hero-refined .hero-date {
  font-size: 1.4rem;
  font-weight: 600;
  gap: .3rem;
}
.hero-refined .hero-date > span {
  font-size: inherit;
  font-weight: inherit;
}
.hero-refined .hero-time,
.hero-refined .hero-place {
  margin-top: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}
.hero-refined .hero-actions {
  margin-top: 1.5rem;
}
.hero-refined .hero-actions > .button {
  min-width: 12rem;
}
@media (max-width: 760px) {
  .hero-refined .hero-inner {
    padding-block: 40px 52px;
    row-gap: 64px;
  }
  .hero-refined .hero-date { font-size: 1.3rem; }
  .hero-refined .hero-actions > .button {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 370px) {
  .hero-refined .hero-date { font-size: 1.18rem; }
}

/* Shared review changes: concise labels and fewer frames in both previews. */
.brand { display: block; flex-shrink: 1; min-width: 0; line-height: 1.4; letter-spacing: .04em; }
.brand-title { display: block; font-size: .64rem; font-weight: 400; }
.brand-subtitle { display: block; font-size: .94rem; font-weight: 600; margin-top: 2px; white-space: nowrap; }
.brand-subtitle > span { margin-left: .5em; }
.header-inner { min-height: 64px; }
.header-inner > .button { flex-shrink: 0; }
.section-number { font-family: var(--sans); font-size: .65em; letter-spacing: .06em; margin-right: .35em; white-space: nowrap; opacity: .8; }
.section-heading > div { min-width: 0; }
.hero::after { display: none; }
.hero-copy { padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.event-wordmark { padding: 0; background: transparent; border: 0; border-radius: 0; }
.door-glow, .door-world { display: none; }
.door-frame { box-shadow: 0 12px 26px rgba(47,17,34,.15); }
.door-reveal { background: transparent; }
.door-stage.is-entered .door-frame { box-shadow: none; background: transparent; }
.reveal-poster img { filter: none; }
.guest-card > .poster-link, .sponsor-card .poster-link { padding: 0; border: 0; background: transparent; }
.arrival-card { padding: 0; border: 0; border-radius: 0; background: transparent; }
.sponsor-copy { padding-inline: 0; }
@media(max-width:760px) {
  .header-inner { height: 64px; gap: 10px; }
  .brand-title { font-size: .62rem; }
  .brand-subtitle { font-size: .88rem; }
  .hero-copy { max-width: 520px; }
  .section-heading h2 { font-size: 1.4rem; }
  .section-number { margin-right: .15em; }
}
@media(max-width:370px) {
  .brand-title { font-size: .6rem; }
  .brand-subtitle { font-size: .8rem; }
  .header-inner > .button { padding-inline: 10px; gap: 8px; }
}

/* Both previews share a quiet, solid backdrop for posters and their copy. */
.lineup, .sponsors {
  background: #fff4dc;
  color: #4a1b37;
  color-scheme: light;
}
.lineup h2, .lineup h3, .lineup h4,
.sponsors h2, .sponsor-copy h3, .sponsor-history h4 { color: #4a1b37; }
.lineup .role, .guest-copy h3 span, .club-heading p,
.sponsor-english, .sponsor-person { color: #71365b; }
.guest-copy > p:last-child, .sponsor-bio, .sponsor-credits { color: #54243f; }
.sponsors, .club-lineup, .sponsor-history { border-top-color: #dec5a2; }
.lineup .poster-link:focus-visible,
.sponsor-card .poster-link:focus-visible { outline-color: #4a1b37; }

/* Free admission is informational text, not a button. */
.hero-date .free-label { border: 0; border-radius: 0; padding: 0; font-size: .68em; font-weight: 400; }

/* Both versions use this one layout. Theme files may change colors only. */
:root {
  --door-panel-shadow: #aa743d;
  --door-panel-line: #d5a96466;
  --door-handle-shadow: #754822;
  --door-seam-glow: #efbc5666;
  --door-button-shadow: #542b2433;
}

/* Keep the whole date line visually equal, including weekday and free admission. */
.hero-refined .hero-date {
  font-size: clamp(1rem, 5.5vw, 1.4rem);
  flex-wrap: nowrap;
}
.hero-refined .hero-date .free-label { margin-left: .2em; }
