@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
/* Anime-Fest identity layer. Foundation component grids, rhythm and breakpoints are retained. */
:root{--bg:#101213;--surface:#181b1d;--surface-2:#202426;--line:#35415e;--text:#f4f3fa;--muted:#b8c2d6;--yellow:#ef9cc5;--mint:#b7a9ea;--font:'DM Sans',ui-sans-serif,system-ui,sans-serif;--oc-attraction-dark:#131c33;--oc-attraction-teal:#283557;--oc-attraction-accent:rgba(180,151,223,.15);--oc-attraction-grid:rgba(190,185,225,.035)}
body{background:var(--bg)}
h1,h2,h3,.wordmark,.oc-navigation .oc-nav-brand>span{font-family:'Bricolage Grotesque',var(--font)}
h1,h2{font-weight:750;letter-spacing:-.045em}h3{letter-spacing:-.025em}
.hero h1{font-size:clamp(56px,6.2vw,88px);font-weight:800;letter-spacing:-.065em;line-height:1.02}
.hero h1>span{font-size:.9em}.hero h1 em{color:#b8a8ef;font-weight:800}
.hero .eyebrow{color:#d1cbe4}.hero-subtitle{color:#bdc6dc}.hero-details p,.show-page .hero-details p{color:var(--text)}
.show-page .hero-details svg{color:var(--yellow)}
.hero-art{border:1px solid #5a6480;box-shadow:0 22px 65px #030a1c44;background:var(--surface-2)}
.hero-art:after{inset:0;background:linear-gradient(180deg,#0d142633,transparent 35%,#0d1426bb)}
.hero-image{object-position:center;filter:saturate(.8)}
.anime-hero-artwork{position:absolute;z-index:1;inset:auto 22px 25px;border:1px solid #b8aed088;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #080d1c66;background:var(--surface)}
.anime-hero-artwork img{width:100%;aspect-ratio:2.7;object-fit:cover;object-position:center}
.art-caption{top:24px;bottom:auto;z-index:2;align-items:center}.art-caption svg{color:#e7d5ee}
.hero-visual>.countdown{margin:-7px 25px 0;width:auto;background:#111a2ded;border-color:#63739188}
.countdown-heading .status-dot{background:var(--yellow)}.countdown-zone{color:var(--mint)}
.countdown-numbers strong{font-family:'Bricolage Grotesque',var(--font);font-size:37px;font-weight:800;letter-spacing:-.03em}
.primary,.oc-navigation .oc-nav-tickets{background:var(--yellow);border-color:var(--yellow);color:#241a2b!important}
.primary:not(.button-unavailable):hover,.show-page .participation-cta:not(.button-unavailable):hover{background:#f5b5d4;border-color:#f5b5d4;color:#211b2c}
.secondary{background:#202b43;color:var(--text);border-color:#45516e}
.button{border-radius:9px}.button-unavailable{background:#19243b;border-color:#43506c;color:#bbc4d8}.button-unavailable.primary{background:#d9a2c3;border-color:#d9a2c3;color:#282034}
.oc-navigation,.oc-mobile-navigation{background:#151719;backdrop-filter:blur(14px)}
.oc-navigation .oc-nav-brand>span{color:#efe4f3;font-style:normal;font-weight:800;letter-spacing:-.045em}
.oc-navigation .oc-nav-brand small{color:#bdb7d3}.oc-navigation .oc-nav-brand img.anime-nav-art{width:56px;height:48px;object-fit:cover;object-position:center;border-radius:8px;border:1px solid #63708a}
.oc-navigation .oc-desktop-navigation a:hover{color:var(--yellow)}
.show-page .intro-composition{background:linear-gradient(125deg,#1b253e,#151d32);border-color:#414b69;border-top:2px solid #9d8ac5;box-shadow:0 15px 45px #060b1822}
.show-page .intro-narrative h2{font-size:clamp(34px,3.4vw,50px);line-height:1.12}
.show-page .intro-narrative .intro-body{color:#c9d1e3}.show-page .intro-community{color:#e9e3f1}
.show-page .intro-community-row,.show-page .intro-interests.interests-panel,.show-page .intro-interests li{border-color:#394563}
.show-page .intro-interests>p{font-size:12px;color:#adb9d2}.show-page .intro-interests li{color:#dfe1f0}.show-page .intro-interests li:before{background:var(--mint)}
.attraction-card{border-color:#3c4865;background:linear-gradient(150deg,#1b2540,#151e34);transition:border-color .2s,transform .2s}
.attraction-card:hover{border-color:#9182b5;transform:translateY(-3px)}
.show-page .attraction-image{border-bottom:1px solid #39445d}
.show-page .attraction-image img{height:100%;width:100%;max-width:100%;object-fit:cover;object-position:center 22%;filter:saturate(.8)}
.show-page .activity-image-empty>svg{width:76px;height:76px;color:var(--mint);stroke-width:1}
.show-page .attraction-copy{border-top:2px solid #85709e66}.show-page .attraction-copy .card-icon{color:var(--mint);border-color:#514c72;background:#282941}
.show-page .attraction-copy p{color:#bfc8dc}.activity-rules{display:inline-flex;align-items:center;gap:14px;margin-top:15px;color:var(--yellow);font-size:12px;font-weight:650}.activity-rules svg{width:16px;height:16px}
.show-page .ticket-price-tabs{border-color:#a193bd}.show-page .ticket-price-tab{background:#17223c;border-color:#4c526c}
.show-page .ticket-price-tab[data-ticket-role="vip"]{background:#29233f;box-shadow:inset 0 3px #b8a6e5}.show-page .ticket-price-tab[data-ticket-role="vip"] .ticket-tab-price,.show-page .ticket-price-tab[data-ticket-role="vip"] .ticket-tab-label svg{color:#ded2f5}
.show-page .ticket-price-tab[data-ticket-role="platinum"]{background:#202c45;box-shadow:inset 0 3px #bac8e1}.show-page .ticket-price-tab[data-ticket-role="platinum"] .ticket-tab-price{color:#e3edfa}
.show-page .ticket-component>.tickets-panel{background:linear-gradient(125deg,#e3b4d1,#bcb1e1);border-color:#bba1cb;color:#221a33}.tickets-panel h2 em,.tickets-panel h2,.tickets-panel .eyebrow{color:#221a33}.tickets-panel p,.tickets-panel .admission,.show-page .ticket-child-condition{color:#40314f}
.ticket-roundel{border-color:#80668d;color:#3b2c4b}.ticket-action .dark-button{background:#20233a;border-color:#20233a;color:#fff}
.involved-card{background:linear-gradient(135deg,#19243c,#151f36);border-color:#3e4c68}.involved-card .card-icon{background:#302b46;border-color:#5d4d70;color:var(--yellow)}
.show-page .participation-guest-card .participation-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.participation-actions .button{font-size:11px}
.show-page .sponsorship-card{background:linear-gradient(115deg,#292440,#19243b);border-color:#746387}.sponsorship-card .card-icon{background:#38314b;border-color:#7a638a}
.show-page .guest-section .guest-card{background:linear-gradient(140deg,#1a253c,#151e33);border-color:#414963}
.show-page .guest-section .guest-image{background:#202c45}.show-page .guest-section .guest-image img{object-position:center top}
.show-page .guest-section .guest-title{color:var(--mint)}.show-page .guest-section .guest-appearances li{background:#222d47;border-color:#4b536e;color:#c9cce0}
.show-page .guest-section .guest-cancelled{color:#f0cfe7;background:#171b2def;border-color:#9d7f9b}
.guest-info-note{color:var(--muted)}
.questions-grid .faq-list details{background:#17223a;border-color:#3d4966}.questions-grid .faq-list summary{color:#eeeaf6}.questions-grid .faq-list details>div{color:#c1cbe1}
.site-footer{border-color:#3d4862}.wordmark{color:#d8c8eb;font-style:normal;font-weight:800}.wordmark span{color:#b8c1d5}.footer-bottom{color:#a9b5ca}
.sponsorship-section{padding-top:25px;padding-bottom:65px}.guest-section{padding-bottom:70px}
.oc-contact-main h1{font-family:'Bricolage Grotesque',var(--font)}
@media(max-width:800px){.show-page .participation-guest-card .participation-actions{margin-left:76px}.countdown-numbers strong{font-size:34px}.show-page .intro-interests.interests-panel{border-color:#394563}}
@media(max-width:600px){.hero h1{font-size:clamp(48px,10.5vw,65px)}.anime-hero-artwork{inset:auto 16px 18px;border-radius:9px}.art-caption{top:18px}.sponsorship-section{padding-top:10px;padding-bottom:44px}}
@media(max-width:480px){.show-page .participation-guest-card .participation-actions{margin:22px 0 0;display:grid;width:100%}.participation-actions .button{width:100%}.show-page .intro-narrative h2{font-size:30px}.hero-actions .button{font-size:10px}.oc-navigation .oc-nav-brand img.anime-nav-art{width:46px;height:42px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.attraction-card,.button{transition:none;transform:none!important}}
