@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lxgw-wenkai-tc-chinese-traditional-700-normal-CHaJPJSo.woff2)format("woff2"),url(/assets/lxgw-wenkai-tc-chinese-traditional-700-normal-BCo5H3ia.woff)format("woff")}
@font-face{font-family:LXGW WenKai TC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lxgw-wenkai-tc-latin-700-normal-Bu8RQm0l.woff2)format("woff2"),url(/assets/lxgw-wenkai-tc-latin-700-normal-IyLtu-sY.woff)format("woff")}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}
}
}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.relative{position:relative}
.start{inset-inline-start:var(--spacing)}
.end{inset-inline-end:var(--spacing)}
.container{width:100%}
@media (width>=40rem){.container{max-width:40rem}
}
@media (width>=48rem){.container{max-width:48rem}
}
@media (width>=64rem){.container{max-width:64rem}
}
@media (width>=80rem){.container{max-width:80rem}
}
@media (width>=96rem){.container{max-width:96rem}
}
.hidden{display:none}
.table{display:table}
.resize{resize:both}
.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}
}
:root{--ink:#173a63;--ink-deep:#102d50;--coral:#e8655a;--coral-dark:#ce4f49;--gold:#efa94a;--gold-soft:#f9d98f;--sage:#74997c;--cream:#fffaf3;--paper:#fffdf9;--line:#173a6324;--muted:#66717d;--serif:"Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif;--hand:"LXGW WenKai TC", "Klee One", "DFKai-SB", "BiauKai", cursive;--sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink-deep);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
img{max-width:100%;display:block}
main{overflow:hidden}
body.poster-intro-open{overscroll-behavior:none;overflow:hidden}
.mobile-poster-intro{display:none}
@keyframes introBackdropIn{0%{opacity:0}
to{opacity:1}
}
@keyframes introPosterReveal{0%{opacity:0;filter:blur(8px);transform:translateY(36px)scale(.78)rotate(-3.5deg)}
68%{opacity:1;filter:blur();transform:translateY(-4px)scale(1.015)rotate(.7deg)}
to{opacity:1;filter:blur();transform:translateY(0)scale(1)rotate(0)}
}
@keyframes introPosterShine{0%,18%{opacity:0;left:-75%}
38%{opacity:.68}
67%,to{opacity:0;left:125%}
}
@keyframes introMoonBreathe{0%,to{opacity:.48;scale:.94}
50%{opacity:.72;scale:1.06}
}
@keyframes introFirefly{0%,to{opacity:.18;translate:0;scale:.75}
50%{opacity:1;translate:7px -16px;scale:1.15}
}
@keyframes introLanternDrift{0%,to{translate:0;rotate:-4deg}
50%{translate:5px -16px;rotate:4deg}
}
@keyframes introNoteFloat{0%,to{opacity:.32;translate:0}
50%{opacity:.82;translate:5px -13px}
}
@keyframes introProgress{0%{transform:scaleX(0)}
to{transform:scaleX(1)}
}
.scroll-progress{z-index:70;pointer-events:none;height:3px;position:fixed;top:77px;left:0;right:0}
.scroll-progress span{width:100%;height:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:0;background:linear-gradient(90deg, var(--coral), var(--gold-soft));display:block;box-shadow:0 0 14px #e8655a61}
.section-shell,.nav-shell{width:min(1180px,100% - 48px);margin:0 auto}
.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#10302df7;border-bottom:1px solid #f9d98f47;position:sticky;top:0;box-shadow:0 8px 28px #0b26231c}
.site-header .nav-shell{width:min(1320px,100% - 64px)}
.nav-shell{justify-content:space-between;align-items:center;gap:28px;height:78px;display:flex}
.official-brand{color:#fff;flex:none;align-items:center;gap:13px;min-width:300px;display:flex}
.official-brand img{object-fit:contain;background:#fffaf3;border-radius:13px;width:58px;height:52px;padding:4px 6px;box-shadow:0 5px 14px #00000024}
.official-brand span{gap:3px;display:grid}
.official-brand strong{font:700 20px/1.2 var(--serif);letter-spacing:.09em}
.official-brand small{color:#ffffff94;letter-spacing:.14em;font-size:8px;font-weight:700}
.nav-links{color:#fffaf0;align-items:center;gap:30px;font-size:14px;font-weight:700;display:flex}
.nav-links>a{padding:28px 0;position:relative}
.nav-links>a:not(.nav-cta):after{content:"";background:var(--gold-soft);width:0;height:2px;transition:width .2s;position:absolute;bottom:20px;left:0}
.nav-links>a:hover:after{width:100%}
.nav-links .nav-cta{color:var(--gold-soft);background:#ffffff0a;border:1px solid #f9d98f8c;border-radius:999px;padding:11px 18px}
.language-switcher{background:#ffffff0d;border:1px solid #f9d98f59;border-radius:999px;align-items:center;gap:3px;padding:4px;display:inline-flex}
.language-switcher button{color:#ffffffb8;min-width:29px;height:29px;font:800 10px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 7px;transition:all .2s}
.language-switcher button:hover,.language-switcher button.is-active{background:var(--gold-soft);color:#123a35;box-shadow:0 4px 12px #00000024}
.mobile-language-bar{display:none}
.language-translation-note{color:#8b7354;text-align:center;margin:18px 0 0;font-size:11px}
.menu-button{background:0 0;border:0;width:42px;height:42px;padding:9px;display:none}
.menu-button span{background:var(--gold-soft);height:2px;margin:7px 0;display:block}
.home-hero{background-color:#fff9ee;background-image:linear-gradient(90deg,#fff9eefc 0%,#fff9eeeb 35%,#fff9ee6e 62%,#fff9ee14 100%),url(/watercolor-hero-bg.png);background-position:50%,bottom;background-size:cover,cover;min-height:calc(100vh - 78px);padding:42px 0 74px;position:relative}
.home-hero:before{content:"";pointer-events:none;opacity:.19;background-image:radial-gradient(#bd9364 .62px,#0000 .62px);background-size:9px 9px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 58%);mask-image:linear-gradient(90deg,#000,#0000 58%)}
.home-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000,#fff9ee5c);height:190px;position:absolute;inset:auto 0 0}
.home-hero .section-shell{width:min(1320px,100% - 64px)}
.hero-grid{z-index:2;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(42px,5vw,84px);display:grid;position:relative}
.hero-copy{max-width:640px;padding-top:4px}
.hero-title-lockup{width:min(100%,620px)}
.hero-charity-signature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf7a8;border:1px solid #c5852f33;border-radius:18px;align-items:center;gap:12px;width:min(100%,620px);margin:15px 0 0;padding:9px 15px 9px 10px;display:flex;box-shadow:0 9px 22px #8257300f}
.hero-charity-signature>img{object-fit:contain;width:54px;height:48px;padding:2px}
.hero-charity-signature>span{text-align:left;border-left:1px solid #c5852f3d;gap:3px;padding-left:12px;display:grid}
.hero-charity-signature small{color:#aa6e2f;letter-spacing:.13em;font-size:7px;font-weight:800}
.hero-charity-signature strong{color:var(--ink);font:700 13px/1.45 var(--serif);letter-spacing:.1em}
.festival-title{justify-content:flex-start;align-items:center;gap:15px;width:100%;margin-bottom:19px;display:flex}
.festival-title span{color:#fff;font:800 12px/1 var(--sans);letter-spacing:.14em;background:linear-gradient(135deg,#e8a146,#c9822c);border-radius:999px;flex:none;padding:7px 13px;box-shadow:0 6px 16px #b974292e}
.festival-title i{background:linear-gradient(90deg, var(--coral), #e8655a24);width:42px;height:1px}
.festival-title strong{color:var(--ink);font:700 clamp(20px, 2vw, 25px)/1.4 var(--serif);letter-spacing:.14em}
.hero-main-title{grid-template-columns:minmax(0,1fr) 142px;align-items:center;gap:15px;width:100%;display:grid;position:relative}
.hero-main-title-watercolor{grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:13px}
.hero-title-visual-frame{background:#fff4d9;border:7px solid #ffffffc7;border-radius:42px 58px 38px 52px;position:relative;overflow:hidden;transform:rotate(-.45deg);box-shadow:0 22px 48px #4c46372b,0 0 0 1px #c384371f}
.hero-title-visual-frame:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(118deg,#0000 0 38%,#ffffff2e 47%,#0000 56%);position:absolute;inset:0;box-shadow:inset 0 0 34px #fffae594}
.hero-title-artwork{aspect-ratio:1024/620;object-fit:cover;filter:saturate(1.02)contrast(1.015);width:100%;height:auto}
.hero-main-title-watercolor .hero-title-side{margin-bottom:13px;transform:rotate(1.5deg)}
.hero-copy h1.hero-title-accessible{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.hero-copy h1{width:100%;color:var(--ink);font:700 clamp(78px, 6.8vw, 106px)/.9 var(--hand);letter-spacing:-.025em;text-align:left;text-wrap:balance;filter:drop-shadow(0 8px 14px #173a6312);margin:0;position:relative}
.hero-copy h1 span,.hero-copy h1 em{width:max-content;display:block}
.hero-copy h1 span{text-shadow:1px 0 #173a6333,-1px 1px #ffffffb3;transform:rotate(-1.1deg)}
.hero-copy h1 em{color:var(--coral);text-shadow:1px 0 #be453d36,0 14px 30px #e8655a21;margin:6px 0 0 24px;font-style:normal;position:relative;transform:rotate(.8deg)}
.hero-copy h1 em:after{content:"";border-top:2px solid #e8655a4d;border-radius:50%;height:8px;position:absolute;bottom:-8px;left:5%;right:-4%;transform:rotate(-1.6deg)}
.hero-title-side{justify-items:center;gap:10px;display:grid;transform:translateY(4px)rotate(2deg)}
.hero-handshake-mark{z-index:3;background:radial-gradient(circle at 36% 30%,#fffffff5,#fff9edc7 58%,#f9d98f38);border:1px solid #e8655a3d;border-radius:50%;place-items:center;width:82px;height:82px;display:grid;position:relative;box-shadow:0 13px 30px #b85c431c,0 0 0 7px #fffaef73}
.hero-handshake-mark:before{content:"";background:linear-gradient(90deg,#0000,#c5852f99);width:38px;height:1px;position:absolute;top:50%;right:calc(100% - 4px)}
.hero-handshake-mark:after{content:"";border:1px solid #c5852f33;border-radius:50%;position:absolute;inset:-13px -17px;transform:rotate(-13deg)}
.hero-handshake-mark img{z-index:2;mix-blend-mode:multiply;filter:saturate(1.08)drop-shadow(0 6px 10px #e8655a21);width:61px;height:auto;position:relative}
.hero-date-art{color:#bd7831;width:136px;min-height:94px;font-family:var(--hand);background:#fffbef9e;border:2px solid #c17d306e;border-radius:51% 46% 48% 44%;place-content:center;justify-items:center;padding:12px 9px 10px;display:grid;position:relative;transform:rotate(-3deg);box-shadow:0 9px 23px #80592c14}
.hero-date-art:after{content:"";pointer-events:none;border:1px dashed #e8655a47;border-radius:45% 51% 43% 49%;position:absolute;inset:4px -4px -4px 3px;transform:rotate(4deg)}
.hero-date-art small{color:#ca5d53;letter-spacing:.16em;font-size:11px;font-weight:700}
.hero-date-art strong{letter-spacing:-.08em;align-items:baseline;margin:-1px 0 -4px;font-size:42px;line-height:1;display:flex}
.hero-date-art strong i{color:#d89a41;padding:0 1px;font-size:21px;font-style:normal}
.hero-date-art b{color:#91816c;letter-spacing:.13em;font-size:8px}
.hero-slogan{width:min(100%,620px);color:var(--ink);font:700 19px/1.5 var(--serif);letter-spacing:.14em;white-space:nowrap;align-items:center;gap:14px;margin:24px 0 14px;display:flex}
.hero-slogan>span{background:#c5852f8c;flex:1;max-width:58px;height:1px}
.hero-slogan i{color:#d49b3d;font-size:14px;font-style:normal}
.hero-description{color:#69746f;max-width:610px;margin:0;font-size:15px;line-height:1.9}
.hero-actions,.share-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}
.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:15px;min-height:50px;padding:0 25px;font-size:14px;font-weight:800;transition:transform .22s,box-shadow .22s,background .22s;display:inline-flex}
.button:hover{transform:translateY(-3px)}
.button b{font-size:15px}
.button-primary{background:var(--coral);color:#fff;box-shadow:0 13px 26px #ce4f4936}
.button-primary:hover{background:var(--coral-dark)}
.button-secondary{color:#426b4f;background:#fffdf5b8;border-color:#4169498c}
.button-light{color:var(--ink);background:#fff}
.button-ghost{color:#fff;background:#ffffff14;border-color:#ffffff6b}
.button-line{color:#fff;background:#06c755}
.event-facts{border-top:1px solid #b2884842;grid-template-columns:1.25fr .8fr .7fr;gap:20px;margin-top:30px;padding:20px 0 0;display:grid}
.event-facts div{border-right:1px solid var(--line);padding-right:18px}
.event-facts div:last-child{border:0}
.event-facts span{color:#8b8a7b;letter-spacing:.15em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}
.event-facts span i{color:#c68b37;font:400 18px/1 var(--serif);font-style:normal}
.event-facts strong{color:#153b63;margin-top:7px;font-size:13px;display:block}
.countdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf7c9;border:1px solid #9f73353d;border-radius:18px;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:0;width:min(100%,620px);margin-top:18px;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 36px #5c482c14}
.countdown:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:28%;height:100%;position:absolute;top:0;left:-35%;transform:skew(-18deg)}
.countdown-label{text-align:left;border-bottom:1px solid #9f733526;grid-column:1/-1;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}
.countdown-label b{color:var(--coral-dark);letter-spacing:.12em;font-size:10px}
.countdown-label small{color:#9b8c7c;letter-spacing:.14em;font-size:9px}
.countdown-unit{background:#fffdf980;border-right:1px solid #9f73352b;place-content:center;justify-items:center;min-height:82px;display:grid;position:relative;overflow:hidden}
.countdown-unit:before{content:"";opacity:.07;border:1px solid;border-radius:50%;width:72px;height:72px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.82)}
.countdown-unit:last-child{border-right:0}
.countdown-unit strong{z-index:2;color:var(--ink);font:700 33px/1 var(--serif);font-variant-numeric:tabular-nums;position:relative}
.countdown-unit small{color:#817e72;letter-spacing:.14em;margin-top:7px;font-size:9px;font-weight:700}
.countdown-hours strong{color:#668261}
.countdown-minutes strong{color:#c68b2e}
.countdown-days{background:linear-gradient(145deg,#eef4eb8f,#fffdf97a)}
.countdown-hours{background:linear-gradient(145deg,#f4f8ec9e,#fffdf97a)}
.countdown-minutes{background:linear-gradient(145deg,#fff4dca6,#fffdf97a)}
.poster-stage{justify-self:end;width:min(640px,100%);padding:19px;position:relative}
.poster-card{z-index:2;border:10px solid #fffffff5;border-radius:28px;position:relative;overflow:hidden;transform:rotate(2.6deg);box-shadow:0 32px 80px #4b433640,inset 0 2px #fff}
.poster-card img{width:100%;height:auto}
.poster-halo{aspect-ratio:1;filter:blur(3px);background:radial-gradient(circle,#ffde85b8,#ffde8500 69%);border-radius:50%;width:94%;position:absolute;top:-10%;right:-12%}
.desktop-poster-showcase{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8d1;border:1px solid #18433e1f;border-radius:32px;padding:20px;position:relative;box-shadow:0 34px 85px #3036332e}
.desktop-poster-showcase:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 88% 9%,#f8cd643b,#0000 29%);position:absolute;inset:0}
.desktop-poster-heading{justify-content:space-between;align-items:end;gap:18px;padding:2px 4px 15px;display:flex}
.desktop-poster-heading div{gap:3px;display:grid}
.desktop-poster-heading span{color:#b57635;letter-spacing:.19em;font-size:9px;font-weight:900}
.desktop-poster-heading strong{color:var(--ink);font:700 21px var(--serif);letter-spacing:.06em}
.desktop-poster-heading small{color:#7c8581;letter-spacing:.07em;white-space:nowrap;padding-bottom:2px;font-size:10px}
.desktop-poster-tabs{background:#0e353113;border-radius:20px;grid-template-columns:1fr 1fr;gap:7px;padding:7px;display:grid}
.desktop-poster-tab{color:#52645e;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:35px 1fr;align-items:center;gap:9px;min-width:0;padding:9px 12px;transition:color .3s,background .3s,border-color .3s,box-shadow .3s,transform .3s;display:grid;position:relative}
.desktop-poster-tab b{width:35px;height:35px;font:700 12px var(--serif);border:1px solid #113a3521;border-radius:50%;place-items:center;display:grid}
.desktop-poster-tab span{letter-spacing:.04em;gap:2px;font-size:10px;font-weight:800;display:grid}
.desktop-poster-tab i{font:700 13px var(--serif);font-style:normal}
.desktop-poster-tab:hover{background:#ffffffb3}
.desktop-poster-tab.is-active{color:#fff;transform:translateY(-1px);box-shadow:0 9px 22px #2c3a3529}
.is-day .desktop-poster-tab.is-active{background:linear-gradient(135deg,#ed725e,#d95752)}
.is-night .desktop-poster-tab.is-active{color:#ffe29a;background:linear-gradient(135deg,#173e61,#0e302d)}
.desktop-poster-tab.is-active b{border-color:#ffffff52}
.desktop-poster-tab.is-next-stage{color:#173a63;background:linear-gradient(110deg,#ffffff75,#fad8896b);border-color:#cc973557;padding-right:75px;animation:2.4s ease-in-out infinite nextStageGlow;box-shadow:inset 0 0 0 1px #ffffff80,0 8px 22px #bc882f1f}
.desktop-poster-tab.is-next-stage:hover{background:linear-gradient(110deg,#ffffffc7,#fad88994);transform:translateY(-1px)}
.desktop-stage-hint{color:#b87926;justify-content:center;align-items:center;gap:5px;font-style:normal;display:flex;position:absolute;top:50%;left:63%;right:auto;transform:translate(-50%,-50%)}
.desktop-stage-hint u{letter-spacing:.08em;font-size:9px;font-weight:900;text-decoration:none}
.desktop-stage-hint strong{color:#d75a51;font-size:17px;line-height:1;animation:1.15s ease-in-out infinite nextStageArrow}
@keyframes nextStageGlow{0%,to{box-shadow:inset 0 0 0 1px #ffffff80,0 8px 22px #bc882f1a}
50%{box-shadow:inset 0 0 0 1px #ffffffb8,0 9px 29px #dda4424d,0 0 0 3px #f7d17c21}
}
@keyframes nextStageArrow{0%,to{opacity:.68;transform:translate(0)}
50%{opacity:1;transform:translate(-5px)}
}
.alliance-cta-band{color:var(--ink);background:#fffaf1;padding:72px 0}
.alliance-cta-inner{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:end;gap:clamp(38px,7vw,100px);display:grid}
.alliance-cta-inner>div:first-child>span{color:var(--coral-dark);font:800 10px var(--sans);letter-spacing:.16em}
.alliance-cta-inner h2{max-width:700px;font:700 clamp(30px, 3.5vw, 48px)/1.45 var(--serif);margin:12px 0 0}
.alliance-cta-inner p{color:#566861;max-width:680px;margin:17px 0 0;font-size:13px;line-height:1.9}
.alliance-cta-actions{gap:11px;display:grid}
.alliance-cta-actions .button{justify-content:space-between;width:100%}
.alliance-text-link{color:#8b3a3d;border-bottom:1px solid #8b3a3d;justify-self:start;margin-top:7px;padding-bottom:5px;font-size:12px;font-weight:800}
.alliance-matrix{white-space:nowrap;border:1px solid #ffffff1f;align-items:stretch;margin-top:50px;display:flex;overflow-x:auto}
.alliance-matrix strong,.alliance-matrix a{border-right:1px solid #ffffff1f;flex-direction:column;flex:1;justify-content:center;min-width:165px;padding:14px 18px;display:flex}
.alliance-matrix strong{min-width:210px;color:var(--gold-soft);font:700 11px var(--serif);letter-spacing:.1em}
.alliance-matrix strong small,.alliance-matrix a small{color:#ffffff75;font:800 8px var(--sans);letter-spacing:.12em;margin-top:4px;display:block}
.alliance-matrix a b{color:#fff;margin-top:4px;font-size:11px}
.alliance-matrix a:hover,.alliance-matrix a[aria-current=page]{background:#f9d98f1f}
@media (width<=760px){.alliance-cta-inner{grid-template-columns:1fr}
.alliance-matrix{margin-top:34px}
}
@media (prefers-reduced-motion:reduce){.desktop-poster-tab.is-next-stage,.desktop-stage-hint strong{animation:none}
}
.desktop-poster-body{grid-template-columns:minmax(210px,1.38fr) minmax(145px,.82fr);align-items:center;gap:22px;margin-top:18px;display:grid}
.desktop-poster-image{background:#fffdf8;border:7px solid #fffffffa;border-radius:22px;animation:.5s cubic-bezier(.2,.72,.25,1) both desktopPosterReveal;display:block;overflow:hidden;box-shadow:0 22px 48px #2a373333}
.desktop-poster-image img{aspect-ratio:auto;object-fit:contain;background:#fffaf0;border-radius:14px;width:100%;height:auto;display:block}
.desktop-poster-info{align-content:center;animation:.48s 40ms both desktopPosterInfo;display:grid}
.desktop-poster-stage-label{color:#cf574f;letter-spacing:.12em;background:#e762561c;border-radius:999px;justify-self:start;padding:6px 11px;font-size:10px;font-weight:900}
.is-night .desktop-poster-stage-label{color:#173e61;background:#153b581a}
.desktop-poster-time{color:#a36e35;font:700 11px var(--sans);letter-spacing:.13em;margin:15px 0 6px}
.desktop-poster-info h2{color:var(--ink);font:700 clamp(25px,2.1vw,34px)/1.2 var(--serif);letter-spacing:.05em;margin:0}
.desktop-poster-description{color:#6c7773;margin:14px 0 17px;font-size:11px;line-height:1.8}
.desktop-poster-organizer{border-top:1px solid #113a351c;border-bottom:1px solid #113a351c;gap:4px;padding:13px 0;display:grid}
.desktop-poster-organizer small{color:#b57635;letter-spacing:.12em;font-size:9px;font-weight:900}
.desktop-poster-organizer strong{color:var(--ink);font:700 13px/1.55 var(--serif)}
.desktop-poster-link{color:#fff;letter-spacing:.08em;background:#123a35;border-radius:14px;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 14px;font-size:11px;font-weight:900;transition:transform .3s,box-shadow .3s;display:flex}
.desktop-poster-link:hover,.desktop-poster-link:focus-visible{transform:translateY(-2px);box-shadow:0 12px 25px #123a3533}
.desktop-poster-link span{color:var(--gold-soft);font-size:17px}
.poster-duo{z-index:2;perspective:1400px;flex-direction:column;gap:38px;display:none;position:relative}
@keyframes desktopPosterReveal{0%{opacity:0;transform:translateY(10px)scale(.985)}
to{opacity:1;transform:none}
}
@keyframes desktopPosterInfo{0%{opacity:0;transform:translate(10px)}
to{opacity:1;transform:none}
}
.poster-duo-card{background:linear-gradient(145deg,#fffaf0,#efe3cd);border:1px solid #d8ba7f80;border-radius:25px;padding:6px;transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s;display:block;position:relative;overflow:hidden;box-shadow:0 24px 58px #30363333,inset 0 1px #ffffffeb}
.poster-duo-card img{aspect-ratio:auto;object-fit:contain;background:#fffaf0;border-radius:18px 18px 9px 9px;width:100%;height:auto;display:block}
.poster-duo-card span{color:#fff;font:700 18px var(--serif);letter-spacing:.06em;background:#123a35;border-radius:10px 10px 17px 17px;grid-template-columns:auto auto 1fr;align-items:center;gap:11px;margin-top:6px;padding:17px 22px;display:grid;position:static}
.poster-duo-card span b{color:var(--gold-soft);letter-spacing:.12em;font-size:13px}
.poster-duo-card span i{color:#ffffffad;font:700 10px var(--sans);letter-spacing:.12em;border-right:1px solid #ffffff3d;padding-right:12px;font-style:normal}
.poster-duo-day span{background:#d95c53}
.poster-duo-day,.poster-duo-night{transform:none}
.poster-duo-card:hover,.poster-duo-card:focus-visible{transform:translateY(-8px)scale(1.012);box-shadow:0 40px 90px #3036334d}
.dual-stage-poster{min-height:600px;color:var(--ink);background:radial-gradient(circle at 82% 9%,#ffe085b8,#0000 22%),linear-gradient(164deg,#fffdf7 0 50%,#173a63 50% 100%);flex-direction:column;padding:43px 35px 29px;display:flex}
.dual-poster-year{background:var(--coral);color:#fff;letter-spacing:.16em;border-radius:999px;align-self:flex-start;padding:6px 11px;font-size:9px;font-weight:800}
.dual-stage-poster>h2{font:800 43px/1.12 var(--serif);letter-spacing:.05em;margin:20px 0 7px}
.dual-stage-poster>h2 em{color:var(--coral);font-style:normal}
.dual-stage-poster>p{color:#7a7f7f;font:700 12px var(--serif);letter-spacing:.09em;margin:0 0 21px}
.dual-poster-stage{z-index:2;border-radius:19px;gap:5px;padding:20px 22px;display:grid;position:relative;box-shadow:0 14px 30px #2031371c}
.dual-poster-stage small{letter-spacing:.13em;font-size:9px;font-weight:800}
.dual-poster-stage strong{font:700 27px var(--serif)}
.dual-poster-stage span{font-size:9px;font-weight:700;line-height:1.55}
.dual-poster-day{background:#fffffff0;border:1px solid #efa94a4d}
.dual-poster-day small{color:var(--coral)}
.dual-poster-night{color:#fff;background:#0c2a48f5;border:1px solid #f9d98f40}
.dual-poster-night small{color:var(--gold-soft)}
.dual-poster-connector{z-index:3;place-items:center;height:32px;display:grid;position:relative}
.dual-poster-connector b{background:linear-gradient(90deg, transparent, var(--coral), transparent);height:1px;position:absolute;inset:50% 12% auto}
.dual-poster-connector i{z-index:2;background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-style:normal;display:grid}
.dual-stage-poster footer{color:var(--gold-soft);font:700 13px var(--serif);letter-spacing:.19em;text-align:center;margin-top:auto;padding-top:22px}
.moon-glow{opacity:.13;background:radial-gradient(circle at 38% 34%,#fff9db,#ffd973 50%,#f1b452 72%,#f1b45200 74%);border-radius:50%;width:360px;height:360px;position:absolute;top:-5%;right:1.5%}
.moon-glow span{background:#b3843a2e;border-radius:50%;width:40px;height:22px;margin:70px;display:block;transform:rotate(-25deg);box-shadow:48px 22px #b3843a1c,22px 62px #b3843a1f}
.music-note{color:var(--gold);font:700 34px var(--serif);opacity:.52;position:absolute}
.note-one{top:24%;left:2.5%;transform:rotate(-13deg)}
.note-two{top:18%;right:47%;transform:rotate(12deg)}
.floating-lantern{z-index:1;opacity:.62;background:linear-gradient(90deg,#ed9a4f,#ffd48a 48%,#e88743);border-radius:48% 48% 42% 42%;width:28px;height:42px;position:absolute;transform:rotate(10deg);box-shadow:inset 0 0 0 1px #a45c2821,0 10px 25px #d489412e}
.floating-lantern:after{content:"";background:#b9793c;width:1px;height:12px;position:absolute;bottom:-12px;left:50%}
.lantern-one{top:35%;right:2.5%}
.lantern-two{opacity:.42;bottom:18%;right:44%;scale:.72}
.scroll-cue{z-index:4;color:#8c847b;letter-spacing:.17em;transform-origin:100%;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:30px;right:28px;transform:rotate(90deg)}
.scroll-cue span{background:#a99a88;width:40px;height:1px}
@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes posterArrive{0%{opacity:0;transform:translate(35px,18px)rotate(2deg)}
to{opacity:1;transform:translate(0)rotate(0)}
}
@keyframes moonDrift{0%,to{transform:translateY(0)scale(1)}
50%{transform:translateY(9px)scale(1.025)}
}
@keyframes noteDrift{0%,to{opacity:.36;translate:0}
50%{opacity:.7;translate:0 -12px}
}
@keyframes haloBreathe{0%,to{opacity:.72;transform:scale(.96)}
50%{opacity:1;transform:scale(1.05)}
}
@keyframes secondPulse{0%{opacity:.65;transform:translateY(-2px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes countdownFlip{0%{opacity:0;transform:perspective(160px)rotateX(-65deg)translateY(-7px)}
to{opacity:1;transform:perspective(160px)rotateX(0)translateY(0)}
}
@keyframes countdownShine{0%,18%{left:-35%}
62%,to{left:125%}
}
@keyframes countdownHalo{0%,to{opacity:.05;transform:translate(-50%,-50%)scale(.82)}
50%{opacity:.11;transform:translate(-50%,-50%)scale(1.08)}
}
@keyframes organizerSweep{0%,54%{opacity:0;transform:rotate(16deg)translate(-360%)}
66%{opacity:.72}
82%,to{opacity:0;transform:rotate(16deg)translate(720%)}
}
@keyframes organizerStar{0%,to{opacity:.35;transform:scale(.82)rotate(-7deg)}
50%{opacity:.8;transform:scale(1.12)rotate(7deg)}
}
@media (prefers-reduced-motion:no-preference){.motion-ready main>section:not(.is-visible)>.section-shell,.motion-ready main>section:not(.is-visible)>.partners-hero-inner{opacity:0;transform:translateY(34px)}
.motion-ready main>section>.section-shell,.motion-ready main>section>.partners-hero-inner{transition:opacity .8s,transform .8s cubic-bezier(.2,.75,.2,1)}
.home-hero.is-visible .hero-title-lockup{animation:.85s cubic-bezier(.2,.75,.2,1) both heroRise}
.home-hero.is-visible .hero-handshake-mark{animation:4.8s ease-in-out 1s infinite handshakeMarkFloat}
.home-hero.is-visible .hero-slogan,.home-hero.is-visible .hero-description,.home-hero.is-visible .hero-actions,.home-hero.is-visible .event-facts,.home-hero.is-visible .countdown{animation:.75s cubic-bezier(.2,.75,.2,1) both heroRise}
.home-hero.is-visible .hero-slogan{animation-delay:.12s}
.home-hero.is-visible .hero-description{animation-delay:.2s}
.home-hero.is-visible .hero-actions{animation-delay:.27s}
.home-hero.is-visible .event-facts{animation-delay:.34s}
.home-hero.is-visible .countdown{animation-delay:.4s}
.home-hero.is-visible .poster-stage{animation:1s cubic-bezier(.2,.75,.2,1) .16s both posterArrive}
.moon-glow{animation:7s ease-in-out infinite moonDrift}
.music-note{animation:4.8s ease-in-out infinite noteDrift}
.note-two{animation-delay:-2.2s}
.floating-lantern{animation:7s ease-in-out infinite noteDrift}
.lantern-two{animation-delay:-3.4s}
.poster-halo{animation:5.5s ease-in-out infinite haloBreathe}
.countdown-unit strong{animation:.62s cubic-bezier(.2,.75,.2,1) countdownFlip}
.countdown:after{animation:7s ease-in-out infinite countdownShine}
.countdown-unit:before{animation:4.5s ease-in-out infinite countdownHalo}
.countdown-hours:before{animation-delay:-1.5s}
.countdown-minutes:before{animation-delay:-3s}
.timeline-section:before,.partners-hero-moon{animation:7.5s ease-in-out infinite moonDrift}
.partners-bridge-unity,.gratitude-seal{transition:transform .35s,box-shadow .35s}
.partners-bridge-unity:hover,.gratitude-seal:hover{transform:translateY(-5px);box-shadow:0 24px 55px #051a1a3b}
.stage-organizer:before,.desktop-poster-organizer:before,.main-role:before,.afternoon-identity-card>div:before{animation:5.8s ease-in-out infinite organizerSweep}
.stage-organizer:after,.desktop-poster-organizer:after,.main-role:after,.afternoon-identity-card>div:after{animation:3.2s ease-in-out infinite organizerStar}
}
@media (width<=760px) and (height<=650px){.mobile-poster-stage{gap:8px;width:min(76vw,292px)}
.mobile-poster-enter{min-height:39px}
.mobile-poster-progress{width:150px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
.quick-event-section{background:linear-gradient(#fffdf9,#f8f1e7);border-bottom:1px solid #173a6314;padding:54px 0 76px;position:relative}
.quick-event-section:before{content:"";pointer-events:none;opacity:.18;background-image:radial-gradient(#d4a36f .6px,#0000 .6px);background-size:12px 12px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 46%,#000);mask-image:linear-gradient(90deg,#000,#0000 46%,#000)}
.quick-event-section .section-shell{z-index:2;position:relative}
.event-smart-mode{color:#fff;background:radial-gradient(circle at 88% 10%,#f9d98f2e,#0000 25%),linear-gradient(125deg,#10302d,#153a59);border:1px solid #f9d98f47;border-radius:24px;grid-template-columns:165px minmax(0,1fr) auto;align-items:center;gap:25px;min-height:104px;padding:21px 24px;display:grid;box-shadow:0 20px 48px #0b2b2d26}
.smart-mode-signal{color:var(--gold-soft);letter-spacing:.15em;white-space:nowrap;align-items:center;gap:10px;font-size:8px;font-weight:800;display:flex}
.smart-mode-signal i{background:var(--gold-soft);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 7px #f9d98f1a,0 0 18px #f9d98f94}
.event-smart-mode.is-today .smart-mode-signal i,.event-smart-mode.is-live .smart-mode-signal i{background:#74dfa5;box-shadow:0 0 0 7px #74dfa51a,0 0 20px #74dfa594}
.event-smart-mode.is-after .smart-mode-signal i{background:var(--coral)}
.smart-mode-copy{min-width:0}
.smart-mode-copy small,.smart-mode-copy strong{display:block}
.smart-mode-copy small{color:var(--gold-soft);letter-spacing:.15em;margin-bottom:4px;font-size:8px;font-weight:800}
.smart-mode-copy strong{font:700 19px/1.4 var(--serif);letter-spacing:.035em}
.smart-mode-copy p{color:#ffffffa3;margin:3px 0 0;font-size:11px;line-height:1.65}
.event-smart-mode>a{color:#fff2bd;white-space:nowrap;background:#ffffff0d;border:1px solid #f9d98f7a;border-radius:999px;justify-content:center;align-items:center;gap:14px;min-height:43px;padding:0 18px;font-size:11px;font-weight:800;transition:transform .2s,background .2s;display:inline-flex}
.event-smart-mode>a:hover{background:#ffffff1a;transform:translateY(-2px)}
.quick-event-heading{justify-content:space-between;align-items:end;gap:35px;margin:46px 0 22px;display:flex}
.quick-event-heading span{color:var(--coral);letter-spacing:.18em;margin-bottom:7px;font-size:9px;font-weight:800;display:block}
.quick-event-heading h2{font:700 clamp(29px, 3.5vw, 43px)/1.35 var(--serif);letter-spacing:.045em;margin:0}
.quick-event-heading p{color:#7a807f;margin:0 0 6px;font-size:12px}
.quick-event-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}
.quick-event-grid>*{background:#ffffffd6;border:1px solid #173a631c;border-radius:20px;align-content:end;min-height:140px;padding:22px 19px;transition:transform .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #2a36330f}
.quick-event-grid>a{background:linear-gradient(145deg,#fff8e8,#fffdf9)}
.quick-event-grid>a:last-child{color:#fff;background:linear-gradient(145deg,#173a63,#102e4e);border-color:#f9d98f36}
.quick-event-grid>a:hover{transform:translateY(-4px);box-shadow:0 20px 45px #2a36331f}
.quick-event-grid b{color:#e8655a29;font:700 36px var(--serif);position:absolute;top:10px;right:15px}
.quick-event-grid>a:last-child b{color:#f9d98f38}
.quick-event-grid span{color:var(--coral);letter-spacing:.15em;font-size:8px;font-weight:800}
.quick-event-grid>a:last-child span{color:var(--gold-soft)}
.quick-event-grid strong{font:700 17px/1.45 var(--serif);margin-top:7px}
.quick-event-grid small{color:#7b858a;margin-top:4px;font-size:9px}
.quick-event-grid>a:last-child small{color:#fff9}
.content-status-panel{background:#ffffffa6;border:1px solid #173a631a;border-radius:18px;grid-template-columns:175px minmax(0,1fr);align-items:center;gap:22px;margin-top:14px;padding:18px 20px;display:grid}
.content-status-panel>div{gap:3px;display:grid}
.content-status-panel>div span{color:var(--ink);font:700 13px var(--serif)}
.content-status-panel>div small{color:#92958f;font-size:8px}
.content-status-panel ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}
.content-status-panel li{color:#66727a;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:9px;display:inline-flex;box-shadow:inset 0 0 0 1px #173a6314}
.content-status-panel li i{background:#c4a46c;border-radius:50%;width:6px;height:6px}
.content-status-panel li b{color:#9b835b;font-size:8px}
.content-status-panel li.is-confirmed i{background:#6f9c79}
.content-status-panel li.is-confirmed b{color:#5d8767}
.content-status-panel li.is-progress i{background:var(--coral)}
.content-status-panel li.is-progress b{color:var(--coral-dark)}
.organizer-role-tags{flex-wrap:wrap;gap:6px;margin-top:4px;opacity:1!important;display:flex!important}
.organizer-role-tags i{color:#9a4c47;letter-spacing:.07em;background:#ffffff9e;border:1px solid #e8655a33;border-radius:999px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:800}
.stage-card-night .organizer-role-tags i{color:var(--gold-soft);background:#ffffff12;border-color:#f9d98f42}
.stage-organizer,.desktop-poster-organizer,.main-role,.afternoon-identity-card>div{isolation:isolate;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.stage-organizer:before,.desktop-poster-organizer:before,.main-role:before,.afternoon-identity-card>div:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffc2,#0000);width:24%;position:absolute;top:-80%;bottom:-80%;left:-42%;transform:rotate(16deg)translate(-360%)}
.stage-organizer:after,.desktop-poster-organizer:after,.main-role:after,.afternoon-identity-card>div:after{content:"✦";z-index:-1;color:#e8655a33;font:22px/1 var(--serif);filter:drop-shadow(0 0 10px #e8655a33);position:absolute;top:10px;right:12px}
.stage-card-night .stage-organizer:after,.is-night .desktop-poster-organizer:after,.evening-panel .main-role:after{color:#f9d98f61;filter:drop-shadow(0 0 11px #f9d98f47)}
.stage-organizer small:before,.desktop-poster-organizer small:before,.main-role small:before,.afternoon-identity-card>div small:before{content:"◆";margin-right:6px;font-size:.7em}
.stage-organizer strong,.desktop-poster-organizer strong,.main-role strong,.afternoon-identity-card>div b{z-index:2;letter-spacing:.035em;text-shadow:0 7px 16px #173a6312;position:relative}
.stage-card-day:hover .stage-organizer,.stage-card-night:hover .stage-organizer,.program-partner-panel:hover .main-role,.desktop-poster-showcase:hover .desktop-poster-organizer,.afternoon-identity-card:hover>div{transform:translateY(-3px)}
.stage-card-day:hover .stage-organizer,.afternoon-panel:hover .main-role,.is-day:hover .desktop-poster-organizer,.afternoon-identity-card:hover>div{border-color:#e8655a7a;box-shadow:0 16px 34px #bf504326,0 0 0 4px #e8655a0e}
.stage-card-night:hover .stage-organizer,.evening-panel:hover .main-role,.is-night:hover .desktop-poster-organizer{border-color:#f9d98f8c;box-shadow:0 17px 38px #03182833,0 0 0 4px #f9d98f11}
.desktop-poster-organizer{background:linear-gradient(120deg,#fff6e8eb,#ffffffc7);border:1px solid #e8655a2e;border-radius:14px;padding:13px 14px}
.is-night .desktop-poster-organizer{background:linear-gradient(120deg,#123a3517,#f9d98f21);border-color:#173a6329}
.main-role{box-shadow:0 10px 25px #ae4c3e12}
.evening-panel .main-role{background:linear-gradient(125deg,#fff9ea,#fffdf8);border-color:#efa94a4d}
.afternoon-identity-card>div{border:1px solid #e8655a26}
.intro-section{background:var(--paper);padding:120px 0;position:relative}
.intro-section:after{content:"♡";color:#e8655a12;font:160px var(--serif);position:absolute;top:12%;right:7%;transform:rotate(8deg)}
.intro-grid{z-index:2;grid-template-columns:.9fr 1.1fr;gap:110px;display:grid;position:relative}
.section-kicker{color:var(--coral);letter-spacing:.22em;text-transform:uppercase;margin-bottom:17px;font-size:11px;font-weight:800;display:block}
.intro-grid h2,.section-heading h2,.snapshot-content h2,.location-preview h2,.tips-section h2,.detail-intro h2{font:700 clamp(34px, 4.2vw, 56px)/1.35 var(--serif);letter-spacing:.04em;margin:0}
.intro-copy .lead{color:#566676;max-width:630px;font:500 18px/2 var(--serif);margin:5px 0 28px}
.purpose-list{border-top:1px solid var(--line);grid-template-columns:1fr;display:grid}
.purpose-list span{border-bottom:1px solid var(--line);gap:18px;padding:15px 0;font-size:14px;font-weight:700;display:flex}
.purpose-list b{color:var(--gold);font-size:11px}
.theme-song-section{color:#fff;background:radial-gradient(circle at 76% 18%,#f8d37529,#0000 23%),linear-gradient(135deg,#0e332e 0%,#102f49 48%,#112b4b 100%);padding:104px 0 110px;position:relative;overflow:hidden}
.theme-song-section:before{content:"";opacity:.18;background-image:radial-gradient(#fff0c2c7 .65px,#0000 .65px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(115deg,#0000 0%,#000 45%,#0000 86%);mask-image:linear-gradient(115deg,#0000 0%,#000 45%,#0000 86%)}
.theme-song-section:after{content:"♪";color:#f9d98f17;font:280px/1 var(--serif);position:absolute;bottom:5%;left:3%;transform:rotate(-11deg)}
.song-stars{z-index:1;color:#f9d98fad;font:22px var(--serif);letter-spacing:.38em;position:absolute;top:11%;right:31%}
.song-moon{opacity:.62;background:radial-gradient(circle at 34% 32%,#fff9db 0%,#f4cf75 48%,#d99b3e 68%,#d99b3e00 70%);border-radius:50%;width:350px;height:350px;position:absolute;top:-95px;right:4%;box-shadow:0 0 90px #f4cf751f}
.song-moon span{background:#8d5e2721;border-radius:50%;width:54px;height:25px;position:absolute;top:32%;left:34%;transform:rotate(-18deg);box-shadow:55px 34px #8d5e271a,20px 73px #8d5e2714}
.song-layout{z-index:2;grid-template-columns:minmax(0,1fr) minmax(500px,.9fr);align-items:center;gap:clamp(54px,6vw,86px);display:grid;position:relative}
.song-story h2{font:700 clamp(42px, 4.4vw, 62px)/1.23 var(--serif);letter-spacing:.035em;margin:0}
.song-story h2 span,.song-story h2 em{white-space:nowrap;display:block}
.song-story h2 em{color:var(--gold-soft);margin-top:8px;font-style:normal}
.song-story>p{color:#ffffff9e;max-width:480px;margin:26px 0 0;font-size:14px;line-height:2}
.creator-signature{align-items:center;gap:16px;margin-top:28px;display:flex}
.creator-signature:before{content:"";background:#f9d98f8c;width:38px;height:1px}
.creator-signature span{color:#ffffff85;letter-spacing:.2em;font-size:9px;font-weight:800}
.creator-signature strong{color:#fff8e8;font:700 19px var(--serif);letter-spacing:.05em}
.song-art{aspect-ratio:1;place-items:center;width:min(340px,90%);margin:42px 0 0 20px;display:grid;position:relative}
.song-record{z-index:3;aspect-ratio:1;background:repeating-radial-gradient(circle,#f9d98f14 0 2px,#0000 3px 8px),radial-gradient(circle,#f4d178 0 9%,#e86a5f 10% 18%,#102e48 19% 66%,#091e33 67% 100%);border:1px solid #f9d98f6b;border-radius:50%;place-items:center;width:205px;display:grid;position:relative;box-shadow:0 28px 60px #00000045,0 0 50px #f9d98f1a}
.song-record:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute;inset:16px}
.song-record span{width:48px;height:48px;color:var(--coral);background:#fff4d5;border-radius:50%;place-items:center;font-size:16px;display:grid;box-shadow:0 0 25px #fff4d538}
.song-orbit{border:1px solid #f9d98f40;border-radius:50%;position:absolute;inset:18px}
.song-orbit:after{content:"✦";color:var(--gold-soft);font-size:15px;position:absolute;top:22%;right:2%}
.orbit-two{border-color:#ffffff17;inset:-2px}
.orbit-two:after{color:var(--coral);top:70%;left:8%;right:auto}
.song-art>i{z-index:4;color:#fff4d6;font:700 10px var(--serif);letter-spacing:.13em;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081c29bd;border:1px solid #f9d98f40;border-radius:999px;padding:8px 15px;font-style:normal;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}
.lyrics-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(150deg,#ffffff1b,#ffffff09 64%),#0c273a75;border:1px solid #f9d98f4d;border-radius:25px;justify-self:end;width:min(100%,575px);position:relative;overflow:hidden;box-shadow:0 26px 68px #02101c47,inset 0 1px #ffffff14}
.lyrics-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 76% 0,#f9d98f24,#0000 34%);position:absolute;inset:0}
.lyrics-card:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg, var(--gold-soft), transparent);opacity:.7;width:58px;height:1px;position:absolute;top:91px;left:26px}
.lyrics-card-head{z-index:3;background:linear-gradient(90deg,#071b2aad,#0c2a3675);border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;height:92px;padding:0 26px;display:flex;position:relative}
.lyrics-head-copy{gap:9px;display:grid}
.lyrics-song-name{color:#fff8e7;font:700 18px/1.15 var(--serif);letter-spacing:.12em;text-shadow:0 6px 20px #f9d98f1a}
.lyrics-head-meta{align-items:center;gap:10px;display:flex}
.lyrics-head-meta span{color:#ffffff7a;letter-spacing:.2em;font-size:8px;font-weight:800}
.lyrics-head-meta strong{color:var(--gold-soft);letter-spacing:.12em;background:#f9d98f1a;border:1px solid #f9d98f21;border-radius:999px;padding:5px 9px;font-size:8px}
.sound-bars,.dock-equalizer{align-items:center;gap:3px;height:24px;display:flex}
.sound-bars i,.dock-equalizer i{background:var(--gold-soft);transform-origin:50%;border-radius:3px;width:3px;height:7px;display:block}
.sound-bars i:nth-child(2){height:15px}
.sound-bars i:nth-child(3){height:22px}
.sound-bars i:nth-child(4){height:12px}
.sound-bars i:nth-child(5){height:17px}
.lyrics-window{overscroll-behavior:contain;scrollbar-width:none;scroll-behavior:smooth;height:385px;padding:0 32px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}
.lyrics-window::-webkit-scrollbar{display:none}
.lyrics-spacer{height:145px}
.lyric-line{color:#fff;text-align:left;cursor:pointer;opacity:.28;transform-origin:0;background:0 0;border:0;width:100%;padding:8px 0;transition:opacity .36s,transform .36s,filter .36s;display:block}
.lyric-line small{width:max-content;color:var(--gold-soft);letter-spacing:.15em;border:1px solid #f9d98f38;border-radius:999px;margin-bottom:7px;padding:4px 8px;font-size:8px;font-weight:800;display:block}
.lyric-line span{font:600 clamp(16px, 1.65vw, 22px)/1.48 var(--serif);letter-spacing:.05em;display:block}
.lyric-line:hover{opacity:.78}
.lyric-line.is-past{opacity:.18}
.lyric-line.is-active{opacity:1;filter:drop-shadow(0 8px 18px #f9d98f24);transform:scale(1.018)}
.lyric-line.is-active span{color:#fff4c8;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff8de,#f8cc72 58%,#ed8a69);-webkit-background-clip:text;background-clip:text}
.song-controls{z-index:4;background:#071b2ac7;border-top:1px solid #ffffff17;grid-template-columns:40px 38px 1fr 38px 34px;align-items:center;gap:8px;height:68px;padding:0 21px;display:grid;position:relative}
.song-play-button,.song-mute-button{color:#fff;cursor:pointer;border:0}
.song-play-button{background:linear-gradient(135deg, var(--coral), #d04d4d);border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;display:grid;box-shadow:0 9px 21px #e8655a3b}
.song-mute-button{width:36px;height:36px;color:var(--gold-soft);background:0 0;font-size:11px}
.song-time{color:#ffffff85;font-variant-numeric:tabular-nums;text-align:center;font-size:9px}
.song-controls input[type=range]{width:100%;accent-color:var(--coral);cursor:pointer}
.full-lyrics-sheet{z-index:2;border-top:1px solid #f9d98f40;margin-top:76px;padding-top:46px;position:relative}
.full-lyrics-sheet>header{grid-template-columns:1fr minmax(280px,470px);align-items:end;gap:42px;margin-bottom:28px;display:grid}
.full-lyrics-sheet>header span{color:var(--gold-soft);letter-spacing:.22em;font-size:8px;font-weight:800}
.full-lyrics-sheet>header h3{color:#fff8e8;font:700 clamp(28px,3.4vw,43px)/1.4 var(--serif);letter-spacing:.04em;margin:9px 0 0}
.full-lyrics-sheet>header p{color:#ffffff8c;margin:0;font-size:12px;line-height:1.8}
.full-lyrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}
.full-lyrics-grid article{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff14,#ffffff06);border:1px solid #f9d98f29;border-radius:20px;grid-template-columns:58px minmax(0,1fr);gap:17px;padding:24px 25px;display:grid}
.full-lyrics-grid article>small{color:var(--gold-soft);font:800 9px/1.6 var(--serif);letter-spacing:.13em}
.full-lyrics-grid article>div{gap:2px;display:grid}
.full-lyrics-grid button{color:#ffffffd1;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff0f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:7px 0;transition:color .2s,padding-left .2s;display:grid}
.full-lyrics-grid button:last-child{border-bottom:0}
.full-lyrics-grid button:hover{color:#fff2bd;padding-left:6px}
.full-lyrics-grid button span{font:600 13px/1.65 var(--serif);letter-spacing:.035em}
.full-lyrics-grid button time{color:#ffffff4d;font-variant-numeric:tabular-nums;font-size:8px}
.full-lyrics-sheet>footer{border-top:1px solid #ffffff17;align-items:center;gap:16px;margin-top:22px;padding:18px 0;display:flex}
.full-lyrics-sheet>footer span{color:#ffffff6b;letter-spacing:.16em;font-size:8px}
.full-lyrics-sheet>footer strong{color:var(--gold-soft);font:700 14px var(--serif)}
.full-lyrics-sheet>footer i{color:#ffffff7a;font:500 11px var(--serif);letter-spacing:.08em;margin-left:auto;font-style:normal}
.song-dock{z-index:48;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c2a2aed;border:1px solid #f9d98f52;border-radius:999px;width:min(355px,100vw - 40px);transition:transform .25s,box-shadow .25s;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 45px #03181b47}
.song-dock:hover{transform:translateY(-3px);box-shadow:0 22px 55px #03181b57}
.song-dock.needs-gesture{border-color:#e8655a94;box-shadow:0 18px 45px #03181b47,0 0 0 4px #e8655a1c}
.song-dock .dock-main{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:46px 1fr 25px;align-items:center;gap:11px;width:100%;height:67px;padding:8px 18px 8px 10px;display:grid}
.dock-toggle,.dock-lyrics-link{display:none}
.dock-disc{background:radial-gradient(circle, var(--gold-soft) 0 15%, var(--coral) 16% 29%, #112d47 30% 100%);color:#fff;border:1px solid #f9d98f73;border-radius:50%;place-items:center;width:46px;height:46px;font-size:9px;display:grid}
.dock-copy{min-width:0;display:block}
.dock-copy small,.dock-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}
.dock-copy small{color:var(--gold-soft);letter-spacing:.13em;font-size:8px;font-weight:800}
.dock-copy strong{font:700 12px var(--serif);letter-spacing:.04em;margin-top:4px}
.dock-equalizer{justify-content:flex-end}
.dock-equalizer i{width:2px;height:8px}
.dock-equalizer i:nth-child(2){height:16px}
@keyframes recordSpin{to{transform:rotate(360deg)}
}
@keyframes barDance{0%,to{transform:scaleY(.42)}
50%{transform:scaleY(1)}
}
@keyframes songMoonBreathe{0%,to{opacity:.52;transform:scale(.96)}
50%{opacity:.68;transform:scale(1.03)}
}
@keyframes dockGlow{0%,to{box-shadow:0 18px 45px #03181b47,0 0 0 3px #e8655a14}
50%{box-shadow:0 20px 55px #03181b57,0 0 0 7px #e8655a21}
}
@media (prefers-reduced-motion:no-preference){.song-art.is-playing .song-record,.dock-disc.is-playing{animation:12s linear infinite recordSpin}
.sound-bars.is-playing i,.dock-equalizer.is-playing i{animation:.8s ease-in-out infinite barDance}
.sound-bars.is-playing i:nth-child(2),.dock-equalizer.is-playing i:nth-child(2){animation-delay:-.3s}
.sound-bars.is-playing i:nth-child(3),.dock-equalizer.is-playing i:nth-child(3){animation-delay:-.55s}
.sound-bars.is-playing i:nth-child(4){animation-delay:-.2s}
.sound-bars.is-playing i:nth-child(5){animation-delay:-.45s}
.song-moon{animation:8s ease-in-out infinite songMoonBreathe}
.song-dock.needs-gesture{animation:2.4s ease-in-out infinite dockGlow}
}
.program-section{background:linear-gradient(#f3eee7 0%,#ebe4db 100%);padding:110px 0 125px}
.stage-poster-feature{padding:96px 0;position:relative;overflow:hidden}
.stage-poster-feature:before{content:"";filter:blur(2px);opacity:.42;pointer-events:none;border-radius:50%;width:430px;height:430px;position:absolute}
.stage-poster-one{background:linear-gradient(135deg,#fff8eb,#f5dfc2)}
.stage-poster-one:before{background:radial-gradient(circle,#ffe59b,#0000 68%);top:-145px;right:-130px}
.stage-poster-two{color:#fff;background:radial-gradient(circle at 82% 12%,#f6cf7038,#0000 25%),linear-gradient(135deg,#102e4e,#0c2a3e)}
.stage-poster-two:before{background:radial-gradient(circle,#e8655a73,#0000 68%);bottom:-170px;left:-120px}
.stage-poster-layout{z-index:2;grid-template-columns:minmax(320px,430px) 1fr;align-items:center;gap:clamp(58px,8vw,116px);display:grid;position:relative}
.stage-poster-art{border:10px solid #fffffff5;border-radius:28px;transition:transform .35s,box-shadow .35s;display:block;position:relative;transform:rotate(-1.5deg);box-shadow:0 32px 75px #212d2e40}
.stage-poster-two .stage-poster-art{transform:rotate(1.5deg)}
.stage-poster-art:hover,.stage-poster-art:focus-visible{transform:translateY(-8px)rotate(0)scale(1.015);box-shadow:0 40px 90px #1e2a2c54}
.stage-poster-art img{z-index:2;border-radius:17px;width:100%;height:auto;position:relative}
.stage-poster-art i{z-index:4;color:#fff;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#092730cc;border-radius:999px;padding:8px 14px;font-size:10px;font-style:normal;font-weight:700;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}
.stage-poster-glow{z-index:1;filter:blur(20px);background:radial-gradient(circle,#f7cc6b75,#0000 66%);border-radius:35px;position:absolute;inset:-34px}
.stage-poster-copy h2{font:700 clamp(39px, 4.8vw, 62px)/1.3 var(--serif);letter-spacing:.04em;margin:0}
.stage-poster-copy p{color:#657181;max-width:560px;margin:24px 0 30px;font-size:16px;line-height:2}
.stage-poster-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}
.stage-line-share{box-shadow:0 13px 28px #06c75538}
.stage-share-note{color:#7b857f;letter-spacing:.04em;margin-top:13px;font-size:10px;font-weight:700;display:block}
.stage-poster-two .stage-poster-copy p{color:#ffffffab}
.stage-poster-two .stage-share-note{color:#ffffff94}
.stage-poster-two .section-kicker{color:var(--gold-soft)}
.stage-poster-two .button-secondary{color:var(--gold-soft);background:#ffffff0a;border-color:#f9d98f73}
.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px;display:flex}
.section-heading h2{font-size:clamp(34px,4vw,52px)}
.section-heading>p{color:#77818a;max-width:360px;margin:0 0 5px;font-size:14px;line-height:1.8}
.stage-cards{grid-template-columns:1fr 1fr;gap:26px;display:grid}
.stage-card{border-radius:32px;flex-direction:column;min-height:470px;padding:38px 40px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}
.stage-card:hover{transform:translateY(-6px);box-shadow:0 25px 60px #2d343824}
.stage-card-day{color:#15395c;background:linear-gradient(145deg,#f9d1ae 0%,#f5b38f 50%,#ee8d77 100%);border:1px solid #c24f4252;box-shadow:0 20px 50px #9f513e29,inset 0 1px #ffffff85}
.stage-card-day:before{content:"";opacity:.92;background:linear-gradient(#c94e4a,#eaa446);width:8px;position:absolute;inset:0 auto 0 0}
.stage-card-day:after{content:"";opacity:.82;background:radial-gradient(circle at 35% 35%,#fff8d7,#f4c55f 56%,#f4c55f24 68%);border-radius:50%;width:190px;height:190px;position:absolute;top:-55px;right:-45px;box-shadow:0 0 58px #eba63d33}
.stage-card-night{color:#fff;background:linear-gradient(145deg,#173a63,#0d2949)}
.stage-card-night:after{content:"";opacity:.85;background:radial-gradient(circle at 35% 35%,#fff8dc,#f3c761 58%,#f3c76126 68%);border-radius:50%;width:190px;height:190px;position:absolute;top:-55px;right:-45px}
.stars{color:#fbe6a3;letter-spacing:.7em;position:absolute;top:32px;right:37%}
.stage-card-top{z-index:2;justify-content:space-between;align-items:center;gap:18px;display:flex;position:relative}
.stage-badge{background:linear-gradient(135deg, var(--coral), #d95350);color:#fff;min-height:38px;font:700 13px var(--serif);letter-spacing:.06em;border-radius:999px;align-items:center;padding:8px 15px;display:inline-flex;box-shadow:0 9px 22px #ce4f492e}
.stage-card-night .stage-badge{color:#123257;background:linear-gradient(135deg,#f6d886,#e9b64f);box-shadow:0 9px 22px #f9d98f29}
.stage-icon{font:42px var(--serif);color:var(--gold)}
.stage-card-day .stage-icon{color:#e7a33d;text-shadow:0 0 18px #ffde817a;font-size:58px;line-height:1;transform:translate(7px,8px)}
.stage-card .stage-time{z-index:2;font:700 13px var(--serif);letter-spacing:.18em;opacity:.75;margin-top:38px;display:inline-block;position:relative}
.stage-card h3{z-index:2;font:700 clamp(34px, 3.7vw, 48px) var(--serif);margin:11px 0 15px;position:relative}
.stage-card p{z-index:2;opacity:.74;max-width:420px;margin:0;font-size:14px;line-height:1.8;position:relative}
.stage-organizer{z-index:2;background:#fffcf5c2;border-left:3px solid #bd443f;border-radius:0 13px 13px 0;gap:5px;margin-top:21px;padding:15px 17px;display:grid;position:relative;box-shadow:0 8px 22px #86443714}
.stage-card-night .stage-organizer{border-color:var(--gold-soft);background:#ffffff12}
.stage-organizer small{color:var(--coral);letter-spacing:.15em;font-size:8px;font-weight:800}
.stage-card-night .stage-organizer small{color:var(--gold-soft)}
.stage-organizer strong{font:700 14px/1.55 var(--serif)}
.stage-organizer span{opacity:.68;font-size:9px;line-height:1.5}
.tag-list{z-index:2;flex-wrap:wrap;gap:8px;margin-top:27px;display:flex;position:relative}
.tag-list span{opacity:.75;border:1px solid;border-radius:999px;padding:7px 12px;font-size:11px}
.stage-card-day .tag-list span{opacity:1;background:#fffaf170;border-color:#15395c75}
.stage-card-day .card-link{color:#11385e}
.card-link{z-index:3;align-self:flex-start;align-items:center;gap:14px;margin-top:auto;padding-top:28px;font-size:13px;display:flex;position:relative}
.card-link i{color:var(--coral);font-size:19px;font-style:normal}
.stage-card-night .card-link i{color:var(--gold-soft)}
.snapshot-section{background:var(--paper);padding:120px 0}
.snapshot-grid{grid-template-columns:.72fr 1.28fr;align-items:center;gap:95px;display:grid}
.afternoon-identity-card{isolation:isolate;background:radial-gradient(circle at 80% 14%,#ffe69d,#0000 27%),linear-gradient(160deg,#fffaf0,#f3e5c8);border:8px solid #fff;border-radius:28px;flex-direction:column;width:min(350px,100%);min-height:500px;margin:auto;padding:38px 32px;display:flex;position:relative;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 28px 60px #3239372e}
.afternoon-identity-card:after{content:"☀";z-index:-1;color:#e8655a14;font:210px/1 var(--serif);position:absolute;top:48px;right:-28px}
.afternoon-identity-card>span{color:var(--coral);letter-spacing:.12em;font-size:10px;font-weight:800}
.afternoon-identity-card>strong{color:var(--ink);font:800 62px/.96 var(--serif);letter-spacing:.06em;margin:24px 0 17px}
.afternoon-identity-card>p{color:#7b7b70;margin:0;font-size:11px}
.afternoon-identity-card>div{background:#ffffffd9;border-radius:18px;margin-top:auto;padding:21px;box-shadow:0 14px 30px #3c3f3714}
.afternoon-identity-card small,.afternoon-identity-card b{display:block}
.afternoon-identity-card small{color:var(--coral);letter-spacing:.16em;font-size:8px;font-weight:800}
.afternoon-identity-card b{font:700 18px/1.55 var(--serif);margin-top:8px}
.afternoon-identity-card>i{color:var(--gold);font:36px var(--serif);font-style:normal;position:absolute;bottom:30px;right:27px}
.poster-small{border:8px solid #fff;border-radius:28px;width:min(350px,100%);margin:auto;position:relative;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 28px 60px #3239372e}
.poster-small:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 45px #6c4a211a}
.snapshot-content>p{color:var(--muted);line-height:1.85}
.service-grid{grid-template-columns:1fr 1fr;gap:12px;margin:35px 0 30px;display:grid}
.service-grid article{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:flex-start;gap:14px;min-height:118px;padding:22px;display:flex}
.service-grid article>span{height:39px;color:var(--coral);font:700 13px var(--serif);background:#fff0e4;border-radius:50%;flex:0 0 39px;place-items:center;display:grid}
.service-grid h3{font:700 17px var(--serif);margin:2px 0 8px}
.service-grid p{color:#7a838b;margin:0;font-size:12px;line-height:1.65}
.text-link{color:var(--coral-dark);letter-spacing:.04em;border-bottom:1px solid #ce4f495c;padding-bottom:4px;font-size:13px;font-weight:800;display:inline-flex}
.timeline-section{color:#fff;background:#122f52;padding:110px 0;position:relative}
.timeline-section:before{content:"";opacity:.92;background:radial-gradient(circle at 35% 32%,#fff7d5,#f2cc6f 55%,#c99035 72%);border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:7%;box-shadow:0 0 80px #f4ce7040}
.timeline-section:after{content:"✦";color:#f7df95;font-size:22px;position:absolute;top:14%;right:31%}
.light{color:var(--gold-soft)}
.light-heading{z-index:2;position:relative}
.light-link{color:#fff;border-color:#ffffff59}
.home-timeline{z-index:2;grid-template-columns:repeat(4,1fr);gap:0;margin-top:65px;display:grid;position:relative}
.home-timeline:before{content:"";background:linear-gradient(90deg, var(--gold), #fff3);height:1px;position:absolute;top:17px;left:13px;right:13%}
.home-timeline article{padding-right:30px}
.timeline-dot{z-index:2;width:35px;height:35px;color:var(--gold-soft);font:700 11px var(--serif);background:#173a63;border:1px solid #f9d98fa6;border-radius:50%;place-items:center;display:grid;position:relative}
.home-timeline time{color:var(--gold-soft);font:700 25px var(--serif);margin-top:28px;display:block}
.home-timeline time small{opacity:.7;font-size:13px}
.home-timeline h3{font:700 17px var(--serif);margin:10px 0 8px}
.home-timeline p{color:#ffffff91;max-width:210px;margin:0;font-size:12px;line-height:1.7}
.closing-line{background:#ffffff0d;border:1px solid #ffffff26;border-radius:18px;align-items:center;gap:25px;margin-top:58px;padding:23px 28px;display:flex}
.closing-line span{color:var(--gold-soft);font:700 23px var(--serif)}
.closing-line strong{font:700 17px var(--serif)}
.closing-line em{color:#fff9;margin-left:auto;font-size:13px;font-style:normal}
.location-preview{background:#f9f5ee;padding:120px 0}
.location-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px;display:grid}
.location-preview p{color:#687582;max-width:480px;line-height:1.9}
.address-block{border-left:3px solid var(--gold);margin:30px 0 25px;padding-left:19px}
.address-block span{color:var(--coral);letter-spacing:.18em;font-size:10px;font-weight:800;display:block}
.address-block strong{font:700 22px var(--serif);margin:5px 0;display:block}
.address-block p{margin:0;font-size:13px}
.map-frame{isolation:isolate;background:linear-gradient(135deg,#dde7d9,#eee7db);border:8px solid #fff;border-radius:30px;position:relative;overflow:hidden;box-shadow:0 24px 60px #353b3926}
.map-frame iframe{z-index:0;filter:saturate(.82)contrast(.96);border:0;width:100%;height:100%;display:block;position:relative}
.compact-map{height:460px}
.map-status{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.06em;background:#10302de6;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:9px;font-weight:800;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 7px 22px #1f2c3029}
.map-status span{color:var(--gold-soft);font-size:12px}
.map-quick-actions{z-index:2;gap:8px;display:flex;position:absolute;top:18px;right:18px}
.map-quick-actions a{color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #10302d1f;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:800;box-shadow:0 7px 22px #1f2c3021}
.map-quick-actions a:last-child{background:var(--coral);color:#fff;border-color:#0000}
.map-quick-actions a:hover{transform:translateY(-2px)}
.map-label{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-radius:16px;grid-template-columns:36px 1fr;align-items:center;min-width:260px;max-width:calc(100% - 44px);padding:14px 18px;display:grid;position:absolute;bottom:22px;left:22px;box-shadow:0 8px 24px #1f2c3026}
.map-label>span{color:var(--coral);grid-row:1/3;font-size:26px}
.map-label strong{font:700 14px var(--serif)}
.map-label small{color:#7d858c;font-size:10px}
.partners-bridge{color:#fff;background:linear-gradient(125deg,#10302d 0%,#153b58 100%);position:relative;overflow:hidden}
.partners-bridge:before{content:"";border:1px solid #f9d98f21;border-radius:50%;width:330px;height:330px;position:absolute;top:50%;right:8%;transform:translateY(-50%);box-shadow:0 0 0 55px #f9d98f06,0 0 0 110px #f9d98f05}
.partners-bridge-link{z-index:1;min-height:330px;color:inherit;grid-template-columns:90px 1fr 90px;align-items:center;gap:42px;display:grid;position:relative}
.partners-bridge-mark{width:78px;height:78px;color:var(--gold-soft);font:400 45px/1 var(--serif);border:1px solid #f9d98f7a;border-radius:50%;place-items:center;transition:transform .3s,background .3s;display:grid}
.partners-bridge h2{max-width:820px;font:700 clamp(29px, 3.7vw, 48px)/1.45 var(--serif);letter-spacing:.035em;margin:10px 0 14px}
.partners-bridge p{color:#ffffff8c;letter-spacing:.05em;margin:0;font-size:13px}
.partners-bridge-unity{width:116px;height:116px;color:var(--gold-soft);text-align:center;background:#10302d47;border:1px solid #f9d98f80;border-radius:50%;place-content:center;justify-self:end;justify-items:center;display:grid;box-shadow:0 15px 35px #051a1a26}
.partners-bridge-unity b{font:700 30px/1 var(--serif)}
.partners-bridge-unity small{color:#ffffffab;font:700 9px/1.4 var(--serif);letter-spacing:.08em;margin-top:8px}
.program-partners-section{background:#f7f2e9;padding:115px 0 125px}
.program-partner-panels{grid-template-columns:1.18fr .82fr;align-items:stretch;gap:25px;display:grid}
.program-partner-panel{background:#fff;border:1px solid #173a631a;border-radius:30px;overflow:hidden;box-shadow:0 25px 60px #25312d14}
.program-panel-head{min-height:255px;padding:35px 38px}
.program-panel-head>span{background:var(--coral);color:#fff;letter-spacing:.15em;border-radius:999px;padding:6px 11px;font-size:8px;font-weight:800;display:inline-flex}
.program-panel-head time{color:var(--coral);letter-spacing:.16em;margin-top:29px;font-size:10px;font-weight:800;display:block}
.program-panel-head h3{font:700 clamp(34px, 4vw, 48px) var(--serif);margin:8px 0 9px}
.program-panel-head p{color:#77818a;margin:0;font-size:12px;line-height:1.8}
.afternoon-panel .program-panel-head{background:radial-gradient(circle at 91% 5%,#ffdd7da3,#0000 28%),linear-gradient(150deg,#fffdf8,#fff2d9)}
.evening-panel .program-panel-head{color:#fff;background:radial-gradient(circle at 91% 4%,#f9d98fad,#0000 22%),linear-gradient(145deg,#173a63,#0d2949)}
.evening-panel .program-panel-head>span{background:var(--gold-soft);color:var(--ink)}
.evening-panel .program-panel-head time{color:var(--gold-soft)}
.evening-panel .program-panel-head p{color:#ffffffa1}
.program-panel-body{gap:12px;padding:30px 35px 36px;display:grid}
.role-row{border:1px solid var(--line);background:#fffdfa;border-radius:15px;gap:7px;padding:17px 19px;display:grid}
.role-row small,.co-organizer-block>small{color:#b87318;letter-spacing:.14em;font-size:10px;font-weight:900}
.role-row strong{color:#203d58;font:700 17px/1.5 var(--serif)}
.main-role{background:#fff4f0;border-color:#e8655a40}
.main-role small{color:var(--coral)}
.co-organizer-block{margin-top:8px}
.co-organizer-block>small{background:#fff3dc;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;display:inline-flex;box-shadow:inset 0 0 0 1px #b8731824}
.co-organizer-block>small:before{content:"◆";color:var(--coral);font-size:8px}
.co-organizer-block>div{grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;display:grid}
.co-organizer-block>div>span{color:#203d58;background:linear-gradient(135deg,#fff,#fffdf9);border:1px solid #173a632e;border-radius:15px;align-items:center;gap:12px;min-height:72px;padding:13px 16px;font-size:13px;font-weight:700;line-height:1.5;display:flex;box-shadow:0 8px 18px #203d580b}
.co-organizer-block b{min-width:23px;color:var(--coral);letter-spacing:.04em;flex:none;font-size:10px;font-weight:900}
.partner-name{color:#203d58;min-width:0;font-family:var(--serif);gap:6px;font-size:13px;font-weight:700;display:grid}
.partner-name em,.partner-role-tag{color:#4d7557;width:max-content;max-width:100%;font-size:9px;font-family:var(--sans);letter-spacing:.07em;background:#74997c24;border-radius:999px;padding:4px 9px;font-style:normal;font-weight:900}
.partner-role-tag{color:#a86c2d;background:#efa94a21;margin-top:2px}
.rotary-night-logo{background:#10302d;border-radius:16px;margin-bottom:4px;padding:24px 20px}
.rotary-night-logo img{width:100%;height:auto}
.program-panel-note{color:#6d7882;margin:8px 0 0;font-size:11px;line-height:1.85}
.partners-hero{color:#fff;background:linear-gradient(135deg,#10302d 0%,#12365b 100%);padding:95px 0 110px;position:relative;overflow:hidden}
.partners-hero:before{content:"";opacity:.16;background-image:radial-gradient(#f9d98fe6 .7px,#0000 .7px);background-size:17px 17px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 55%,#0000);mask-image:linear-gradient(90deg,#0000,#000 55%,#0000)}
.partners-hero-moon{opacity:.72;background:radial-gradient(circle at 35% 32%,#fff7d8,#efc660 56%,#efc6600f 70%);border-radius:50%;width:370px;height:370px;position:absolute;top:-90px;right:6%;box-shadow:0 0 100px #f9d98f29}
.partners-hero-inner{z-index:2;grid-template-columns:1fr 290px;align-items:end;gap:90px;display:grid;position:relative}
.partners-back{color:var(--gold-soft)}
.partners-hero h1{font:700 clamp(52px, 6vw, 78px)/1.2 var(--serif);letter-spacing:.05em;margin:0}
.partners-hero h1 em{color:var(--gold-soft);font-style:normal}
.partners-hero p{color:#ffffffad;max-width:730px;font:500 16px/2 var(--serif);margin:28px 0 0}
.gratitude-seal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10302d66;border:1px solid #f9d98f8c;border-radius:50%;place-content:center;justify-items:center;width:245px;height:245px;display:grid;box-shadow:0 24px 60px #051a1a38}
.gratitude-seal strong{color:var(--gold-soft);font:700 55px/1 var(--serif)}
.gratitude-seal span{font:700 13px var(--serif);letter-spacing:.12em;margin-top:12px}
.gratitude-seal small{color:#ffffff75;letter-spacing:.22em;margin-top:8px;font-size:8px}
.host-profile-section{background:var(--paper);padding:115px 0}
.partner-page-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px;display:flex}
.partner-page-heading h2{font:700 clamp(35px, 4vw, 51px) var(--serif);margin:0}
.partner-page-heading>p{color:#7b858e;max-width:420px;margin:0 0 6px;font-size:13px;line-height:1.8}
.host-profile-card{background:#f8f3ea;border:1px solid #10302d1c;border-radius:32px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;box-shadow:0 30px 70px #25312d17}
.host-logo-stage{background:#10302d;place-items:center;min-height:430px;padding:55px;display:grid}
.host-logo-stage img{width:100%;height:auto}
.host-profile-copy{align-self:center;padding:55px}
.host-profile-copy>span,.collaborator-copy>span{color:var(--gold);letter-spacing:.16em;font-size:9px;font-weight:800}
.host-profile-copy h2{font:700 clamp(29px, 3.1vw, 43px) var(--serif);margin:11px 0 18px}
.host-profile-copy>p{color:#65727e;margin:0;font-size:14px;line-height:1.9}
.host-values{grid-template-columns:1fr 1fr;gap:10px;margin:27px 0;display:grid}
.host-values span{border:1px solid var(--line);color:#5d6d78;border-radius:12px;align-items:center;gap:9px;padding:10px 12px;font-size:11px;display:flex}
.host-values b{color:var(--coral);font:800 12px var(--serif)}
.official-link{color:var(--coral-dark);border-bottom:1px solid;padding-bottom:4px;font-size:11px;font-weight:800;display:inline-block}
.collaborator-profiles-section{background:#f7f2e9;padding:115px 0 125px}
.collaborator-profiles{grid-template-columns:1fr 1fr;gap:22px;display:grid}
.collaborator-card{background:#fff;border:1px solid #173a631a;border-radius:27px;grid-template-columns:170px 1fr;min-height:355px;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden}
.collaborator-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px #25312d1a}
.identity-panel{text-align:center;color:#fff;background:#173a63;flex-direction:column;justify-content:space-between;align-items:center;padding:25px 20px;display:flex;position:relative}
.collaborator-school .identity-panel{background:linear-gradient(160deg,#6f9676,#426a58)}
.collaborator-cunshan .identity-panel{background:linear-gradient(160deg,#e5776b,#bf514e)}
.collaborator-foodbank .identity-panel{background:linear-gradient(160deg,#7f5b8c,#503b6c)}
.collaborator-cpmat .identity-panel{background:linear-gradient(160deg,#173a63,#0f2c4e)}
.partner-card-number{color:#ffffff94;letter-spacing:.15em;align-self:flex-start;font-size:9px}
.identity-mark{align-content:center;place-items:center;min-height:125px;display:grid;position:relative}
.identity-mark strong{z-index:2;font:700 25px/1.25 var(--serif);letter-spacing:.08em;position:relative}
.identity-mark .school-sun{border:2px solid #ffeba8b3;border-radius:50%;width:93px;height:93px;position:absolute;box-shadow:0 0 0 13px #ffeba814}
.wing-heart{color:#ffffff3b;font:110px/1 var(--serif);font-style:normal;position:absolute;top:-35px}
.care-cross{color:#fff4d6;width:76px;height:76px;font:300 36px var(--serif);border:1px solid #ffffff73;border-radius:50%;place-items:center;margin-bottom:8px;font-style:normal;display:grid}
.identity-panel small{color:#ffffffa6;letter-spacing:.06em;font-size:8px;line-height:1.6}
.collaborator-copy{align-self:center;padding:35px 30px}
.collaborator-copy h2{font:700 25px var(--serif);margin:10px 0 7px}
.collaborator-copy h3{color:#7d858b;min-height:38px;font:600 11px/1.65 var(--serif);margin:0 0 18px}
.collaborator-copy p{color:#66737d;margin:0 0 22px;font-size:12px;line-height:1.85}
.gratitude-section{color:#fff;text-align:center;background:linear-gradient(135deg,#df5a52,#bf4646);padding:125px 0;position:relative;overflow:hidden}
.gratitude-section:before{content:"";opacity:.12;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}
.gratitude-orbit{color:#ffffff14;font:520px/1 var(--serif);position:absolute;top:-160px;left:50%;transform:translate(-50%)}
.gratitude-content{z-index:2;position:relative}
.gratitude-content h2{font:700 clamp(35px, 5vw, 62px)/1.45 var(--serif);margin:0}
.gratitude-content>p{color:#ffffffc7;max-width:820px;font:500 15px/2 var(--serif);margin:28px auto 35px}
.thanks-names{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}
.thanks-names span{border:1px solid #ffffff4d;border-radius:999px;padding:8px 13px;font-size:10px}
.gratitude-signature{color:var(--gold-soft);font:700 13px var(--serif);letter-spacing:.35em;margin-top:38px;display:block}
.share-band{isolation:isolate;color:#fff;background:radial-gradient(circle at 66% 35%,#f8d27033,#0000 26%),linear-gradient(145deg,#122f52 0%,#24345b 38%,#b94c51 76%,#df6958 100%);align-items:center;min-height:430px;padding:100px 0;display:grid;position:relative;overflow:hidden}
.share-band:before{content:"";z-index:-1;opacity:.24;background-image:radial-gradient(#ffefbce6 .7px,#0000 .7px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 78%);mask-image:linear-gradient(135deg,#000,#0000 78%)}
.share-band:after{content:"";z-index:-1;background:linear-gradient(#0000,#0e283e70),radial-gradient(at 50% 115%,#091f30bf,#0000 68%);height:34%;position:absolute;bottom:0;left:0;right:0}
.share-inner{z-index:5;grid-template-columns:minmax(330px,.9fr) minmax(440px,1.1fr);justify-content:space-between;align-items:center;gap:64px;display:grid;position:relative}
.share-inner>div:first-child{text-shadow:0 5px 24px #0c1d3647;max-width:490px}
.share-inner h2{font:700 clamp(31px, 3.4vw, 47px)/1.42 var(--serif);text-wrap:balance;margin:0 0 14px}
.share-inner p{color:#ffffffc4;letter-spacing:.07em;margin:0;font-size:14px}
.share-actions{z-index:5;justify-content:flex-end;margin-top:0;position:relative}
.share-actions:before{content:"";z-index:-1;border:1px solid #f9d98f52;border-radius:50%;position:absolute;inset:-38px -48px;transform:rotate(-4deg);box-shadow:0 0 45px #f9d98f14}
.share-actions .button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#ffffff6b;min-height:54px;box-shadow:0 13px 30px #0b192d29,inset 0 1px #ffffff57}
.button-lantern{color:#fff8de;background:linear-gradient(135deg,#ffeebe33,#e8655a59)}
.button-lantern span{color:#ffe39a;filter:drop-shadow(0 0 7px #ffdc84bf)}
.blessing-name-form{flex:100%;justify-content:flex-end;align-items:end;gap:11px;margin-top:4px;display:flex}
.blessing-name-field{text-align:left;gap:7px;min-width:250px;display:grid}
.blessing-name-field>span{color:#fff2c8c2;font:800 9px var(--serif);letter-spacing:.14em;padding-left:17px}
.blessing-name-field input{color:#fff8de;width:100%;height:54px;font:700 14px var(--serif);letter-spacing:.06em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff21;border:1px solid #ffffff6b;border-radius:999px;outline:0;padding:0 20px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:0 13px 30px #0b192d29,inset 0 1px #ffffff42}
.blessing-name-field input::placeholder{color:#ffffff8f}
.blessing-name-field input:focus{background:#ffffff30;border-color:#ffe39a;box-shadow:0 0 0 4px #ffdc8421,0 14px 32px #0b192d33}
.blessing-name-form .button-lantern{min-width:205px}
.share-moon{z-index:1;opacity:.42;background:radial-gradient(circle at 34% 30%,#fffadd 0%,#f8dc8b 42%,#dfa74e 68%,#dfa74e00 70%);border-radius:50%;width:260px;height:260px;position:absolute;top:28px;left:51%;box-shadow:0 0 90px #f8dc8b2e}
.share-moon span{background:#7b52261f;border-radius:50%;width:40px;height:20px;position:absolute;top:31%;left:31%;transform:rotate(-15deg);box-shadow:48px 27px #7b522617,16px 65px #7b522614}
.share-light-orbit{z-index:2;border:1px solid #f9d98f61;border-radius:50%;width:min(650px,52vw);height:210px;position:absolute;top:50%;right:5%;transform:translateY(-50%)rotate(-5deg);box-shadow:0 0 34px #f9d98f14}
.share-light-orbit:before,.share-light-orbit:after{content:"";background:#ffe49b;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 14px #f8cf70}
.share-light-orbit:before{top:18%;left:9%}
.share-light-orbit:after{bottom:13%;right:12%}
.share-fireflies{z-index:3;pointer-events:none;position:absolute;inset:0}
.share-fireflies i{opacity:.55;background:#ffe9a5;border-radius:50%;width:4px;height:4px;position:absolute;box-shadow:0 0 10px 3px #ffdd8466}
.share-fireflies i:first-child{top:20%;left:5%}
.share-fireflies i:nth-child(2){top:72%;left:12%}
.share-fireflies i:nth-child(3){top:42%;left:19%}
.share-fireflies i:nth-child(4){top:16%;left:27%}
.share-fireflies i:nth-child(5){top:81%;left:34%}
.share-fireflies i:nth-child(6){top:55%;left:42%}
.share-fireflies i:nth-child(7){top:18%;left:49%}
.share-fireflies i:nth-child(8){top:76%;left:56%}
.share-fireflies i:nth-child(9){top:12%;left:64%}
.share-fireflies i:nth-child(10){top:61%;left:69%}
.share-fireflies i:nth-child(11){top:28%;left:76%}
.share-fireflies i:nth-child(12){top:82%;left:82%}
.share-fireflies i:nth-child(13){top:18%;left:88%}
.share-fireflies i:nth-child(14){top:59%;left:93%}
.share-fireflies i:nth-child(15){top:39%;left:58%}
.share-fireflies i:nth-child(16){top:31%;left:38%}
.share-lantern{z-index:2;opacity:.65;background:linear-gradient(90deg,#dc704d,#ffd17c 49%,#db6847);border-radius:48% 48% 42% 42%;width:30px;height:43px;position:absolute;box-shadow:0 0 25px #ffcc6c52}
.share-lantern:after{content:"";background:#ffda89bf;width:1px;height:10px;position:absolute;bottom:-10px;left:50%}
.share-lantern-one{top:18%;left:5%;transform:rotate(-7deg)scale(.82)}
.share-lantern-two{top:14%;right:8%;transform:rotate(9deg)scale(.65)}
.lantern-launch-scene{z-index:46;pointer-events:none;position:fixed;inset:0;overflow:hidden}
.lantern-launch-scene:before{content:"";z-index:0;opacity:0;background:radial-gradient(circle at 50% 58%,#ffd3742b,#0000 27%),linear-gradient(#07193121,#05142ba3);animation:11.8s ease-in-out forwards lanternSkyGlow;position:absolute;inset:0}
.lantern-starfield{z-index:1;position:absolute;inset:0}
.lantern-starfield i{left:var(--star-left);top:var(--star-top);width:var(--star-size);height:var(--star-size);opacity:0;animation:skyStarTwinkle var(--star-duration) var(--star-delay) ease-in-out infinite alternate;background:#fff4c5;border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #ffe28e85}
.lantern-starfield i:nth-child(5n){background:#fff9dc;border-radius:1px;transform:rotate(45deg);box-shadow:0 0 15px 5px #ffe28e99}
.lantern-starfield i:nth-child(7n){background:#dbe8ff;box-shadow:0 0 12px 4px #c6ddff85}
.blessing-sky-stage{z-index:3;transform-origin:50%;width:340px;height:380px;animation:11.8s cubic-bezier(.18,.52,.2,1) forwards blessingSkyRise;position:absolute;bottom:-380px;left:50%}
.blessing-sky-glow{z-index:0;filter:blur(45px);background:#ffb7375c;border-radius:50%;width:305px;height:305px;animation:1.55s ease-in-out infinite alternate blessingSkyGlow;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}
.blessing-sky-shell{z-index:2;filter:drop-shadow(0 22px 25px #1c131647);width:270px;height:325px;animation:4.8s ease-in-out infinite alternate blessingSkySway;position:absolute;top:8px;left:50%;transform:translate(-50%)}
.blessing-sky-body{z-index:2;color:#843b20;text-align:center;background:linear-gradient(#ff7544 0%,#ff9950 28%,#ffc65d 62%,#ffe58c 100%);border-radius:48% 48% 30% 30%/18% 18% 78% 78%;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:250px;height:282px;padding:42px 24px 55px;display:flex;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 9px 17px #ffffff2e,inset 0 -18px 30px #ffe88b6b,0 0 42px #ffb83c8c}
.blessing-sky-body:before,.blessing-sky-body:after{content:"";z-index:1;opacity:.52;width:37%;position:absolute;top:0;bottom:0}
.blessing-sky-body:before{clip-path:polygon(0 9%,100% 0,65% 100%,0 82%);background:linear-gradient(110deg,#e85f3d,#ff954c 72%,#0000);left:0}
.blessing-sky-body:after{clip-path:polygon(0 0,100% 9%,100% 82%,35% 100%);background:linear-gradient(250deg,#d9573c,#ff8d49 72%,#0000);right:0}
.blessing-sky-light{z-index:0;filter:blur(3px);background:radial-gradient(circle,#fffabef5,#ffdb6694 48%,#0000 72%);border-radius:50%;width:150px;height:190px;position:absolute;bottom:-5%;left:50%;transform:translate(-50%)}
.blessing-sky-invite{z-index:4;color:#7c3e1bdb;max-width:174px;font:800 11px var(--serif);letter-spacing:.14em;gap:4px;display:grid;position:relative}
.blessing-sky-invite b{color:#793711;font:800 16px/1.2 var(--serif);letter-spacing:.12em;overflow-wrap:anywhere}
.blessing-sky-body strong{z-index:4;font:800 30px/1.2 var(--serif);letter-spacing:.16em;text-shadow:0 1px #fff9d8c7,0 0 15px #fff8c6a6;position:relative}
.blessing-sky-body small{z-index:4;color:#6f3519c7;font:800 10px var(--serif);letter-spacing:.14em;position:relative}
.blessing-sky-mouth{z-index:5;background:radial-gradient(at 50% 42%,#fffbd7 0 17%,#ffe58e 29%,#d9893f 68%,#9a542d 100%);border:3px solid #84461d7a;border-radius:50%;width:145px;height:44px;position:absolute;top:255px;left:50%;transform:translate(-50%);box-shadow:0 0 26px 8px #ffda5e8c,inset 0 5px 9px #fffcd77a}
.blessing-sky-mouth:before,.blessing-sky-mouth:after{content:"";transform-origin:top;background:#7643236b;width:1px;height:35px;position:absolute;top:3px;left:50%}
.blessing-sky-mouth:before{rotate:49deg}
.blessing-sky-mouth:after{rotate:-49deg}
.blessing-sky-mouth i{background:#fffbd1;border-radius:70% 30% 60% 40%;width:14px;height:22px;animation:.95s ease-in-out infinite alternate blessingSkyFlame;position:absolute;top:7px;left:50%;transform:translate(-50%)rotate(3deg);box-shadow:0 0 16px 7px #ffcf45d1}
.lantern-thanks{z-index:49;color:#fff3c9;font:700 13px var(--serif);letter-spacing:.08em;opacity:0;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b2736f0;border:1px solid #f9d98f6b;border-radius:999px;padding:12px 20px;transition:opacity .3s,transform .3s;position:fixed;bottom:18px;left:50%;transform:translate(-50%,14px);box-shadow:0 16px 38px #0515224d}
.lantern-thanks.is-showing{opacity:1;transform:translate(-50%)}
.motion-ready main>section{isolation:isolate;position:relative}
.watercolor-reveal{z-index:30;pointer-events:none;opacity:0;filter:blur(12px);background:radial-gradient(circle at 18% 42%,#fff7def5,#0000 31%),radial-gradient(circle at 58% 48%,#f7cf97db,#0000 38%),radial-gradient(circle at 84% 37%,#e7705e94,#0000 28%),#fff8e9;position:absolute;inset:-5%;transform:scale(1.05)}
@keyframes shareMoonBreathe{0%,to{opacity:.34;transform:translateY(0)scale(.96)}
50%{opacity:.5;transform:translateY(8px)scale(1.05)}
}
@keyframes fireflyFloat{0%,to{opacity:.25;translate:0}
50%{opacity:.95;translate:7px -14px}
}
@keyframes shareLanternFloat{0%,to{translate:0}
50%{translate:4px -14px}
}
@keyframes orbitGlow{0%,to{opacity:.35}
50%{opacity:.85}
}
@keyframes watercolorWipe{0%{opacity:.92;clip-path:inset(0)}
62%{opacity:.46}
to{opacity:0;clip-path:inset(0 0 0 100%)}
}
@keyframes handshakeMarkFloat{0%,to{translate:0;rotate:2deg}
50%{translate:0 -7px;rotate:-1deg}
}
@keyframes lanternSkyGlow{0%,to{opacity:0}
10%,82%{opacity:1}
}
@keyframes skyStarTwinkle{0%{opacity:0;scale:.35}
38%{opacity:.95;scale:1.18}
68%{opacity:.42;scale:.72}
to{opacity:1;scale:1}
}
@keyframes blessingSkyRise{0%{opacity:0;transform:translate(-50%,25px)scale(.48)rotate(-3deg)}
11%{opacity:1;transform:translate(-50%,-30vh)scale(.8)rotate(1.5deg)}
28%{transform:translate(-50%,-49vh)scale(1.02)rotate(-1deg)}
54%{transform:translate(-50%,-57vh)scale(.97)rotate(1deg)}
73%{opacity:1;transform:translate(-50%,-75vh)scale(.84)rotate(-1.5deg)}
to{opacity:0;transform:translate(calc(-50% + var(--lantern-drift)), -132vh) scale(.58) rotate(3deg)}
}
@keyframes blessingSkyGlow{0%{opacity:.5;scale:.9}
to{opacity:1;scale:1.08}
}
@keyframes blessingSkySway{0%{transform:translate(-50%)perspective(650px)rotateY(-4deg)rotate(-1deg)}
to{transform:translate(-50%)perspective(650px)rotateY(4deg)rotate(1deg)}
}
@keyframes blessingSkyFlame{0%{rotate:-3deg;scale:.78 1}
to{rotate:5deg;scale:1.08 .86}
}
@media (prefers-reduced-motion:no-preference){.share-moon{animation:7.5s ease-in-out infinite shareMoonBreathe}
.share-fireflies i{animation:3.8s ease-in-out infinite fireflyFloat}
.share-fireflies i:nth-child(3n+1){animation-duration:4.6s;animation-delay:-1.2s}
.share-fireflies i:nth-child(3n+2){animation-duration:5.2s;animation-delay:-2.5s}
.share-lantern{animation:6.8s ease-in-out infinite shareLanternFloat}
.share-lantern-two{animation-delay:-3.2s}
.share-light-orbit{animation:4.8s ease-in-out infinite orbitGlow}
main>section.is-visible>.watercolor-reveal{animation:1s cubic-bezier(.2,.7,.2,1) both watercolorWipe}
}
.site-footer{color:#fff;background:#0c2747;padding:75px 0 25px}
.footer-grid{grid-template-columns:1.15fr 1fr .55fr;gap:70px;display:grid}
.footer-stage-grid{grid-template-columns:1.05fr 1.1fr 1fr .55fr;gap:35px}
.footer-event-brand{align-items:flex-start;gap:12px;display:flex}
.footer-event-brand>img{object-fit:contain;background:#fffaf3;border-radius:15px;width:74px;height:66px;padding:6px 8px;box-shadow:0 8px 24px #00000029}
.footer-event-brand>div{gap:7px;display:grid}
.footer-event-brand strong{font:700 18px var(--serif);letter-spacing:.08em}
.footer-event-brand span{color:#ffffff7a;letter-spacing:.07em;font-size:8px;line-height:1.7}
.footer-stage-unit>strong{border-bottom:1px solid #ffffff1f;padding-bottom:10px}
.footer-stage-unit p{color:#fff9;grid-template-columns:38px 1fr;gap:5px;margin:11px 0 0;font-size:9px;line-height:1.7;display:grid}
.footer-stage-unit b{color:var(--gold-soft);font-size:8px}
.footer-brand{flex-direction:column;align-items:flex-start;gap:12px;display:flex}
.footer-brand img{border-radius:8px;width:min(100%,430px);height:auto}
.footer-host-label{color:var(--gold-soft);letter-spacing:.2em;font-size:9px;font-weight:800}
.footer-grid>div>strong{font:700 14px var(--serif);display:block}
.footer-grid ul{color:#ffffff94;margin:15px 0 0;padding:0;font-size:11px;line-height:2;list-style:none}
.footer-nav{flex-direction:column;align-items:flex-start;gap:12px;display:flex}
.footer-nav strong{margin-bottom:3px}
.footer-nav a{color:#ffffff94;font-size:11px}
.footer-bottom{color:#ffffff57;letter-spacing:.08em;border-top:1px solid #ffffff1a;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;font-size:9px;display:flex}
.page-hero{background:linear-gradient(140deg,#fff9ee,#fffdf9);padding:90px 0 95px;position:relative;overflow:hidden}
.page-hero-moon{color:#fff;background:linear-gradient(135deg,#112f52,#173a63)}
.page-hero-place{background:linear-gradient(140deg,#eef3eb,#fffaf2)}
.page-hero-inner{z-index:2;grid-template-columns:1fr 310px;align-items:end;gap:80px;display:grid;position:relative}
.back-link{color:var(--coral);margin-bottom:45px;font-size:12px;font-weight:800;display:inline-block}
.page-hero h1{font:700 clamp(48px, 6vw, 78px) var(--serif);letter-spacing:.04em;align-items:center;gap:24px;margin:0;display:flex}
.page-hero h1 em{width:62px;height:62px;color:var(--coral);font:600 13px var(--serif);border:1px solid #e8655a73;border-radius:50%;place-items:center;font-style:normal;display:grid}
.page-hero p{color:#687583;max-width:700px;margin:28px 0 0 86px;font-size:15px;line-height:1.95}
.page-hero-moon p{color:#ffffffa1}
.page-hero-moon .section-kicker,.page-hero-moon .back-link{color:var(--gold-soft)}
.page-hero-moon h1 em{color:var(--gold-soft);border-color:#f9d98f80}
.page-orb{opacity:.56;background:radial-gradient(circle at 34% 32%,#fff3c4,#f5cb6e 55%,#f5cb6e33 71%);border-radius:50%;width:360px;height:360px;position:absolute;top:-22%;right:4%}
.page-hero-moon .page-orb{opacity:.9;box-shadow:0 0 100px #f5cb6e2e}
.page-hero-place .page-orb{background:radial-gradient(circle,#b9d0aa,#b9d0aa1a 70%)}
.hero-time-card{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border:1px solid #173a6321;border-radius:22px;padding:28px;position:relative}
.page-hero-moon .hero-time-card{background:#ffffff12;border-color:#ffffff29}
.hero-time-card small,.hero-time-card span{letter-spacing:.18em;opacity:.55;font-size:9px;font-weight:800;display:block}
.hero-time-card strong{color:var(--coral);font:700 26px var(--serif);margin:10px 0 14px;display:block}
.page-hero-moon .hero-time-card strong{color:var(--gold-soft)}
.detail-intro{padding:100px 0 70px}
.detail-intro-grid{grid-template-columns:1fr 1fr;align-items:end;gap:100px;display:grid}
.detail-intro-grid>p{color:#667584;margin:0;line-height:1.95}
.stage-ownership-section{padding:78px 0 88px}
.stage-ownership-day{background:linear-gradient(145deg,#fff8e9,#f6ead1)}
.ownership-heading{grid-template-columns:1.1fr .9fr;align-items:end;gap:70px;margin-bottom:35px;display:grid}
.ownership-heading h2,.stage-ownership-night h2{font:700 clamp(31px, 4vw, 48px)/1.4 var(--serif);margin:0}
.ownership-heading>p{color:#6c7780;margin:0;font-size:13px;line-height:1.9}
.ownership-primary-grid{grid-template-columns:.75fr 1.25fr;gap:15px;display:grid}
.ownership-primary-grid article,.night-ownership-cards article{background:#ffffffd6;border:1px solid #173a631a;border-radius:18px;gap:8px;padding:23px 25px;display:grid}
.ownership-primary-grid small,.night-ownership-cards small{color:var(--gold);letter-spacing:.16em;font-size:8px;font-weight:800}
.ownership-primary-grid strong,.night-ownership-cards strong{font:700 18px/1.55 var(--serif)}
.ownership-primary-grid .ownership-main{background:#fff3ef;border-color:#e8655a42}
.ownership-primary-grid .ownership-main small{color:var(--coral)}
.ownership-co-list{grid-template-columns:125px 1fr;gap:20px;margin-top:24px;display:grid}
.ownership-co-list>span{color:var(--coral);letter-spacing:.17em;padding-top:14px;font-size:9px;font-weight:800}
.ownership-co-list>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}
.ownership-co-list p{color:#5f6d76;background:#ffffffb8;border:1px solid #173a631a;border-radius:13px;align-items:center;gap:11px;min-height:54px;margin:0;padding:11px 14px;font-size:11px;line-height:1.55;display:flex}
.ownership-co-list b{color:var(--gold);font-size:8px}
.stage-ownership-night{color:#fff;background:radial-gradient(circle at 84% -5%,#f9d98f38,#0000 32%),linear-gradient(135deg,#102f50,#0e2c47);position:relative;overflow:hidden}
.ownership-night-grid{grid-template-columns:1fr .9fr;align-items:center;gap:80px;display:grid}
.stage-ownership-night p{color:#ffffff9e;max-width:650px;margin:21px 0 0;font-size:13px;line-height:1.9}
.night-ownership-cards{gap:12px;display:grid}
.night-ownership-cards article{background:#ffffff12;border-color:#ffffff1f}
.night-ownership-cards strong{color:#fff}
.detail-cards-section{padding:25px 0 120px}
.detail-cards{grid-template-columns:1fr 1fr;gap:22px;display:grid}
.detail-card{border:1px solid var(--line);background:#fff;border-radius:27px;min-height:360px;padding:35px}
.detail-card-1{background:linear-gradient(145deg,#fff9ed,#fffdf9)}
.detail-card-2{background:linear-gradient(145deg,#fff2ef,#fffdfb)}
.detail-card-3{background:linear-gradient(145deg,#f0f6ee,#fffdf9)}
.detail-card-4{background:linear-gradient(145deg,#edf3f9,#fffdf9)}
.detail-card-head{justify-content:space-between;align-items:start;display:flex}
.detail-symbol{width:58px;height:58px;color:var(--coral);font:700 17px var(--serif);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 8px 20px #3a3e3c14}
.detail-index{color:var(--gold);font:700 11px var(--serif)}
.detail-card h2{font:700 27px var(--serif);margin:38px 0 20px}
.detail-card ul{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}
.detail-card li{color:#667584;padding-left:17px;font-size:13px;position:relative}
.detail-card li:before{content:"";background:var(--coral);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}
.tips-section{background:#f7f2e9;padding:105px 0}
.tips-grid{grid-template-columns:.9fr 1.1fr;gap:90px;display:grid}
.tips-list{border-top:1px solid var(--line)}
.tips-list p{border-bottom:1px solid var(--line);color:#657281;gap:25px;margin:0;padding:20px 0;font-size:13px;line-height:1.7;display:flex}
.tips-list span{color:var(--gold);font-size:10px;font-weight:800}
.next-stage{padding:70px 0}
.next-stage-inner{grid-template-columns:110px 1fr auto;align-items:center;gap:35px;display:grid}
.next-stage-inner>span{color:var(--coral);letter-spacing:.18em;font-size:10px;font-weight:800}
.next-stage h2{font:700 25px var(--serif);margin:0 0 5px}
.next-stage p{color:#79828b;margin:0;font-size:13px}
.evening-timeline-section{padding:110px 0}
.evening-timeline{border-top:1px solid var(--line)}
.evening-timeline article{border-bottom:1px solid var(--line);grid-template-columns:80px 240px 1fr;align-items:center;gap:35px;min-height:130px;display:grid}
.evening-index{color:var(--gold);font:700 10px var(--serif)}
.evening-timeline time{font-family:var(--serif);align-items:center;gap:14px;display:flex}
.evening-timeline time strong{font-size:25px}
.evening-timeline time small{color:#879099;font-size:14px}
.evening-timeline time i{background:var(--gold);width:20px;height:1px;font-size:0}
.evening-timeline h3{font:700 19px var(--serif);margin:0 0 7px}
.evening-timeline p{color:#7c8791;margin:0;font-size:12px}
.evening-close{background:linear-gradient(90deg,#e8655a0f,#0000)}
.program-wall{color:#fff;background:#123257;padding:115px 0;position:relative;overflow:hidden}
.program-moon{border:1px solid #f9d98f40;border-radius:50%;width:390px;height:390px;position:absolute;bottom:-150px;left:-100px;box-shadow:inset 0 0 100px #f9d98f14}
.program-wall-grid{z-index:2;grid-template-columns:.72fr 1.28fr;gap:90px;display:grid;position:relative}
.program-wall h2{font:700 clamp(37px, 4.5vw, 60px) var(--serif);margin:0 0 18px}
.program-wall p{color:#ffffff96;line-height:1.8}
.program-chips{border-top:1px solid #ffffff29;grid-template-columns:1fr 1fr;display:grid}
.program-chips div{border-bottom:1px solid #ffffff29;align-items:center;gap:15px;min-height:76px;padding:15px 22px;display:flex}
.program-chips div:nth-child(odd){border-right:1px solid #ffffff29}
.program-chips span{color:var(--gold-soft);font-size:9px}
.program-chips strong{font:700 13px/1.5 var(--serif)}
.closing-section{text-align:center;background:#fff9ef;padding:120px 0}
.closing-content{position:relative}
.closing-moon{color:#f0b0482e;font:300 280px/1 var(--serif);position:absolute;top:-80px;left:50%;transform:translate(-50%)}
.closing-content p{z-index:2;font:600 clamp(24px, 3.2vw, 39px)/1.8 var(--serif);color:var(--ink);margin:0;position:relative}
.closing-content>strong{z-index:2;color:var(--coral);letter-spacing:.18em;margin:24px 0 34px;font-size:13px;display:block;position:relative}
.closing-content .button{z-index:2;position:relative}
.map-section{padding:110px 0}
.map-layout{grid-template-columns:1.25fr .75fr;align-items:stretch;gap:35px;display:grid}
.large-map{min-height:560px}
.venue-card{background:#f7f2e9;border-radius:29px;padding:48px}
.venue-card h2{font:700 39px var(--serif);margin:0 0 12px}
.venue-card>p{color:#657281;line-height:1.8}
.venue-facts{border-top:1px solid var(--line);margin:35px 0}
.venue-facts div{border-bottom:1px solid var(--line);padding:17px 0}
.venue-facts span{color:#9a8a76;letter-spacing:.14em;font-size:9px;display:block}
.venue-facts strong{margin-top:6px;font-size:13px;display:block}
.travel-tips{background:#f3f6f0;padding:105px 0}
.travel-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}
.travel-grid article{background:#fff;border-radius:22px;padding:30px 25px}
.travel-grid span{color:var(--sage);font-size:10px;font-weight:800}
.travel-grid h3{font:700 20px var(--serif);margin:28px 0 12px}
.travel-grid p{color:#738079;margin:0;font-size:12px;line-height:1.8}
@media (width<=980px){.nav-links{gap:14px;font-size:12px}
.official-brand{min-width:245px}
.official-brand strong{font-size:17px}
.hero-grid{gap:35px}
.hero-copy h1{font-size:76px}
.hero-main-title{grid-template-columns:minmax(0,1fr) 118px;gap:10px}
.hero-main-title-watercolor{grid-template-columns:minmax(0,1fr) 96px;gap:8px}
.hero-title-visual-frame{border-width:6px;border-radius:34px 48px 31px 43px}
.hero-handshake-mark{width:72px;height:72px;top:auto;right:auto}
.hero-handshake-mark:before{width:42px}
.hero-handshake-mark img{width:64px}
.poster-stage{width:460px}
.event-facts{grid-template-columns:1fr 1fr}
.event-facts div:nth-child(2){border:0}
.intro-grid,.snapshot-grid,.location-grid{gap:55px}
.footer-grid{gap:35px}
.travel-grid{grid-template-columns:1fr 1fr}
.collaborator-card{grid-template-columns:145px 1fr}
.collaborator-copy{padding:28px 23px}
.program-partner-panels{grid-template-columns:1fr}
.footer-stage-grid{grid-template-columns:1fr 1fr}
.song-layout{grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:36px}
.lyrics-card{width:min(100%,515px)}
.lyrics-window{padding-inline:27px}
}
@media (width<=760px){.mobile-poster-intro{z-index:120;padding:max(24px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));color:#fff;background:radial-gradient(circle at 72% 16%,#f8d67e40,#0000 26%),linear-gradient(155deg,#0d302d 0%,#112f4e 53%,#b64d50 100%);justify-content:center;align-items:center;transition:opacity .7s,visibility .7s;animation:.45s both introBackdropIn;display:flex;position:fixed;inset:0;overflow:hidden}
.mobile-poster-intro:before{content:"";opacity:.26;background-image:radial-gradient(#ffedb5e6 .7px,#0000 .7px);background-size:19px 19px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(145deg,#000,#0000 82%);mask-image:linear-gradient(145deg,#000,#0000 82%)}
.mobile-poster-intro:after{content:"";filter:blur(10px);background:radial-gradient(at 50% 0,#e7665694,#0b24341a 68%);border-radius:50% 50% 0 0;height:42%;position:absolute;bottom:-16%;left:-18%;right:-18%}
.mobile-poster-intro.is-leaving{opacity:0;visibility:hidden}
.mobile-poster-intro.is-leaving .mobile-poster-stage{filter:blur(4px);transform:translateY(-16px)scale(1.035)}
.mobile-poster-stage{z-index:5;justify-items:center;gap:13px;width:min(89vw,390px);transition:transform .7s cubic-bezier(.3,.7,.2,1),filter .7s;display:grid;position:relative}
.mobile-poster-card{background:#fff8e8;border:7px solid #fffffff5;border-radius:25px;width:100%;animation:1.25s cubic-bezier(.18,.78,.2,1) .1s both introPosterReveal;position:relative;overflow:hidden;box-shadow:0 30px 75px #03141f7a,0 0 0 1px #f9d98f38,0 0 65px #f9d27024}
.mobile-poster-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffab,#0000);width:32%;animation:2.6s .3s both introPosterShine;position:absolute;top:-12%;bottom:-12%;left:-75%;transform:skew(-15deg)}
.mobile-poster-card img{object-fit:contain;width:100%;height:auto;max-height:calc(100dvh - 145px)}
.poster-image-intro{aspect-ratio:2/3;width:min(78vw,340px)}
.poster-image-intro img{object-fit:cover;opacity:0;width:100%;height:100%;max-height:none;transition:opacity .75s,transform 1.1s cubic-bezier(.2,.75,.2,1);position:absolute;inset:0;transform:scale(.955)}
.poster-image-intro img.is-active{opacity:1;transform:scale(1)}
.mobile-poster-caption{color:#fff8db;min-height:24px;font:700 10px var(--serif);letter-spacing:.06em;justify-content:center;align-items:center;gap:7px;display:flex}
.mobile-poster-caption span{margin-right:5px}
.mobile-poster-caption i{background:#ffffff40;border-radius:50%;width:6px;height:6px;transition:width .3s,background .3s}
.mobile-poster-caption i.is-active{background:var(--gold-soft);border-radius:99px;width:18px}
.dual-mobile-intro{min-height:min(620px,100dvh - 130px);color:var(--ink);text-align:center;background:radial-gradient(circle at 82% 8%,#ffdc7cc7,#0000 23%),linear-gradient(165deg,#fffdf8 0 50%,#15385f 50% 100%);flex-direction:column;padding:27px 22px 22px;display:flex}
.dual-mobile-year{background:var(--coral);color:#fff;letter-spacing:.12em;border-radius:999px;align-self:center;padding:6px 11px;font-size:8px;font-weight:800}
.dual-mobile-intro h1{font:800 clamp(48px, 15vw, 66px)/.93 var(--serif);letter-spacing:.05em;margin:17px 0 6px}
.dual-mobile-intro h1 em{color:var(--coral);font-style:normal}
.dual-mobile-intro>p{color:#757b7d;font:700 10px var(--serif);letter-spacing:.08em;margin:0 0 15px}
.dual-mobile-stages{gap:8px;display:grid}
.dual-mobile-stages article{background:#fffffff0;border:1px solid #e8655a33;border-radius:15px;gap:4px;padding:13px 15px;display:grid;box-shadow:0 10px 25px #1f2d3317}
.dual-mobile-stages article:last-child{color:#fff;background:#0c2a48f5;border-color:#f9d98f3d}
.dual-mobile-stages small{color:var(--coral);letter-spacing:.12em;font-size:8px;font-weight:800}
.dual-mobile-stages article:last-child small{color:var(--gold-soft)}
.dual-mobile-stages strong{font:700 20px var(--serif)}
.dual-mobile-stages span{font-size:8px;line-height:1.45}
.dual-mobile-stages>i{height:19px;color:var(--coral);place-items:center;font-size:11px;font-style:normal;display:grid}
.dual-mobile-intro footer{color:var(--gold-soft);font:700 9px var(--serif);letter-spacing:.12em;margin-top:auto;padding-top:14px}
.mobile-poster-enter{color:#fff5d4;width:min(240px,82vw);min-height:45px;font:700 12px var(--serif);letter-spacing:.09em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#0a2831c7;border:1px solid #f9d98f75;border-radius:999px;justify-content:center;align-items:center;gap:16px;animation:.7s 1s both heroRise;display:flex;box-shadow:0 12px 30px #04151f47,inset 0 1px #ffffff1f}
.mobile-poster-enter b{color:var(--gold-soft);font-size:18px}
.mobile-poster-progress{background:#ffffff21;border-radius:99px;width:min(190px,68vw);height:2px;overflow:hidden}
.mobile-poster-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--gold-soft), white);transform-origin:0;width:100%;height:100%;animation:6.2s linear both introProgress;display:block}
.mobile-poster-skip{z-index:8;right:max(17px, env(safe-area-inset-right));top:max(17px, env(safe-area-inset-top));color:#ffffffc7;letter-spacing:.12em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#08232b80;border:1px solid #ffffff40;border-radius:999px;min-width:54px;height:34px;font-size:10px;position:absolute}
.intro-poster-moon{z-index:1;background:radial-gradient(circle at 35% 32%,#fffadd,#f5d274 49%,#d99a3e 69%,#d99a3e00 71%);border-radius:50%;width:210px;height:210px;animation:6.5s ease-in-out infinite introMoonBreathe;position:absolute;top:-38px;right:-45px;box-shadow:0 0 80px #f9d87e33}
.intro-poster-moon span{background:#7a4e221f;border-radius:50%;width:35px;height:16px;position:absolute;top:34%;left:33%;transform:rotate(-18deg);box-shadow:40px 26px #7a4e221a,14px 56px #7a4e2214}
.intro-poster-fireflies{z-index:2;pointer-events:none;position:absolute;inset:0}
.intro-poster-fireflies i{background:#ffe69a;border-radius:50%;width:4px;height:4px;animation:4.2s ease-in-out infinite introFirefly;position:absolute;box-shadow:0 0 11px 3px #ffdc7b6b}
.intro-poster-fireflies i:first-child{top:17%;left:7%}
.intro-poster-fireflies i:nth-child(2){animation-delay:-1.2s;top:56%;left:15%}
.intro-poster-fireflies i:nth-child(3){animation-delay:-2.3s;top:9%;left:25%}
.intro-poster-fireflies i:nth-child(4){animation-delay:-.8s;top:82%;left:35%}
.intro-poster-fireflies i:nth-child(5){animation-delay:-3s;top:15%;left:47%}
.intro-poster-fireflies i:nth-child(6){animation-delay:-1.7s;top:90%;left:57%}
.intro-poster-fireflies i:nth-child(7){animation-delay:-.4s;top:7%;left:69%}
.intro-poster-fireflies i:nth-child(8){animation-delay:-2.1s;top:72%;left:77%}
.intro-poster-fireflies i:nth-child(9){animation-delay:-1.4s;top:43%;left:89%}
.intro-poster-fireflies i:nth-child(10){animation-delay:-3.2s;top:79%;left:95%}
.intro-poster-fireflies i:nth-child(11){animation-delay:-2.7s;top:91%;left:4%}
.intro-poster-fireflies i:nth-child(12){animation-delay:-.9s;top:18%;left:82%}
.intro-poster-fireflies i:nth-child(13){animation-delay:-3.4s;top:31%;left:18%}
.intro-poster-fireflies i:nth-child(14){animation-delay:-1.9s;top:58%;left:92%}
.intro-poster-lantern{z-index:3;opacity:.72;background:linear-gradient(90deg,#dd714e,#ffd47e 50%,#db6746);border-radius:48% 48% 42% 42%;width:26px;height:38px;animation:6s ease-in-out infinite introLanternDrift;position:absolute;box-shadow:0 0 24px #ffca6559}
.intro-poster-lantern:after{content:"";background:#ffdc89cc;width:1px;height:10px;position:absolute;bottom:-10px;left:50%}
.intro-poster-lantern.lantern-left{top:22%;left:4%;scale:.8}
.intro-poster-lantern.lantern-right{animation-delay:-2.8s;bottom:17%;right:5%;scale:.64}
.intro-poster-note{z-index:3;color:var(--gold-soft);font:700 27px var(--serif);animation:4.8s ease-in-out infinite introNoteFloat;position:absolute}
.intro-poster-note.note-left{bottom:31%;left:5%;rotate:-12deg}
.intro-poster-note.note-right{animation-delay:-2.1s;top:32%;right:7%;rotate:11deg}
.scroll-progress{top:67px}
.section-shell,.nav-shell,.site-header .nav-shell{width:min(100% - 32px,620px)}
.nav-shell{height:68px}
.official-brand{gap:9px;width:min(255px,100vw - 90px);min-width:0}
.official-brand img{width:39px;height:35px}
.official-brand strong{font-size:15px}
.official-brand small{letter-spacing:.08em;font-size:7px}
.menu-button{display:block}
.nav-links{background:#10302dfb;border:1px solid #f9d98f47;border-radius:18px;flex-direction:column;align-items:stretch;gap:0;padding:12px;display:none;position:absolute;top:62px;left:16px;right:16px;box-shadow:0 20px 45px #0b26233d}
.nav-links.is-open{display:flex}
.nav-links>a{padding:13px 15px}
.nav-links>a:after{display:none}
.nav-links .nav-cta{text-align:center;margin-top:5px}
.nav-links .language-switcher{display:none}
.mobile-language-bar{background:linear-gradient(115deg,#fffaeffa,#fff0ccf0);border:1px solid #f9d98f6b;border-radius:18px;grid-template-columns:31px auto minmax(0,1fr);align-items:center;gap:8px;width:min(100% - 24px,596px);min-height:52px;margin:0 auto 9px;padding:6px 8px 6px 7px;animation:.65s 80ms both mobileLanguageReveal;display:grid;position:relative;overflow:hidden;box-shadow:0 9px 24px #07221f33,inset 0 1px #fffffff2}
.mobile-language-bar:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 24%,#ffffffb8 45%,#0000 64%);animation:4.8s ease-in-out 1.2s infinite mobileLanguageShine;position:absolute;inset:0;transform:translate(-130%)}
.mobile-language-mark{z-index:1;background:#fffaf1;border-radius:50%;place-items:center;width:31px;height:31px;display:grid;position:relative;box-shadow:0 3px 9px #b16f2d29}
.mobile-language-mark img{object-fit:contain;width:27px;height:27px}
.mobile-language-title{z-index:1;border-right:1px solid #9f773d33;gap:1px;min-width:49px;padding-right:7px;display:grid;position:relative}
.mobile-language-title small{color:#b47b35;font:800 6px/1 var(--sans);letter-spacing:.13em}
.mobile-language-title strong{color:#173a63;font:800 9px/1.25 var(--sans);white-space:nowrap}
.mobile-language-options{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid;position:relative}
.mobile-language-options button{color:#49615d;min-width:0;height:32px;font:800 clamp(8px, 2.5vw, 10px)/1 var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:0 2px;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.mobile-language-options button:active{transform:scale(.94)}
.mobile-language-options button.is-active{color:#fff;background:linear-gradient(135deg,#ed6b5f,#d9534d);border-color:#e8655a26;box-shadow:0 5px 12px #ce4f4938}
@keyframes mobileLanguageReveal{0%{opacity:0;transform:translateY(-8px)scale(.98)}
to{opacity:1;transform:translateY(0)scale(1)}
}
@keyframes mobileLanguageShine{0%,68%{transform:translate(-130%)}
86%,to{transform:translate(130%)}
}
.home-hero{background-image:linear-gradient(#fff9eedb,#fff9eeb3),url(/watercolor-hero-bg.png);background-position:50%,64% bottom;background-size:cover,auto 100%;min-height:auto;padding:45px 0 75px}
.home-hero .section-shell{width:min(100% - 32px,620px)}
.hero-grid{grid-template-columns:1fr}
.hero-copy{text-align:center}
.hero-title-lockup{margin:0 auto}
.hero-charity-signature{border-radius:15px;width:min(100%,430px);margin:13px auto 0;padding:8px 11px 8px 8px}
.hero-charity-signature>img{width:47px;height:42px}
.hero-charity-signature>span{gap:2px;padding-left:9px}
.hero-charity-signature small{letter-spacing:.08em;font-size:6px}
.hero-charity-signature strong{letter-spacing:.07em;font-size:11px}
.hero-handshake-mark{display:none}
.festival-title{justify-content:center;gap:9px;margin:0 auto 17px}
.festival-title i{width:18px}
.festival-title strong{letter-spacing:.1em;font-size:clamp(14px,4.4vw,18px)}
.festival-title span{padding:5px 8px;font-size:9px}
.hero-main-title{grid-template-columns:minmax(0,1fr) 86px;gap:1px}
.hero-main-title-watercolor{padding-bottom:50px;display:block}
.hero-main-title-watercolor .hero-title-side{margin:0;position:absolute;bottom:0;right:9px;transform:rotate(1.5deg)}
.hero-title-visual-frame{border-width:5px;border-radius:27px 39px 25px 36px;width:100%;box-shadow:0 18px 38px #4c463726,0 0 0 1px #c384371a}
.hero-title-artwork{width:100%;max-width:none}
.hero-copy h1{letter-spacing:-.035em;text-align:center;font-size:clamp(52px,15.8vw,72px)}
.hero-copy h1 span,.hero-copy h1 em{margin-inline:auto}
.hero-copy h1 em{margin-top:3px}
.hero-copy h1 em:after{height:5px;bottom:-5px}
.hero-title-side{gap:0;transform:translateY(3px)rotate(1deg)}
.hero-date-art{border-width:1.5px;width:82px;min-height:74px;padding:9px 5px 7px}
.hero-date-art small{letter-spacing:.09em;font-size:7px}
.hero-date-art strong{letter-spacing:-.1em;margin:1px 0 -2px;font-size:28px}
.hero-date-art strong i{font-size:14px}
.hero-date-art b{letter-spacing:.08em;font-size:6px}
.hero-slogan{letter-spacing:.1em;white-space:normal;justify-content:center;font-size:16px}
.hero-description{font-size:14px;line-height:1.8}
.hero-actions{justify-content:center}
.event-facts{text-align:left;grid-template-columns:1fr 1fr 1fr;gap:8px}
.event-facts div{padding-right:7px}
.event-facts strong{font-size:11px}
.countdown{grid-template-columns:repeat(3,1fr);gap:0}
.countdown-label{grid-column:1/-1;justify-content:space-between;align-items:center;padding:3px 5px 7px;display:flex}
.countdown-label small{margin-top:0}
.countdown-unit{min-height:55px}
.countdown-unit strong{font-size:21px}
.poster-stage{justify-self:center;width:min(94vw,430px);margin-top:34px;padding:0}
.desktop-poster-showcase{display:none}
.poster-duo{gap:34px;display:flex}
.poster-duo-card{border-width:1px;border-radius:22px;padding:5px;box-shadow:0 20px 46px #3036332e}
.poster-duo-card span{grid-template-columns:auto auto 1fr;gap:8px;padding:14px 16px;font-size:16px}
.poster-duo-card span b{font-size:11px}
.poster-duo-card span i{padding-right:9px;font-size:9px}
.stage-poster-feature{padding:72px 0 78px}
.stage-poster-layout{text-align:center;grid-template-columns:1fr;gap:48px}
.stage-poster-art{border-width:7px;border-radius:23px;width:min(78vw,350px);margin:auto}
.stage-poster-art img{border-radius:15px}
.stage-poster-copy p{margin-inline:auto;font-size:14px;line-height:1.85}
.stage-poster-actions{justify-content:center}
.stage-poster-copy .button{margin-inline:0}
.dual-stage-poster{min-height:535px;padding:34px 25px 24px}
.dual-stage-poster>h2{font-size:37px}
.dual-poster-stage strong{font-size:23px}
.moon-glow{width:170px;height:170px;right:-35px}
.floating-lantern,.scroll-cue{display:none}
.quick-event-section{padding:34px 0 55px}
.event-smart-mode{border-radius:20px;grid-template-columns:1fr auto;gap:13px 12px;min-height:0;padding:18px}
.smart-mode-signal{grid-column:1/-1;font-size:7px}
.smart-mode-signal i{width:8px;height:8px;box-shadow:0 0 0 5px #f9d98f1a}
.smart-mode-copy strong{font-size:16px}
.smart-mode-copy p{font-size:10px;line-height:1.6}
.event-smart-mode>a{min-height:38px;padding-inline:13px;font-size:9px}
.quick-event-heading{margin:33px 0 16px;display:block}
.quick-event-heading h2{font-size:28px}
.quick-event-heading p{margin-top:7px;font-size:10px}
.quick-event-grid{grid-template-columns:1fr 1fr;gap:9px}
.quick-event-grid>*{border-radius:17px;min-height:118px;padding:17px 14px}
.quick-event-grid b{font-size:29px;top:8px;right:11px}
.quick-event-grid strong{font-size:14px}
.content-status-panel{border-radius:16px;grid-template-columns:1fr;gap:12px;padding:16px}
.content-status-panel>div{grid-template-columns:1fr auto;align-items:center}
.content-status-panel ul{grid-template-columns:1fr 1fr;gap:6px;display:grid}
.content-status-panel li{white-space:nowrap;justify-content:flex-start;padding:7px 8px;font-size:8px}
.intro-section,.program-section,.snapshot-section,.timeline-section,.location-preview{padding:80px 0}
.theme-song-section{padding:68px 0 82px}
.song-layout{grid-template-columns:1fr;gap:34px}
.song-story{text-align:center}
.song-story h2{font-size:clamp(36px,10vw,48px)}
.song-story>p{margin:18px auto 0;font-size:13px;line-height:1.75}
.creator-signature{justify-content:center;margin-top:20px}
.song-art{width:min(230px,68vw);margin:26px auto 0}
.song-record{width:145px}
.song-record span{width:40px;height:40px}
.song-art>i{padding:6px 11px;font-size:8px;bottom:9px}
.lyrics-card{border-radius:20px;justify-self:center;width:min(90%,410px)}
.lyrics-card:after{width:42px;top:67px;left:18px}
.lyrics-card-head{height:68px;padding-inline:17px}
.lyrics-head-copy{gap:6px}
.lyrics-song-name{letter-spacing:.1em;font-size:14px}
.lyrics-head-meta{gap:7px}
.lyrics-head-meta span,.lyrics-head-meta strong{font-size:7px}
.lyrics-head-meta strong{padding:4px 7px}
.sound-bars{scale:.82}
.lyrics-window{height:252px;padding-inline:18px}
.lyrics-spacer{height:88px}
.lyric-line{text-align:center;padding:6px 0}
.lyric-line small{margin:0 auto 5px;padding:3px 7px;font-size:7px}
.lyric-line span{font-size:clamp(14px,4vw,17px);line-height:1.42}
.lyric-line.is-active{transform:scale(1.015)}
.song-controls{grid-template-columns:34px 30px 1fr 30px 27px;gap:4px;height:58px;padding-inline:10px}
.song-play-button{width:36px;height:36px;font-size:12px}
.song-mute-button{width:28px;height:28px;font-size:9px}
.song-time{font-size:8px}
.full-lyrics-sheet{width:min(100% - 36px,620px);margin-top:48px;padding-top:34px}
.full-lyrics-sheet>header{text-align:center;margin-bottom:20px;display:block}
.full-lyrics-sheet>header h3{font-size:27px}
.full-lyrics-sheet>header p{margin-top:10px;font-size:10px}
.full-lyrics-grid{grid-template-columns:1fr;gap:9px}
.full-lyrics-grid article{border-radius:16px;grid-template-columns:45px minmax(0,1fr);gap:10px;padding:19px 17px}
.full-lyrics-grid article>small{font-size:8px}
.full-lyrics-grid button{gap:9px;padding:7px 0}
.full-lyrics-grid button span{font-size:12px;line-height:1.55}
.full-lyrics-sheet>footer{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}
.full-lyrics-sheet>footer i{text-align:center;width:100%;margin:3px 0 0}
.song-dock{left:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom));border-radius:20px;width:58px;height:58px;transition:width .32s cubic-bezier(.2,.75,.2,1),border-radius .32s,transform .25s;overflow:visible}
.song-dock:hover{transform:none}
.song-dock .dock-main{border-radius:inherit;grid-template-columns:42px;gap:0;height:56px;padding:7px;overflow:hidden}
.dock-disc{width:42px;height:42px}
.song-dock .dock-copy,.song-dock .dock-equalizer{display:none}
.dock-toggle{width:20px;height:20px;color:var(--gold-soft);cursor:pointer;background:#163d3a;border:1px solid #f9d98f80;border-radius:50%;place-items:center;padding:0;font-size:13px;line-height:1;display:grid;position:absolute;top:-6px;right:-4px;box-shadow:0 5px 12px #0003}
.song-dock.is-expanded{border-radius:999px;width:min(310px,100vw - 32px)}
.song-dock.is-expanded .dock-main{grid-template-columns:42px minmax(0,1fr) 21px;gap:9px;padding:7px 13px 7px 7px}
.song-dock.is-expanded .dock-copy{display:block}
.song-dock.is-expanded .dock-equalizer{display:flex}
.song-dock.is-expanded .dock-lyrics-link{color:#fff2bd;letter-spacing:.08em;background:#10302df5;border:1px solid #f9d98f47;border-radius:999px;align-items:center;min-height:31px;padding:0 12px;font-size:8px;font-weight:800;display:inline-flex;position:absolute;bottom:calc(100% + 8px);right:4px;box-shadow:0 8px 20px #03181b33}
.dock-copy strong{font-size:11px}
.intro-grid,.snapshot-grid,.location-grid,.detail-intro-grid,.tips-grid,.map-layout,.program-wall-grid{grid-template-columns:1fr;gap:42px}
.intro-grid h2,.snapshot-content h2,.location-preview h2,.tips-section h2{font-size:37px}
.intro-copy .lead{font-size:16px}
.section-heading{margin-bottom:32px;display:block}
.section-heading>p{margin-top:13px}
.stage-cards{grid-template-columns:1fr}
.stage-card{min-height:570px;padding:28px 24px 108px}
.stage-card-top{gap:12px}
.stage-badge{letter-spacing:.035em;white-space:nowrap;min-height:44px;padding:9px 16px;font-size:clamp(14px,4.4vw,18px)}
.stage-icon{flex:none;font-size:36px}
.stage-card-day .stage-icon{font-size:52px;transform:translate(5px,7px)}
.stage-card .stage-time{margin-top:40px;font-size:14px}
.stage-card h3{margin-top:14px;font-size:clamp(39px,11.5vw,53px)}
.tag-list{gap:8px;margin-top:24px}
.tag-list span{padding:8px 11px}
.card-link{width:100%;min-height:64px;color:var(--coral-dark);background:#ffffff61;border:1px solid;border-radius:18px;justify-content:space-between;align-self:stretch;margin-top:28px;padding:0 18px;font-size:15px}
.stage-card-night .card-link{color:var(--gold-soft);background:#ffffff0d}
.poster-small{width:min(82vw,330px)}
.service-grid{grid-template-columns:1fr}
.home-timeline{grid-template-columns:1fr;gap:25px;margin-top:40px}
.home-timeline:before{background:linear-gradient(var(--gold), #ffffff26);width:1px;height:auto;inset:15px auto 15px 17px}
.home-timeline article{grid-template-columns:48px 110px 1fr;align-items:start;padding:0;display:grid}
.home-timeline time{margin:7px 0 0;font-size:19px}
.home-timeline h3{margin-top:7px}
.home-timeline p{grid-column:3}
.closing-line{grid-template-columns:auto 1fr;display:grid}
.closing-line em{grid-column:2;margin-left:0}
.compact-map{height:400px}
.map-status{display:none}
.map-quick-actions{gap:7px;top:14px;left:14px;right:14px}
.map-quick-actions a{text-align:center;flex:1;padding:11px 8px;font-size:9px}
.map-label{min-width:0;max-width:none;padding:13px 15px;bottom:14px;left:14px;right:14px}
.partners-bridge-link{grid-template-columns:55px 1fr;gap:20px;min-height:360px}
.partners-bridge-mark{width:52px;height:52px;font-size:31px}
.partners-bridge h2{font-size:28px}
.partners-bridge p{font-size:11px;line-height:1.8}
.partners-bridge-unity{grid-column:2;justify-self:start;width:84px;height:84px}
.partners-bridge-unity b{font-size:22px}
.partners-bridge-unity small{margin-top:5px;font-size:7px}
.program-partners-section{padding:80px 0}
.program-partner-panels{grid-template-columns:1fr}
.program-panel-head{min-height:225px;padding:29px 25px}
.program-panel-body{padding:25px 20px 30px}
.co-organizer-block>div{grid-template-columns:1fr}
.share-band{min-height:620px;padding:92px 0 105px}
.share-inner{text-align:center;display:block}
.share-inner>div:first-child{max-width:100%}
.share-inner h2{font-size:clamp(30px,9.3vw,42px);line-height:1.45}
.share-inner p{font-size:13px;line-height:1.8}
.share-actions{grid-template-columns:1fr 1fr;justify-content:stretch;gap:11px;width:100%;margin-top:38px;display:grid}
.share-actions:before{border-radius:38%;inset:-24px -10px}
.share-actions .button{gap:8px;width:100%;min-height:56px;padding:0 12px;font-size:13px}
.share-actions .button-ghost,.share-actions .button-lantern{grid-column:1/-1}
.share-actions .blessing-name-form{grid-column:1/-1;grid-template-columns:1fr;gap:10px;margin-top:4px;display:grid}
.blessing-name-field{min-width:0}
.blessing-name-field input{height:56px}
.blessing-name-form .button-lantern{min-width:0}
.share-moon{opacity:.32;width:200px;height:200px;margin-left:-100px;top:35px;left:50%}
.share-light-orbit{width:150%;height:250px;top:67%;right:-25%}
.share-lantern-one{top:12%;left:7%}
.share-lantern-two{top:29%;right:7%}
.share-fireflies i:nth-child(n+11){display:none}
.blessing-sky-stage{width:270px;height:315px;bottom:-315px}
.blessing-sky-shell{width:215px;height:270px}
.blessing-sky-body{width:202px;height:228px;padding:34px 18px 43px}
.blessing-sky-invite{max-width:146px;font-size:9px}
.blessing-sky-invite b{font-size:14px}
.blessing-sky-body strong{font-size:25px}
.blessing-sky-body small{font-size:8px}
.blessing-sky-mouth{width:118px;height:37px;top:207px}
.blessing-sky-mouth i{width:12px;height:19px;top:5px}
.blessing-sky-glow{width:245px;height:245px}
.lantern-thanks{max-width:calc(100vw - 32px);font-size:12px;bottom:84px}
.footer-grid{grid-template-columns:1fr;gap:35px}
.footer-stage-grid{grid-template-columns:1fr}
.footer-bottom{line-height:2;display:block}
.page-hero{padding:60px 0 70px}
.page-hero-inner{grid-template-columns:1fr;gap:35px}
.back-link{margin-bottom:35px}
.page-hero h1{gap:15px;font-size:47px}
.page-hero h1 em{width:49px;height:49px}
.page-hero p{margin-left:0;font-size:14px}
.page-orb{width:280px;height:280px;right:-100px}
.detail-intro{padding:75px 0 45px}
.stage-ownership-section{padding:68px 0 75px}
.ownership-heading,.ownership-night-grid{grid-template-columns:1fr;gap:28px}
.ownership-primary-grid{grid-template-columns:1fr}
.ownership-co-list{grid-template-columns:1fr;gap:10px}
.ownership-co-list>div,.detail-cards{grid-template-columns:1fr}
.detail-card{min-height:320px}
.next-stage-inner{grid-template-columns:1fr}
.evening-timeline-section,.program-wall,.closing-section,.map-section,.travel-tips{padding:80px 0}
.evening-timeline article{grid-template-columns:38px 125px 1fr;gap:10px;min-height:115px}
.evening-timeline time{gap:7px}
.evening-timeline time strong{font-size:19px}
.evening-timeline h3{font-size:16px}
.program-chips{grid-template-columns:1fr}
.program-chips div:nth-child(odd){border-right:0}
.large-map{min-height:430px}
.venue-card{padding:34px 25px}
.travel-grid{grid-template-columns:1fr}
.partners-hero{padding:70px 0 80px}
.partners-hero-inner{grid-template-columns:1fr;gap:45px}
.partners-hero h1{font-size:48px}
.partners-hero p{font-size:14px}
.gratitude-seal{justify-self:center;width:205px;height:205px}
.host-profile-section,.collaborator-profiles-section,.gratitude-section{padding:80px 0}
.partner-page-heading{display:block}
.partner-page-heading>p{margin-top:13px}
.host-profile-card{grid-template-columns:1fr}
.host-logo-stage{min-height:250px;padding:35px 25px}
.host-profile-copy{padding:35px 27px}
.collaborator-profiles{grid-template-columns:1fr}
.collaborator-card{grid-template-columns:125px 1fr;min-height:330px}
.identity-panel{padding:21px 13px}
.identity-mark strong{font-size:20px}
.collaborator-copy{padding:27px 20px}
.collaborator-copy h2{font-size:22px}
.host-values{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}
.mobile-poster-intro.is-leaving{display:none}
}
.preparation-heading .preparation-note{color:#657477;background:#ffffffa6;border-left:3px solid #d6a06e;margin-top:14px;padding:12px 16px;font-size:.9rem;line-height:1.7}
.preparation-record{color:#203e44;background:linear-gradient(145deg,#fff8ef 0%,#fff 48%,#edf7f5 100%);padding:clamp(56px,8vw,104px) 24px;scroll-margin-top:90px}
.preparation-inner{max-width:1160px;margin:auto}
.preparation-heading{width:auto!important;height:auto!important;min-height:0!important;color:inherit!important;background:0 0!important;border:0!important;padding:0!important;position:static!important;inset:auto!important}
.preparation-heading span{letter-spacing:.1em;color:#a76237;font-size:.875rem;font-weight:800}
.preparation-heading h2{max-width:900px;margin:16px 0 22px;font-size:clamp(1.9rem,3.7vw,3rem);line-height:1.42}
.preparation-heading p{max-width:900px;font-size:1rem;line-height:1.95}
.preparation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0;display:grid}
.preparation-record figure{min-width:0;margin:0}
.preparation-record img{border-radius:18px;width:100%;height:auto;display:block;box-shadow:0 16px 38px #343e371f}
.preparation-record figcaption{color:#596d70;margin-top:10px;font-size:.875rem;line-height:1.6;position:static!important;inset:auto!important}
.preparation-heart{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(28px,5vw,64px);margin-top:42px;display:grid}
.preparation-heart>div{border-left:3px solid #d59a70;padding:30px}
.preparation-heart>div span{color:#c94d4d;margin-bottom:12px;font-size:2rem;display:block}
.preparation-heart p{margin:0;font-size:1.05rem;line-height:2}
.preparation-thanks{text-align:center;border-radius:18px;margin-top:48px;color:#29484d!important;background:#ffffffc2!important;border:1px solid #ead3b9!important;min-height:0!important;padding:30px clamp(22px,4vw,46px)!important;display:block!important;position:static!important}
.preparation-thanks small{letter-spacing:.16em;color:#a76237;font-weight:800}
.preparation-thanks p{max-width:900px;margin:12px auto 0;font-size:1.05rem;line-height:1.95}
@media (width<=720px){.preparation-record{padding:52px 20px}
.preparation-gallery,.preparation-heart{grid-template-columns:1fr}
.preparation-heart{gap:22px}
.preparation-heart>div{padding:8px 4px 8px 20px}
.preparation-thanks{margin-top:36px}
}
.outreach-visit{color:#203e44;background:linear-gradient(145deg,#fff 30%,#f1f7f7);padding:clamp(48px,7vw,96px) 24px;scroll-margin-top:90px}
.outreach-inner{max-width:1160px;margin:auto}
.outreach-date{letter-spacing:.08em;color:#97652d;font-size:.875rem;font-weight:700}
.outreach-visit h2{letter-spacing:0;margin:16px 0 24px;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.45}
.outreach-visit header>p{max-width:850px}
.outreach-visit p{font-size:1rem;line-height:1.95}
.outreach-feature{grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;margin:32px 0;display:grid}
.outreach-visit figure{min-width:0;margin:0}
.outreach-visit figure a{display:block}
.outreach-visit img{border-radius:16px;width:100%;height:auto;display:block}
.outreach-visit figcaption{color:#52656a;margin-top:10px;font-size:.875rem;line-height:1.6}
.outreach-visit h3{font-size:1rem;line-height:1.6}
.outreach-story ul{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}
.outreach-story li{background:#e5efed;border-radius:24px;padding:8px 14px;font-size:.875rem}
.outreach-photos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}
.outreach-album-title{margin:40px 0 20px}
.outreach-more{border-top:1px solid #ccdcd9;border-bottom:1px solid #ccdcd9;margin:28px 0}
.outreach-more summary{cursor:pointer;padding:20px 0;font-size:1rem;font-weight:600}
.outreach-more[open] .outreach-photos{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:24px}
.outreach-visit footer{justify-content:space-between;align-items:center;gap:20px;display:flex}
.outreach-visit footer a{color:#246666;text-underline-offset:5px;font-size:1rem;font-weight:700;text-decoration:underline}
.outreach-visit a:focus-visible,.outreach-more summary:focus-visible{outline-offset:5px;outline:3px solid #ac763b}
@media (width<=720px){.outreach-feature{grid-template-columns:1fr;gap:20px}
.outreach-photos,.outreach-more[open] .outreach-photos{grid-template-columns:1fr}
.outreach-visit footer{display:block}
.outreach-visit{padding:48px 20px}
}
.venue-planning-section{background:#f5f0e5;padding:72px 0;scroll-margin-top:110px}
.venue-planning-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}
.venue-planning-heading h2{font:700 clamp(28px,4vw,42px)/1.3 var(--serif);color:var(--ink-deep);margin:8px 0 0}
.venue-planning-notice{color:#85541c;white-space:nowrap;background:#fff4d5;border:1px solid #d39038;border-radius:30px;padding:9px 16px;font-size:16px;font-weight:700}
.venue-planning-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:46px;display:grid}
.venue-planning-lead{color:var(--ink-deep);margin:0 0 13px;font-size:20px;line-height:1.8}
.venue-planning-time{color:#705d48;font-size:15px;line-height:1.8}
.venue-planning-areas{grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;display:grid}
.venue-planning-areas article{border-top:1px solid #c3b89f;gap:10px;padding:17px 0;display:flex}
.venue-planning-areas article>span{font:24px/1.2 var(--serif);color:#ba823b}
.venue-planning-areas h3{margin:0 0 7px;font-size:17px}
.venue-planning-areas p,.venue-planning-route p{color:#58636b;margin:0;font-size:15px;line-height:1.8}
.venue-planning-route{background:#fffbf3;border-left:3px solid #72967a;margin-bottom:23px;padding:17px 20px}
.venue-planning-route strong{margin-bottom:7px;font-size:16px;display:block}
.venue-planning-hint{color:#65717b;font-size:14px;line-height:1.8}
.venue-planning-figure{background:linear-gradient(145deg,#fffaf0,#f1e6d3);border:1px solid #d5bd8d;border-radius:20px;margin:0;padding:10px;box-shadow:0 18px 44px #193a5b1c,inset 0 1px #fff}
.venue-planning-figure img{aspect-ratio:auto;object-fit:contain;background:#fffaf0;border-radius:13px;width:100%;height:auto}
.venue-planning-figure figcaption{padding:12px 5px 3px;font-size:15px;line-height:1.7}
.venue-planning-figure small{color:#66717d;font-size:13px}
.venue-planning-disclaimer{color:#675d4c;border-top:1px solid #c9beaa;margin:28px 0 0;padding-top:17px;font-size:14px;line-height:1.8}
.venue-planning-disclaimer strong{color:#85541c}
.venue-planning-button:focus-visible,.venue-planning-figure a:focus-visible{outline-offset:5px;outline:3px solid #ce8735}
@media (width<=760px){.venue-planning-section{padding:42px 0}
.venue-planning-grid{grid-template-columns:1fr;gap:22px}
.venue-planning-heading{align-items:flex-start;gap:12px}
.venue-planning-notice{padding:7px 11px;font-size:13px}
.venue-planning-areas{gap:12px}
.venue-planning-figure img{height:auto}
.venue-planning-lead{font-size:18px}
}
.venue-planning-grid{grid-template-columns:1fr;gap:28px}
.venue-planning-areas{grid-template-columns:repeat(4,minmax(0,1fr))}
.venue-planning-interactive{background:#102b2a;border:1px solid #d9cebb;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px #193a5b12}
.venue-planning-interactive iframe{background:#102b2a;border:0;width:100%;height:1020px;display:block}
.venue-planning-interactive>p{color:#e6dec8;margin:0;padding:13px 18px;font-size:14px;line-height:1.7}
@media (width<=760px){.venue-planning-areas{grid-template-columns:1fr 1fr}
.venue-planning-interactive iframe{height:900px}
}
.home-timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 18px}
.home-timeline:before{display:none}
.home-timeline article{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:16px;padding:20px 16px}
.home-timeline time{margin-top:18px;font-size:22px}
.day-timeline-section{background:#fffaf1;padding:105px 0}
.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:38px;display:grid}
.schedule-grid article{background:#fff;border:1px solid #e5d8c4;border-radius:18px;grid-template-columns:44px 150px 1fr;align-items:center;gap:18px;min-height:112px;padding:20px 22px;display:grid;box-shadow:0 10px 28px #4939250e}
.schedule-grid article>span{color:#bc6f2f;background:#fff0df;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}
.schedule-grid time{color:#a65e2e;font:700 20px var(--serif)}
.schedule-grid time small{color:#967965;font-size:13px}
.schedule-grid h3{font:700 17px var(--serif);margin:0 0 6px}
.schedule-grid p{color:#74808a;margin:0;font-size:13px;line-height:1.65}
.venue-planning-3d{background:#fffaf2;border:1px solid #d8ccb8;border-radius:16px;margin-top:22px}
.venue-planning-3d summary{cursor:pointer;color:#704c25;padding:18px 22px;font-weight:800}
.venue-planning-3d[open] summary{border-bottom:1px solid #e2d7c5}
.venue-planning-figure img{object-fit:contain;height:auto;max-height:none}
.driving-route-section{background:linear-gradient(135deg,#f0f6ee,#fffaf1);padding:100px 0}
.driving-route-card{background:#fff;border:1px solid #d8e1d5;border-radius:28px;grid-template-columns:.72fr 1.28fr;gap:56px;padding:52px;display:grid;box-shadow:0 20px 55px #27413417}
.driving-route-card h2{font:700 clamp(32px,4vw,50px)/1.35 var(--serif);margin:8px 0 16px}
.driving-route-lead{color:#526a5a;font-size:18px}
.driving-route-card ol{border-top:1px solid #dbe4d9;margin:0;padding:0;list-style:none}
.driving-route-card li{border-bottom:1px solid #dbe4d9;grid-template-columns:42px 1fr;gap:16px;padding:17px 0;display:grid}
.driving-route-card li span{color:#6e9278;font-size:11px;font-weight:800}
.driving-route-card li p{color:#52605a;margin:0;line-height:1.75}
.driving-route-card aside{background:#fff7e7;border-left:4px solid #d49237;grid-column:1/-1;padding:20px 24px}
.driving-route-card aside strong{color:#9b5c25}
.driving-route-card aside p{color:#625b50;margin:7px 0 0;line-height:1.75}
@media (width<=980px){.home-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
.schedule-grid{grid-template-columns:1fr}
.driving-route-card{grid-template-columns:1fr;gap:28px}
.driving-route-card aside{grid-column:auto}
}
@media (width<=620px){.home-timeline{grid-template-columns:1fr;gap:12px}
.schedule-grid article{grid-template-columns:38px 1fr;gap:12px}
.schedule-grid article>div{grid-column:2}
.driving-route-section{padding:58px 0}
.driving-route-card{border-radius:20px;padding:28px 22px}
.venue-planning-figure{padding:8px}
.venue-planning-figure figcaption{font-size:14px}
}
@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-shadow-color{syntax:"*";inherits:false}
@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-shadow-color{syntax:"*";inherits:false}
@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-ring-color{syntax:"*";inherits:false}
@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-ring-color{syntax:"*";inherits:false}
@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-ring-inset{syntax:"*";inherits:false}
@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}
@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}
@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-blur{syntax:"*";inherits:false}
@property --tw-brightness{syntax:"*";inherits:false}
@property --tw-contrast{syntax:"*";inherits:false}
@property --tw-grayscale{syntax:"*";inherits:false}
@property --tw-hue-rotate{syntax:"*";inherits:false}
@property --tw-invert{syntax:"*";inherits:false}
@property --tw-opacity{syntax:"*";inherits:false}
@property --tw-saturate{syntax:"*";inherits:false}
@property --tw-sepia{syntax:"*";inherits:false}
@property --tw-drop-shadow{syntax:"*";inherits:false}
@property --tw-drop-shadow-color{syntax:"*";inherits:false}
@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-drop-shadow-size{syntax:"*";inherits:false}
/* 2026-09-16: keep the theme-song player while removing all lyric displays. */
.theme-song-section .lyrics-card-head,
.theme-song-section .lyrics-window,
.theme-song-section .full-lyrics-sheet,
.song-dock .dock-lyrics-link {
  display: none !important;
}

.theme-song-section .lyrics-card {
  display: flex;
  align-items: center;
  min-height: 0;
  padding: 24px;
}

.theme-song-section .song-controls {
  width: 100%;
  margin: 0;
}
