/* 横濱国際夜市 — midnight blue, warm lights, joyful typography */
:root{--night:#18204e;--deep:#0b1439;--blue:#1d2d69;--cream:#fff9ea;--gold:#f6c760;--muted:#b7bfdb;--line:rgba(223,229,255,.19);--body:'Zen Maru Gothic','Hiragino Kaku Gothic ProN',sans-serif;--latin:'Outfit',sans-serif;--width:72.5rem}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.875rem}body{margin:0;background:var(--night);color:var(--cream);font-family:var(--body);font-weight:500;font-size:0.9375rem;line-height:1.9;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,#d9deff30 0.0375rem,transparent 0.05625rem);background-size:4.1875rem 4.9375rem;z-index:-1}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{max-width:100%;height:auto;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:0.1875rem solid var(--gold);outline-offset:0.375rem}::selection{background:var(--gold);color:var(--night)}h2{font-size:clamp(1.75rem,3.25vw,2.6875rem);font-weight:700;line-height:1.55;letter-spacing:.025em}.container{width:min(var(--width),calc(100% - 6.25rem));margin-inline:auto}.eyebrow{font-family:var(--latin);font-size:0.6875rem;font-weight:500;letter-spacing:.19em;color:var(--gold);margin-bottom:0.8125rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-heading>p,.food-sub>p{font-size:0.8125rem;line-height:2.1;color:var(--muted)}.gold-word{color:var(--gold)}.hand-line{position:relative;display:inline-block}.hand-line::after{content:'';position:absolute;height:0.5rem;border-top:0.125rem solid var(--gold);border-radius:50%;left:0;right:0;bottom:0;transform:rotate(-2deg)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.125rem;padding:0.9375rem 1.625rem;min-height:3.625rem;border-radius:6.25rem;font-size:0.875rem;font-weight:700;letter-spacing:.05em;transition:background .25s,box-shadow .25s}.button>span{font-family:var(--latin);font-size:1.375rem;font-weight:400}.button-gold{background:var(--gold);color:#1d2147;box-shadow:0 0.3125rem 1.875rem #f6c76015}.button-gold:hover{background:#ffdc86;box-shadow:0 0.3125rem 1.875rem #f6c76035}.button-outline{border:0.0625rem solid #7782a6;color:var(--cream)}.button-outline:hover{background:#ffffff0d}.section-note{font-size:0.6875rem;color:var(--muted);line-height:1.9;margin-top:1.4375rem}.icon{width:1.1875rem;height:1.375rem;vertical-align:middle;flex:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-6.25rem;left:1.25rem;z-index:1000;background:var(--gold);color:var(--night);padding:0.625rem 1.375rem}.skip-link:focus{top:0.9375rem}.mobile-br{display:none}
/* Clip only decorative overflow; food carousel keeps its own horizontal scroll. */
html,body{overscroll-behavior-y:none}
main{overflow-x:clip}
/* Updated proposal cover: retain the site's playful night palette. */
.hero:has(.hero-title-proposal){height:60rem;min-height:57.5rem}
.hero-title-proposal{font-size:5.25rem;line-height:1.28;letter-spacing:.055em}
.hero-change{position:relative;display:inline-block;padding:0 .08em .04em}
.hero-change::after{content:'';position:absolute;left:-8%;right:-6%;bottom:-0.25rem;height:1.375rem;border-bottom:0.125rem solid var(--gold);border-radius:50%;transform:rotate(-5deg);opacity:.85}
.hero-title-proposal+.hero-description{font-size:1rem;letter-spacing:.12em;margin-top:1.6875rem}
.hero-highlights{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:1rem 0.5rem;margin:1.6875rem auto 0;width:37.5rem;max-width:100%;background:#0c1949bd;border:0.0625rem solid #eee0b624;border-radius:0.875rem}
.hero-highlights li{display:flex;flex-direction:column;justify-content:center;padding:0 0.9375rem;gap:0.3125rem;border-right:0.0625rem solid #ead3a34a}
.hero-highlights li:last-child{border:0}
.hero-highlights strong{font-size:1.3125rem;line-height:1.4;color:var(--gold);white-space:nowrap}
.hero-highlights strong>span{font:500 1.9375rem/1 var(--latin);margin-right:0.1875rem}
.hero-highlights small{font-size:0.5625rem;color:#d7dcee;letter-spacing:.01em;white-space:nowrap}
.hero .hero-seal-proposal{width:12.8125rem;min-height:8.875rem;aspect-ratio:auto;top:15.3125rem;padding:1.5rem 1.5625rem 1.3125rem;align-items:flex-start;justify-content:center;overflow:hidden;border:0.0625rem solid #f6d77e73;border-radius:1.5625rem 1.5625rem 1.5625rem 0.5rem;background:radial-gradient(circle at 85% 13%,#f6c76012 0,transparent 34%),linear-gradient(115deg,#19285ed9 0%,#19285ed9 37%,#ffffff1c 47%,#19285ed9 57%,#0d1746bd 100%);background-size:100% 100%,250% 100%;background-position:center,100% center;color:var(--cream);text-align:left;transform:none;backdrop-filter:blur(0.875rem);box-shadow:0 1.25rem 3.125rem #02092352,inset 0 0.0625rem #ffffff1f;transition:transform .55s cubic-bezier(.16,1,.3,1),background-position .85s cubic-bezier(.16,1,.3,1),border-color .45s ease,box-shadow .55s ease}
.hero .hero-seal-proposal::before{content:'☾';position:absolute;right:0.5rem;top:-1.75rem;color:var(--gold);font:400 6.5625rem/1 var(--latin);opacity:.13;transform:rotate(-12deg) scale(1);text-shadow:0 0 0 transparent;pointer-events:none;transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .5s ease,text-shadow .5s ease}
.hero .hero-seal-proposal::after{content:'↘';position:absolute;right:1.0625rem;bottom:0.9375rem;width:1.8125rem;height:1.8125rem;border:0.0625rem solid #f6c76066;border-radius:50%;display:grid;place-items:center;color:var(--gold);font:1rem/1 var(--latin);transition:transform .45s cubic-bezier(.16,1,.3,1),background .35s ease,color .35s ease,box-shadow .35s ease}
.hero .hero-seal-proposal:is(:hover,:focus-visible){transform:translateY(-0.5rem) scale(1.025);border-color:#f6d77ed1;background-position:center,0 center;box-shadow:0 1.875rem 4.6875rem #02092370,0 0 2.375rem #f6c76020,inset 0 0.0625rem #ffffff38}
.hero .hero-seal-proposal:is(:hover,:focus-visible)::before{opacity:.25;transform:rotate(0) scale(1.1);text-shadow:0 0 1.5rem #f6c7608c}
.hero .hero-seal-proposal:is(:hover,:focus-visible)::after{transform:translate(0.1875rem,0.1875rem) rotate(-8deg);background:var(--gold);color:var(--night);box-shadow:0 0 1.125rem #f6c7604d}
.hero .hero-seal-proposal>span:first-child{position:relative;font-size:0.5625rem;letter-spacing:.14em;color:#d7ddf1}
.hero .hero-seal-proposal b{position:relative;font-size:1.125rem;line-height:1.55;white-space:nowrap;text-align:left;margin:0.4375rem 0 0.3125rem;letter-spacing:.035em}
.hero .hero-seal-proposal .seal-moon{position:relative;color:var(--gold);font-size:0.9375rem;letter-spacing:.18em;line-height:1;transition:letter-spacing .45s ease,filter .45s ease}.hero .hero-seal-proposal:is(:hover,:focus-visible) .seal-moon{letter-spacing:.34em;filter:drop-shadow(0 0 0.4375rem #f6c760)}
@media(max-width:1100px){.hero-highlights{width:33.75rem}.hero .hero-seal-proposal{width:10.875rem;min-height:8rem;right:3%;top:16.25rem;padding:1.25rem}.hero .hero-seal-proposal b{font-size:0.9375rem}.hero .hero-seal-proposal>span:first-child{font-size:0.5rem}}
@media(max-width:900px){.hero .hero-seal-proposal{top:auto;bottom:5rem;right:5%}}
@media(max-width:600px){.hero:has(.hero-title-proposal){height:60rem;min-height:0}.hero-content .hero-title-proposal{font-size:clamp(2.6875rem,12vw,3.9375rem);line-height:1.4;letter-spacing:.03em}.hero-title-proposal+.hero-description{font-size:0.8125rem;letter-spacing:.09em;margin-top:1.625rem}.hero-change::after{height:0.9375rem;bottom:0;border-width:0.0625rem}.hero-highlights{width:100%;margin-top:1.75rem}.hero-highlights li{padding:0 0.4375rem;gap:0.4375rem}.hero-highlights strong{font-size:0.8125rem}.hero-highlights strong>span{font-size:1.5625rem}.hero-highlights small{font-size:0.4375rem;white-space:normal;max-width:6.5625rem;line-height:1.7}.hero .hero-seal-proposal{width:9.875rem;min-height:7rem;bottom:6.4375rem;right:1.375rem;padding:1.0625rem 1.125rem;border-radius:1.25rem 1.25rem 1.25rem 0.4375rem}.hero .hero-seal-proposal::before{font-size:5.125rem;right:0.1875rem;top:-1.4375rem}.hero .hero-seal-proposal::after{width:1.5625rem;height:1.5625rem;right:0.75rem;bottom:0.6875rem;font-size:0.8125rem}.hero .hero-seal-proposal b{font-size:0.8125rem;line-height:1.55;margin-block:0.3125rem}.hero .hero-seal-proposal>span:first-child{font-size:0.4375rem}.hero .hero-seal-proposal .seal-moon{font-size:0.75rem}.hero:has(.hero-title-proposal) .hero-skyline{object-position:54% bottom}.hero:has(.hero-title-proposal) .hero-date{margin-top:1.5625rem}}
/* Ambient stars on dark sections only; no overlays on text, photos or pale panels. */
.night-sparkle-section{position:relative;isolation:isolate}
.night-sparkles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit}
.night-sparkle{position:absolute;width:0.125rem;height:0.125rem;border-radius:50%;background:#fff1c9;box-shadow:0 0 0.375rem #d6dfff80;opacity:.18;animation:night-sparkle-glow var(--sparkle-duration) ease-in-out var(--sparkle-delay) infinite;animation-play-state:paused}
.celestial-divider{position:relative;width:min(47.5rem,calc(100% - 5rem));height:5.125rem;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:1.125rem;color:#f6c760;isolation:isolate}
.celestial-divider::before{content:'';position:absolute;left:50%;top:50%;width:70%;height:4.375rem;translate:-50% -50%;background:radial-gradient(ellipse,#7d73bc1e 0,transparent 68%);filter:blur(0.5rem);z-index:-1}
.celestial-divider>i{display:block;flex:1;max-width:15.3125rem;height:0.0625rem;background:linear-gradient(90deg,transparent,#9f97c085,#f6c7608a)}
.celestial-divider>i+span+ i,.celestial-divider>span+ i:last-child{background:linear-gradient(90deg,#f6c7608a,#9f97c085,transparent)}
.celestial-divider>span{font:500 0.625rem/1 var(--latin);letter-spacing:.18em;white-space:nowrap;text-shadow:0 0 0.9375rem #f6c76070}
.celestial-divider>span:first-child,.celestial-divider>span:last-child{font-size:0.75rem;animation:divider-star-glow 3s ease-in-out infinite}
.celestial-divider--constellation{margin-top:-0.375rem;margin-bottom:-0.5rem}
.celestial-divider--constellation>span:nth-of-type(2){font-size:1.5625rem;transform:rotate(-12deg);animation:divider-moon-drift 5s ease-in-out infinite}
.celestial-divider--moon{width:100%;max-width:none;height:7.75rem;margin:0;background:linear-gradient(180deg,#e8e5f1 0%,#b3b2c9 26%,#3d476e 66%,#18204e 100%);gap:1.5625rem;color:#fff0b9}
.celestial-divider--moon::before{width:26.875rem;height:6.25rem;background:radial-gradient(ellipse,#f8d77a2e 0,transparent 70%)}
.celestial-divider--moon>i{flex:none;width:min(22vw,16.25rem);background:linear-gradient(90deg,transparent,#f8e5ae80)}
.celestial-divider--moon>i:last-child{background:linear-gradient(90deg,#f8e5ae80,transparent)}
.celestial-divider--moon>span{font-size:2.125rem;transform:rotate(-13deg);text-shadow:0 0 1.5625rem #ffe4a0}
.celestial-divider--finale{height:4.625rem;margin-top:-1.75rem;margin-bottom:0.25rem;color:#d8c7ff}
.celestial-divider--finale>i{background:linear-gradient(90deg,transparent,#8f86b880,#f6c76070)}
.celestial-divider--finale>i+span+i{background:linear-gradient(90deg,#f6c76070,#8f86b880,transparent)}
.schedule-gate{position:absolute;left:50%;top:1.8125rem;z-index:3;translate:-50% 0;display:flex;align-items:center;gap:0.8125rem;color:#7b7191;font:600 0.5625rem/1 var(--latin);letter-spacing:.2em;white-space:nowrap}
.schedule-gate>span{color:#b58b39;font-size:0.625rem}.schedule-gate>i{font-style:normal}
@keyframes divider-star-glow{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.18)}}
@keyframes divider-moon-drift{0%,100%{translate:0 0.125rem}50%{translate:0 -0.1875rem}}
.night-sparkle--cross{width:0.5rem;height:0.5rem;background:#e9e5ff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.sparkles-visible .night-sparkle{animation-play-state:running}
.motion-paused .night-sparkle,.tab-hidden .night-sparkle{animation-play-state:paused}
@keyframes night-sparkle-glow{0%,100%{opacity:.12;transform:scale(.6)}45%{opacity:.65;transform:scale(1.1)}65%{opacity:.25;transform:scale(.8)}}
.night-sparkle:not(.night-sparkle--cross):nth-child(3n){width:0.1875rem;height:0.1875rem;background:#ece8ff}
.night-sparkle:not(.night-sparkle--cross):nth-child(4n){width:0.0625rem;height:0.0625rem;box-shadow:none}
@media(max-width:600px){.night-sparkle:nth-child(n+49){display:none}.night-sparkle--cross{width:0.375rem;height:0.375rem}.sky-star:nth-child(n+97){display:none}}
@media(max-width:600px){.night-sparkle:nth-child(n+49):nth-child(-n+70),.sky-star:nth-child(n+97):nth-child(-n+140){display:block}}
@media(prefers-reduced-motion:reduce){.night-sparkle{animation:none;opacity:.25}}
/* Navigation */
.site-header{position:absolute;top:0;left:0;width:100%;height:7rem;z-index:20;padding:1.5rem 4%;display:flex;justify-content:space-between;align-items:center;gap:2.1875rem}.brand{display:flex;flex-direction:column;align-items:center;flex:none}.brand img{width:12.75rem;height:auto;max-height:4rem;object-fit:contain}.brand>span{font-family:var(--latin);font-size:0.4375rem;letter-spacing:.18em;margin-top:0.25rem;color:#e9e9f5}.site-header nav{display:flex;gap:1.6875rem;align-items:center}.site-header nav>a{font-size:0.75rem;font-weight:700;white-space:nowrap;transition:color .2s}.site-header nav>a:hover{color:var(--gold)}.site-header nav .nav-cta{padding:0.75rem 1.1875rem;border:0.0625rem solid #dbb965a0;border-radius:2.5rem;color:var(--gold);margin-left:0.375rem}.nav-cta span{margin-left:0.9375rem}.menu-toggle{display:none}
/* Hero: photograph is loaded immediately; only composited layers animate. */
.hero{min-height:51.25rem;height:min(57.5rem,105svh);position:relative;isolation:isolate;overflow:hidden;background:#0b1b54}.hero-skyline{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 72%;z-index:-3}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b173b9c 0%,#1027651a 36%,#101b4722 62%,#18204e 100%),radial-gradient(ellipse at 50% 30%,#212f6925,transparent 65%);z-index:-2}.hero-content{text-align:center;padding-top:9.5625rem;position:relative;z-index:2;width:fit-content;max-width:90%;margin-inline:auto}.hero-eyebrow{font-size:0.625rem;letter-spacing:.28em;margin-bottom:1.25rem;color:#ced9f0}.hero-kicker{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:0.8125rem;letter-spacing:.14em;margin-bottom:1.0625rem}.hero-kicker>span{display:block;width:1.375rem;height:0.0625rem;background:var(--gold)}h1{font-size:clamp(3.0625rem,5.6vw,4.9375rem);font-weight:900;letter-spacing:.065em;line-height:1.44;text-shadow:0 0.25rem 2.5rem #06164155}.spark-word{position:relative}.spark-word svg{position:absolute;fill:var(--gold);width:1.8125rem;height:1.8125rem;right:-2.375rem;top:-0.625rem;transform:rotate(15deg)}.hero-description{margin-top:1.1875rem;font-size:0.875rem;line-height:2;letter-spacing:.08em;text-shadow:0 0.125rem 0.75rem #001235}.hero-date{display:flex;justify-content:center;align-items:center;gap:1.0625rem;margin-top:1.5rem;font-family:var(--latin)}.date-year{font-size:1.375rem;line-height:1.1;font-weight:500}.date-year small{font:0.625rem var(--body);letter-spacing:.15em}.date-large{font-size:2.625rem;line-height:1;font-weight:500;letter-spacing:-.025em;white-space:nowrap}.date-large small{font-size:0.625rem;letter-spacing:.07em;vertical-align:middle;margin-left:0.3125rem}.date-large i{font-size:1.5rem;font-style:normal;margin:0 0.625rem;font-weight:400}.planned{font:0.625rem var(--body);border:0.0625rem solid #f7ecce80;border-radius:0.1875rem;padding:0.125rem 0.4375rem}.hero-location{font-size:0.75rem;letter-spacing:.04em;margin-top:0.9375rem}.hero-location .icon{height:1.0625rem;margin-right:0.3125rem}.hero-button{margin-top:1.5rem;min-width:16.5rem}.hero-seal{position:absolute;right:6.5%;top:13.625rem;width:8.875rem;aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--night);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);box-shadow:0 0 0 0.4375rem #f6c76020;font-size:0.5rem;letter-spacing:.04em;z-index:3}.hero-seal b{font-size:1.5rem;line-height:1.4;margin:0.3125rem 0}.seal-moon{font-size:1.25rem;line-height:1.1}.motion-toggle{font-size:0.6875rem;padding:0.5rem 0;opacity:.8}.motion-toggle>span{font-size:0.5625rem;margin-left:0.3125rem}.hero-orbit{position:absolute;left:50%;top:5rem;width:38.75rem;height:38.75rem;border:0.0625rem solid #e0e6ff12;border-radius:50%;transform:translateX(-50%);z-index:-1}.hero-orbit::after{content:'';position:absolute;inset:-3.4375rem;border:0.0625rem solid #e0e6ff09;border-radius:50%}.sky-stars,.lantern-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.sky-star{position:absolute;width:0.1875rem;height:0.1875rem;border-radius:50%;background:#fff3d2;box-shadow:0 0 0.5rem #eee2ff;animation:twinkle var(--duration) ease-in-out var(--delay) infinite alternate}.sky-star.cross{border-radius:0;width:0.625rem;height:0.625rem;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.lantern{position:absolute;left:var(--x);bottom:-5.625rem;width:var(--size);height:calc(var(--size)*1.36);animation:lantern-rise var(--duration) linear var(--delay) infinite;filter:drop-shadow(0 0 0.75rem #ffa54b70)}.lantern-paper{width:100%;height:100%;border-radius:35% 35% 27% 27%/15% 15% 18% 18%;background:radial-gradient(ellipse at 50% 95%,#fff6c7 1%,#ffde85 15%,#eba04ce6 46%,#b75b335c 100%);border:0.0625rem solid #ffba6266;box-shadow:inset 0.4375rem 0 0.5625rem #8c391827,inset -0.4375rem 0 0.5625rem #8c391827;transform:rotate(var(--tilt))}.lantern-paper::after{content:'';display:block;position:absolute;bottom:2%;left:20%;right:20%;height:9%;border-radius:50%;background:#ffeabc;box-shadow:0 0 0.625rem #fff1af}.lantern-paper::before{content:'';position:absolute;left:48%;width:0.0625rem;height:91%;background:#ffe9ba23}.lantern:nth-child(3n){opacity:.6}.lantern:nth-child(4n){filter:blur(0.0625rem) drop-shadow(0 0 0.875rem #ffaa6260)}@keyframes lantern-rise{0%{transform:translate3d(0,0,0) scale(1);opacity:0}8%{opacity:.85}82%{opacity:.7}100%{transform:translate3d(var(--drift),-62.5rem,0) scale(.5);opacity:0}}@keyframes twinkle{from{opacity:.2;transform:scale(.6)}to{opacity:.9;transform:scale(1.15)}}.motion-paused .sky-star,.motion-paused .lantern,.hero.offscreen .sky-star,.hero.offscreen .lantern,.tab-hidden .sky-star,.tab-hidden .lantern{animation-play-state:paused}
/* Food strip */
.food-section{position:relative;padding:3.625rem 0 5.3125rem;background:linear-gradient(180deg,#18204e,#172251 70%,#151f4b);overflow:hidden}.food-heading{margin-bottom:2.1875rem}.food-sub{display:flex;align-items:center;gap:2.0625rem}.slider-controls{display:flex;gap:0.5625rem}.circle-button{width:2.6875rem;height:2.6875rem;display:grid;place-items:center;border:0.0625rem solid #a0abc15c;border-radius:50%;font:1.25rem var(--latin);transition:background .2s}.circle-button:hover{background:#ffffff15}.circle-button:disabled{opacity:.3;cursor:default}.food-slider{display:flex;gap:1.5rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(3.125rem,calc((100vw - var(--width))/2));padding:0.3125rem max(3.125rem,calc((100vw - var(--width))/2)) 0.9375rem;scrollbar-width:none}.food-slider::-webkit-scrollbar{display:none}.food-card{flex:0 0 20.5rem;scroll-snap-align:start}.food-card img{width:100%;height:14.8125rem;object-fit:cover;border-radius:5.9375rem 5.9375rem 1rem 1rem;transition:filter .3s}.food-card:nth-child(even) img{border-radius:1rem 1rem 5.9375rem 1rem}.food-card:nth-child(3n) img{border-radius:1rem 5.9375rem 1rem 1rem}.food-card figcaption{padding:1.1875rem 0.1875rem 0}.food-number{font-family:var(--latin);font-size:0.625rem;letter-spacing:.12em;color:var(--gold)}.food-card h3{font-size:1.3125rem;font-weight:700;margin:0.1875rem 0}.food-card figcaption>span:last-child{font-size:0.6875rem;color:var(--muted)}.food-foot{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:1.5rem}.food-foot p{font-size:0.625rem;color:#aab4d3}.food-pause{font-size:0.625rem;color:var(--muted);white-space:nowrap;padding:0.3125rem 0}
/* Concept */
.about-section{padding-block:5.9375rem 6.875rem;display:grid;grid-template-columns:1.1fr 1fr;gap:6.25rem;align-items:center;position:relative}.about-visual{position:relative}.about-visual>img{width:100%;height:36.875rem;object-fit:cover;border-radius:14.375rem 14.375rem 0.875rem 0.875rem}.round-caption{position:absolute;right:-2.3125rem;bottom:3.875rem;width:8.5rem;height:8.5rem;border-radius:50%;background:#e6dfff;color:#343367;display:flex;flex-direction:column;justify-content:center;align-items:center;font:500 0.8125rem/1.6 var(--latin);letter-spacing:.07em;transform:rotate(-10deg);box-shadow:0 0 0 0.4375rem #161d4b}.round-caption>span{color:#665cb8;font-size:1.4375rem}.photo-note{font-size:0.625rem;position:absolute;bottom:0.875rem;left:1.25rem;color:#ffffffaa}.about-copy h2{font-size:2.75rem;line-height:1.65;margin-bottom:1.5rem}.about-copy>p:not(.eyebrow){font-size:0.8125rem;line-height:2.4;color:#d7dbec;margin-top:1.1875rem}.concept-tags{display:flex;align-items:center;gap:0.9375rem;margin-top:1.875rem}.concept-tags>span{display:flex;align-items:center;gap:0.4375rem;font-weight:700;font-size:1.25rem}.concept-tags small{font:0.5625rem var(--latin);color:var(--muted);letter-spacing:.05em}.concept-tags>i{font-style:normal;color:#938eac}.night-ribbon{overflow:hidden;padding:1rem 0;background:#f5c967;color:#162047;transform:rotate(-2deg);margin:0.75rem -0.0625rem 0}.night-ribbon>span{display:block;text-align:center;white-space:nowrap;font:500 1.75rem/1.2 var(--latin);letter-spacing:.03em}.night-ribbon i{font-style:normal;display:inline-block;margin:0 1.875rem;color:#65619d}
/* Experiences */
.experience-section{padding-block:7.8125rem 6.25rem}.experience-section .section-heading h2{font-size:2.1875rem}.experience-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:1.75rem}.experience-feature{position:relative;min-height:28.125rem;border-radius:1.25rem;overflow:hidden;text-align:left;padding:0}.experience-feature>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s}.experience-feature:hover>img{transform:scale(1.025)}.experience-shade{position:absolute;inset:0;background:linear-gradient(transparent 30%,#071232df)}.tag{position:absolute;top:1.5625rem;left:1.6875rem;border:0.0625rem solid #f2dfac70;background:#14245455;border-radius:1.875rem;padding:0.25rem 0.8125rem;color:#ffe4a5;font:0.625rem/1.8 var(--latin);letter-spacing:.13em}.experience-text{position:absolute;bottom:2.1875rem;left:2rem;right:4.6875rem;display:flex;flex-direction:column}.experience-text small,.experience-small small{font:0.625rem var(--latin);letter-spacing:.12em;color:var(--gold)}.experience-text strong{font-size:1.8125rem;line-height:1.6;margin:0.625rem 0 0.3125rem}.experience-text>span{font-size:0.8125rem;color:#e0e2eb}.round-arrow{position:absolute;bottom:2.4375rem;right:1.75rem;width:2.4375rem;height:2.4375rem;border:0.0625rem solid #fffffa80;border-radius:50%;display:grid;place-items:center;font:1.25rem var(--latin)}.experience-side{display:flex;flex-direction:column;gap:1.75rem}.experience-small{display:grid;grid-template-columns:43% 1fr;gap:1.4375rem;align-items:center;flex:1;position:relative;text-align:left;padding:0 0 1.5rem;border-bottom:0.0625rem solid var(--line)}.experience-small>img{width:100%;height:11.6875rem;border-radius:0.9375rem;object-fit:cover}.experience-small:last-child{padding:0;border:0}.experience-small>span{display:flex;flex-direction:column}.experience-small strong{font-size:1.375rem;line-height:1.6;margin:0.6875rem 0}.experience-small>span>span{font-size:0.625rem;line-height:1.9;color:var(--muted)}.experience-small>i{position:absolute;right:0;top:0.25rem;font:1.125rem var(--latin);font-style:normal}.experience-small:hover strong{color:var(--gold)}
/* Schedule: soft dawn contrast */
.schedule-section{background:#efedf7;color:#25284c;border-radius:4.375rem 4.375rem 0 0;padding:5.3125rem 0 4.6875rem;position:relative}.schedule-section .eyebrow{color:#685f91}.schedule-section .section-heading>p{color:#68667e}.schedule-section .hand-line::after{border-color:#b18d47}.schedule-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.season-tab{position:relative;border:0.0625rem solid #cfcbdf;background:#f8f7fc;border-radius:1rem;text-align:left;padding:1.375rem 1.6875rem;color:#34365a;display:flex;flex-direction:column;transition:background .2s,color .2s}.season-tab[aria-selected=true]{background:#263164;border-color:#263164;color:#fff8e6}.season-top{font:0.625rem var(--latin);letter-spacing:.1em;display:flex;gap:1.25rem}.season-top i{font-style:normal;color:#7c759b}.season-tab[aria-selected=true] .season-top i{color:var(--gold)}.season-tab>b{font:500 clamp(1.625rem,3vw,2.4375rem)/1.5 var(--latin);margin:0.5625rem 0 0.375rem;white-space:nowrap;letter-spacing:-.03em}.season-tab b small{font-size:0.5625rem;letter-spacing:.03em}.season-tab b>span{font-size:1.25rem;padding:0 0.5rem}.season-tab>span:nth-last-child(2){font-size:0.6875rem;line-height:1.8}.season-star{position:absolute;right:1.25rem;top:1rem;font-size:1.25rem;opacity:.15}.season-tab[aria-selected=true] .season-star{color:var(--gold);opacity:1}.season-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:3.75rem;background:#ffffffa6;border-radius:1.25rem;margin-top:1.5625rem;padding:2.375rem 2.625rem}.outlined-label{font-size:0.625rem;letter-spacing:.05em;border:0.0625rem solid #c2bdd4;border-radius:0.25rem;padding:0.25rem 0.625rem;display:inline-block;color:#6b617f}.season-intro h3{font-size:1.625rem;line-height:1.5;margin:0.9375rem 0 0.75rem}.season-intro>p{font-size:0.75rem;line-height:2;color:#666078}.store-count{display:flex;align-items:center;gap:1rem;margin-top:1.375rem}.store-count>strong{font:500 3.875rem/1 var(--latin);letter-spacing:-.04em;color:#343d6c}.store-count>span{font-size:0.75rem;line-height:1.8}.store-count small{font-size:0.5625rem;color:#777085}.event-details{margin:0;font-size:0.75rem}.event-details>div{display:grid;grid-template-columns:5rem 1fr;gap:0.875rem;border-bottom:0.0625rem solid #d6d1e4;padding:0.875rem 0}.event-details>div:first-child{padding-top:0}.event-details>div:last-child{border:0;padding-bottom:0}.event-details dt{color:#7e748d}.event-details dd{margin:0;font-weight:700}.event-details dd small{display:block;font-weight:400;font-size:0.625rem;color:#766c83;line-height:1.8;margin-top:0.375rem}.schedule-note{font-size:0.625rem;color:#756d86;line-height:1.9;margin-top:1.5rem}
/* Access & FAQ */
.access-section{display:grid;grid-template-columns:.85fr 1.2fr;gap:5rem;align-items:center;padding-block:6.875rem 5.625rem}.access-copy h2{margin-bottom:1.625rem}.access-copy>p:not(.eyebrow):not(.section-note){font-size:0.8125rem;color:#d5dbec;line-height:2.1}.access-place{display:flex;flex-direction:column;margin-bottom:1.125rem}.access-place>span{font-size:1.625rem;letter-spacing:.06em;color:var(--cream);font-weight:700;margin:0.125rem 0}.access-place>small{font-size:0.75rem;color:var(--muted)}.access-copy .button{margin-top:1.75rem;font-size:0.75rem}.access-photo{position:relative}.access-photo>img{height:26.875rem;width:100%;object-fit:cover;border-radius:1rem 9.375rem 1rem 1rem}.location-stamp{position:absolute;top:1.375rem;left:1.5625rem;font:500 0.6875rem/1.8 var(--latin);letter-spacing:.1em}.location-stamp small{font-size:0.5rem;letter-spacing:.2em;padding-left:1.4375rem}.location-stamp .icon{width:1rem;height:1.125rem;margin-right:0.25rem}.access-photo-label{position:absolute;bottom:1.4375rem;left:1.5625rem;font:0.625rem var(--latin);letter-spacing:.16em}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:3.75rem;padding-block:1.25rem 7.1875rem}.faq-section>div>p:last-child{font-size:0.75rem;color:var(--muted);margin-top:0.75rem}.faq-list details{border-bottom:0.0625rem solid var(--line)}.faq-list details:first-child{border-top:0.0625rem solid var(--line)}.faq-list summary{padding:1.375rem 0.1875rem;display:flex;align-items:center;gap:1rem;list-style:none;cursor:pointer;font-size:0.8125rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:1.0625rem var(--latin);color:var(--gold)}.faq-list summary>i{margin-left:auto;width:0.875rem;height:0.875rem;flex:none;position:relative}.faq-list summary>i::before,.faq-list summary>i::after{position:absolute;content:'';background:#c5cbe0;width:0.75rem;height:0.0625rem;top:0.375rem;left:0.0625rem}.faq-list summary>i::after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary>i::after{transform:rotate(0)}.faq-list details>p{padding:0 1.875rem 1.5rem;font-size:0.75rem;color:#bbc4df;line-height:2.1}
/* Join */
.join-section{background:radial-gradient(ellipse at top,#3c3972 0%,#242857 55%,#1a2149 100%);padding:5rem 0 4.0625rem;position:relative;isolation:isolate;border-radius:5.5rem 5.5rem 0 0;box-shadow:0 -1.25rem 3.75rem #7b68a51a,inset 0 0.0625rem #ffffff12}.join-section::before{content:'✦';position:absolute;color:#b2a0d640;font-size:6.25rem;top:2.1875rem;right:15%;z-index:-1}.join-heading{text-align:center}.join-heading h2{font-size:2.625rem}.join-heading>p:last-child{margin-top:1.0625rem;font-size:0.8125rem;line-height:2;color:#d4d3e6}.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5625rem;max-width:59.375rem;margin:2.3125rem auto 0}.join-grid>a{border:0.0625rem solid #cfcaef55;border-radius:0.875rem;padding:1.6875rem 2rem;background:#ffffff06;transition:background .2s}.join-grid>a:hover{background:#ffffff10}.join-en{font:0.625rem var(--latin);color:var(--gold);letter-spacing:.12em}.join-grid h3{font-size:1.5rem;margin:0.3125rem 0 1.125rem}.join-grid>a>span:last-child{display:flex;align-items:center;justify-content:space-between;font-size:0.75rem;color:#d4d1e6}.join-grid i{font:1.5rem var(--latin);font-style:normal}.join-note{text-align:center;font-size:0.625rem;color:#aaa9c7;margin-top:1.4375rem}.site-footer{padding-block:3rem 1.875rem}.footer-top{display:flex;align-items:center;gap:2.5rem;padding-bottom:1.875rem}.footer-top>.brand img{width:11.875rem}.footer-top>p{font-size:0.75rem;letter-spacing:.08em;color:#d3d4e7}.back-top{margin-left:auto;width:2.6875rem;height:2.6875rem;border:0.0625rem solid #68759d;border-radius:50%;display:grid;place-items:center;font:1.375rem var(--latin)}.footer-bottom{border-top:0.0625rem solid var(--line);padding-top:1.5625rem;display:flex;align-items:center;justify-content:space-between;gap:0.9375rem;font-size:0.5625rem;color:#98a3c4}.footer-bottom>div{display:flex;gap:1.5625rem;font:0.6875rem var(--latin)}
/* Accessible program dialogs */
.program-dialog{width:min(46.25rem,calc(100% - 2.5rem));max-height:90svh;padding:0;border:0.0625rem solid #737ead70;border-radius:1.375rem;background:#18234e;color:var(--cream);overflow:auto;box-shadow:0 1.5625rem 6.25rem #0008}.program-dialog::backdrop{background:#030820be;backdrop-filter:blur(0.375rem)}.program-dialog>img{width:100%;height:17.5rem;object-fit:cover}.dialog-close{position:sticky;float:right;top:0.9375rem;margin:0.9375rem 0.9375rem -3.625rem 0;width:2.625rem;height:2.625rem;z-index:2;border-radius:50%;background:#fcf7ee;color:#1a234d;font:1.875rem/1 var(--latin);box-shadow:0 0.125rem 0.75rem #0003}.dialog-copy{padding:1.875rem 2.375rem 2.375rem}.dialog-copy h2{font-size:1.8125rem;margin-bottom:0.9375rem}.dialog-copy>p:not(.eyebrow){font-size:0.875rem;line-height:2.1;color:#d4daed}.program-notice{margin:1.5rem 0;padding:1.125rem 1.25rem;background:#ffffff08;border-radius:0.625rem;border:0.0625rem solid var(--line)}.program-notice strong{font-size:0.8125rem;color:var(--gold)}.program-notice p{font-size:0.6875rem;color:var(--muted);margin-top:0.375rem}.dialog-dismiss{font-size:0.75rem;min-height:3rem;padding-block:0.625rem}.dialog-open{overflow:hidden}
@media(min-width:1600px){.hero{height:57.5rem}.hero-content{padding-top:10.9375rem}.hero-skyline{object-position:center 63%}.hero-seal{right:16%;top:14.375rem}.food-card{flex-basis:22.5rem}.food-card img{height:15.9375rem}}
@media(max-width:1100px){.site-header{padding-inline:1.875rem}.site-header nav{gap:1.125rem}.site-header nav>a{font-size:0.6875rem}.brand img{width:10.9375rem}.hero-seal{right:4%;width:7rem;top:15.3125rem}.hero-seal b{font-size:1.25rem}.hero-seal>span:first-child{font-size:0.375rem}.hero-content h1{font-size:4.0625rem}.hero-description{font-size:0.8125rem}.about-section{gap:4.375rem}.about-copy h2{font-size:2.3125rem}.about-visual>img{height:35rem}.concept-tags{gap:0.5625rem}.concept-tags small{font-size:0.4375rem}.experience-section .section-heading h2{font-size:1.875rem}.experience-small{gap:1.0625rem}.experience-small strong{font-size:1.125rem}.season-tab{padding:1.25rem}.season-tab>b{font-size:1.875rem}.season-panel{gap:1.875rem;padding:2rem}.season-intro h3{font-size:1.375rem}.event-details>div{grid-template-columns:4.0625rem 1fr}.access-section{gap:3.4375rem}.food-sub>p{font-size:0.6875rem}.footer-bottom{flex-wrap:wrap}}
@media(max-width:900px){.container{width:calc(100% - 3.5rem)}.site-header{height:5.625rem;padding:1.25rem 1.75rem}.site-header .brand img{width:10.8125rem}.menu-toggle{display:flex;width:2.75rem;height:2.75rem;flex-direction:column;align-items:center;justify-content:center;gap:0.4375rem;border:0.0625rem solid #cbd2ef66;border-radius:50%;z-index:23}.menu-toggle span{width:1.125rem;height:0.0625rem;background:var(--cream);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(0.25rem) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-0.25rem) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:4.875rem;left:1.25rem;right:1.25rem;background:#17234ff7;backdrop-filter:blur(0.9375rem);border:0.0625rem solid #52608670;border-radius:1.25rem;padding:1.6875rem;box-shadow:0 0.9375rem 1.875rem #0003}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav>a{font-size:0.875rem;padding:0.8125rem 0.1875rem}.site-header nav .nav-cta{margin:0.75rem 0 0;text-align:center}.hero-content{padding-top:9.0625rem}.hero-content h1{font-size:3.8125rem}.hero-seal{top:41.25rem;right:7%;width:6.625rem}.hero-orbit{width:35rem;height:35rem}.food-heading{align-items:flex-start}.food-sub{gap:0.9375rem}.food-sub>p{display:none}.food-slider{padding-inline:1.75rem;scroll-padding-inline:1.75rem}.about-section{gap:3rem}.about-copy h2{font-size:2rem}.about-copy>p:not(.eyebrow){font-size:0.75rem}.about-visual>img{height:32.1875rem}.round-caption{width:7rem;height:7rem;font-size:0.6875rem;right:-1.25rem}.concept-tags{gap:0.5rem}.concept-tags>span{font-size:1.0625rem;flex-direction:column;gap:0}.experience-section .section-heading{flex-direction:column;align-items:flex-start;gap:0.75rem}.experience-grid{gap:1.375rem;grid-template-columns:1fr 1fr}.experience-small{grid-template-columns:1fr;gap:0.8125rem;padding-bottom:1.25rem}.experience-small>img{height:9.6875rem}.experience-small strong{font-size:1.25rem;margin:0.3125rem 0}.experience-small strong br{display:none}.experience-small i{top:auto;bottom:1.375rem}.experience-text{left:1.4375rem;right:1.875rem;bottom:5rem}.experience-text strong{font-size:1.625rem}.round-arrow{bottom:1.5rem}.experience-side{gap:1.5rem}.experience-feature{min-height:36.25rem}.schedule-section .section-heading{align-items:flex-start;flex-direction:column;gap:0.75rem}.season-tab{padding:1.0625rem 0.9375rem}.season-tab>b{font-size:1.5625rem}.season-tab b small{font-size:0.4375rem}.season-tab b>span{padding-inline:0.1875rem;font-size:0.9375rem}.season-tab>span:nth-last-child(2){font-size:0.625rem}.season-star{display:none}.season-top{font-size:0.5625rem;gap:0.625rem}.schedule-tabs{gap:0.75rem}.season-panel{grid-template-columns:1fr;gap:1.75rem}.event-details>div{grid-template-columns:5.625rem 1fr}.access-section{grid-template-columns:1fr 1fr;gap:2.1875rem}.access-copy .button{padding-inline:1.25rem;gap:0.9375rem;font-size:0.6875rem}.access-photo>img{height:28.125rem}.faq-section{grid-template-columns:1fr;gap:1.5625rem}.join-grid>a{padding:1.5rem}.join-grid h3{font-size:1.3125rem}.footer-top{gap:1.5625rem}}
@media(max-width:600px){html{scroll-padding-top:1.5625rem}.container{width:calc(100% - 2.75rem)}body{font-size:0.875rem}.site-header{height:5.25rem;padding:1rem 1.375rem}.site-header .brand img{width:9.5625rem}.brand>span{font-size:0.34375rem}.menu-toggle{width:2.5rem;height:2.5rem}.hero{height:51.875rem;min-height:0}.hero-skyline{object-fit:cover;object-position:54% center;width:160%;max-width:none;left:-30%;height:100%}.hero::before{background:linear-gradient(180deg,#0c173b85,#10235b12 35%,#18204e40 62%,#18204e 100%)}.hero-content{padding-top:8.6875rem;max-width:calc(100% - 2.1875rem)}.hero-eyebrow{font-size:0.4375rem;letter-spacing:.18em;margin-bottom:1.25rem}.hero-kicker{font-size:0.6875rem;letter-spacing:.07em;gap:0.6875rem;margin-bottom:1.1875rem}.hero-kicker>span{width:0.875rem}.hero-content h1{font-size:clamp(2.1875rem,10.1vw,3.25rem);line-height:1.5;letter-spacing:.04em}.spark-word svg{width:1.125rem;height:1.125rem;right:-1.25rem;top:-0.625rem}.hero-description{font-size:0.6875rem;line-height:2.1;letter-spacing:.02em;margin-top:1.3125rem}.hero-date{gap:0.625rem;margin-top:1.6875rem;flex-wrap:wrap;row-gap:0.625rem}.date-large{font-size:2.1875rem}.date-large i{margin:0 0.375rem;font-size:1.3125rem}.date-large small{font-size:0.5rem;margin-left:0.1875rem}.date-year{font-size:1.125rem}.date-year small{font-size:0.5rem}.planned{font-size:0.5rem;padding:0.125rem 0.3125rem}.hero-location{font-size:0.625rem;margin-top:0.8125rem}.hero-button{font-size:0.75rem;padding:0.75rem 1.4375rem;min-height:3.25rem;min-width:14.875rem;margin-top:1.625rem}.hero-seal{top:auto;bottom:7.1875rem;right:1.75rem;width:5.75rem;box-shadow:0 0 0 0.3125rem #f6c76020}.hero-seal b{font-size:1.0625rem}.hero-seal>span:first-child{font-size:0.34375rem}.seal-moon{font-size:1.0625rem}.hero-orbit{width:23.125rem;height:29.375rem;top:5.625rem}.motion-toggle>span{font-size:0.5rem}.motion-toggle{font-size:0.625rem}.lantern{max-width:1.875rem;max-height:2.5625rem}.food-section{padding:1.25rem 0 3.125rem}.eyebrow{font-size:0.5625rem;letter-spacing:.13em;margin-bottom:0.6875rem}h2{font-size:1.6875rem;line-height:1.6}.food-heading{gap:0.5rem;align-items:center;margin-bottom:1.5rem}.food-heading h2{font-size:1.4375rem}.food-heading .eyebrow{font-size:0.5rem}.slider-controls{gap:0.375rem}.circle-button{height:2rem;width:2rem;font-size:1.0625rem}.food-slider{gap:1.0625rem;padding-inline:1.375rem;scroll-padding-inline:1.375rem}.food-card{flex-basis:16.6875rem}.food-card img{height:12.4375rem;border-radius:4.6875rem 4.6875rem 0.75rem 0.75rem}.food-card h3{font-size:1.25rem}.food-card figcaption{padding-top:0.9375rem}.food-foot{align-items:flex-start;margin-top:1rem;gap:0.625rem}.food-foot>p{font-size:0.5rem;max-width:13.125rem;line-height:1.8}.food-pause{font-size:0.5rem;padding:0}.about-section{padding-block:2.5rem 4.25rem;grid-template-columns:1fr;gap:2.625rem}.about-visual{width:86%;margin-inline:auto}.about-visual>img{height:24.375rem;border-radius:10.625rem 10.625rem 0.75rem 0.75rem;object-position:45% center}.round-caption{right:-1.5625rem;bottom:2.1875rem;width:6.6875rem;height:6.6875rem;font-size:0.625rem}.about-copy{padding:0 0.375rem}.about-copy h2{font-size:2.0625rem;line-height:1.65;margin-bottom:1.3125rem}.about-copy>p:not(.eyebrow){font-size:0.8125rem;line-height:2.3;margin-top:1.0625rem}.concept-tags{gap:1rem;margin-top:1.75rem}.concept-tags>span{flex-direction:row;font-size:1.3125rem;gap:0.3125rem}.concept-tags small{font-size:0.4375rem}.desktop-br{display:none}.night-ribbon{padding:0.875rem 0}.night-ribbon>span{font-size:1.375rem}.night-ribbon i{margin-inline:1.25rem}.experience-section{padding-block:4.6875rem 4.0625rem}.experience-section .section-heading h2{font-size:1.625rem;max-width:20rem}.experience-section .section-heading h2>.gold-word{display:block}.section-heading>p{font-size:0.75rem}.experience-grid{grid-template-columns:1fr;gap:1.5625rem}.experience-feature{min-height:23.75rem;border-radius:0.9375rem}.experience-text{bottom:1.75rem;left:1.5rem;right:4.375rem}.experience-text strong{font-size:1.6875rem;margin-top:0.5rem}.experience-text>span{font-size:0.75rem}.tag{top:1.3125rem;left:1.375rem}.round-arrow{bottom:1.875rem;right:1.375rem}.experience-side{gap:1.3125rem}.experience-small{grid-template-columns:40% 1fr;gap:1.125rem}.experience-small>img{height:9.6875rem;border-radius:0.75rem}.experience-small small{font-size:0.5rem}.experience-small strong{font-size:1.125rem;margin:0.5rem 0}.experience-small strong br{display:block}.experience-small>span>span{font-size:0.5625rem;max-width:9.6875rem}.experience-small i{top:0.0625rem;bottom:auto;font-size:1.0625rem}.section-note{font-size:0.5625rem;margin-top:1.25rem}.schedule-section{border-radius:2.1875rem 2.1875rem 0 0;padding:3.3125rem 0 2.8125rem}.schedule-section h2{font-size:1.8125rem}.mobile-br{display:block}.schedule-section .section-heading{margin-bottom:1.75rem;gap:0.875rem}.schedule-tabs{gap:0.5rem}.season-tab{padding:0.875rem 0.5625rem;border-radius:0.625rem}.season-top{flex-direction:column;gap:0.1875rem;font-size:0.5rem}.season-top i{font-size:0.4375rem}.season-tab>b{font-size:1.4375rem;white-space:normal;line-height:1.25;margin:0.75rem 0 0}.season-tab b small{display:none}.season-tab b>span{display:block;font-size:0.75rem;padding:0.125rem 0}.season-tab>span:nth-last-child(2){display:none}.season-panel{padding:1.5625rem 1.375rem;border-radius:0.875rem;gap:1.5625rem;margin-top:0.9375rem}.season-intro h3{font-size:1.4375rem;line-height:1.5}.season-intro>p{font-size:0.75rem;line-height:2}.store-count>strong{font-size:3.4375rem}.store-count>span{font-size:0.6875rem}.store-count small{font-size:0.5rem}.event-details{font-size:0.6875rem}.event-details>div{grid-template-columns:4rem 1fr;gap:0.625rem;padding-block:0.8125rem}.event-details dd small{font-size:0.5625rem}.schedule-note{font-size:0.5625rem}.access-section{padding-block:4rem 3.4375rem;grid-template-columns:1fr;gap:1.875rem}.access-copy h2{font-size:1.9375rem}.access-photo>img{height:18.4375rem;border-top-right-radius:6.5625rem}.access-place>span{font-size:1.5625rem}.access-copy .button{min-height:3.3125rem;font-size:0.75rem;gap:1.5rem}.faq-section{padding-block:1.25rem 4.0625rem;gap:1.5rem}.faq-list summary{font-size:0.75rem;gap:0.75rem;padding-block:1.3125rem}.faq-list details>p{font-size:0.6875rem;padding-left:1.8125rem;padding-right:0.625rem}.join-section{padding:3.3125rem 0 2.625rem}.join-heading h2{font-size:2rem}.join-heading>p:last-child{font-size:0.6875rem;line-height:2}.join-section::before{right:6%;font-size:3.75rem}.join-grid{grid-template-columns:1fr;gap:0.9375rem;margin-top:1.875rem}.join-grid>a{padding:1.4375rem 1.5625rem}.join-grid h3{font-size:1.4375rem;margin-bottom:0.75rem}.join-grid>a>span:last-child{font-size:0.6875rem}.join-note{font-size:0.5rem;text-align:left}.site-footer{padding-block:2.1875rem 1.5625rem}.footer-top{gap:0.9375rem;flex-wrap:wrap;padding-bottom:1.5rem}.footer-top>.brand img{width:10.375rem}.footer-top>p{font-size:0.625rem;order:3;width:100%}.footer-bottom{gap:1.125rem;font-size:0.5rem}.footer-bottom>span:last-child{font-size:0.4375rem;width:100%}.footer-bottom>div{font-size:0.625rem;gap:1rem}.back-top{width:2.3125rem;height:2.3125rem}.program-dialog{width:calc(100% - 1.5rem);border-radius:1rem}.program-dialog>img{height:13.75rem}.dialog-copy{padding:1.5rem}.dialog-copy h2{font-size:1.5rem}.dialog-copy>p:not(.eyebrow){font-size:0.75rem}.dialog-close{width:2.25rem;height:2.25rem;font-size:1.625rem;top:0.75rem;margin-right:0.75rem}.program-notice{padding:0.9375rem}.dialog-dismiss{font-size:0.6875rem;padding-inline:1.25rem}}
@media(min-width:901px) and (max-width:1599px){.hero-content{padding-top:8.25rem}}
@media(max-width:600px){.season-tab>b{font-size:1.375rem;white-space:nowrap;margin-top:0.625rem}.season-tab b>span{display:inline;font-size:0.875rem;padding:0 0.1875rem}}
@media(max-width:900px){.lantern:nth-child(n+15){display:none}}
.planned{color:#fff8e8e6;background:#07163f52;border-color:#f7ecceb8;padding:0.1875rem 0.5rem;text-shadow:0 0.0625rem 0.375rem #061333}
.hero-location{font-size:0.8125rem;font-weight:500;letter-spacing:.045em;color:#fffdf0e0;text-shadow:0 0.125rem 0.5rem #061333,0 0 1.125rem #06133380}
.hero-location .icon{margin-right:0.375rem;filter:drop-shadow(0 0.0625rem 0.25rem #061333)}
@media(max-width:600px){.planned{font-size:0.53125rem;padding:0.1875rem 0.375rem}.hero-location{font-size:0.65625rem}}
.sky-star{animation-name:hero-twinkle;animation-direction:normal}.sky-star:nth-child(3n):not(.cross){width:0.125rem;height:0.125rem}.sky-star:nth-child(7n):not(.cross){width:0.25rem;height:0.25rem;box-shadow:0 0 0.6875rem #fff2c5}
@keyframes hero-twinkle{0%,100%{opacity:.1;transform:scale(.5)}38%{opacity:1;transform:scale(1.3)}62%{opacity:.28;transform:scale(.7)}82%{opacity:.92;transform:scale(1.1)}}

/* Keep every food image in the same arch-shaped frame. */
.food-slider .food-card img{border-radius:5.9375rem 5.9375rem 1rem 1rem}
@media(max-width:600px){.food-slider .food-card img{border-radius:4.6875rem 4.6875rem 0.75rem 0.75rem}}

/* Section transitions: port-city night-market motifs, not celestial symbols. */
.section-divider{position:relative;isolation:isolate;overflow:hidden}
.section-divider--lanterns{width:min(56.25rem,calc(100% - 4.5rem));height:4.375rem;margin:-0.25rem auto 0.125rem;display:flex;align-items:center;justify-content:center;gap:2.125rem}
.section-divider--lanterns>i{flex:1;height:0.0625rem;background:linear-gradient(90deg,transparent,#e5b65a66)}
.section-divider--lanterns>i:last-child{background:linear-gradient(90deg,#e5b65a66,transparent)}
.section-divider--lanterns>span{position:relative;width:0.8125rem;height:1.125rem;border-radius:0.25rem 0.25rem 0.375rem 0.375rem;background:linear-gradient(180deg,#ffe7a8,#e99545);box-shadow:0 0 0.5rem #ffbe5b80,0 0 1.375rem #f2a84d45;transform:translateY(var(--drop,0)) rotate(var(--tilt,0deg))}
.section-divider--lanterns>span::before{content:'';position:absolute;left:0.125rem;right:0.125rem;top:-0.1875rem;height:0.1875rem;border-radius:0.125rem;background:#6f4b39}
.section-divider--lanterns>span:nth-of-type(2){--drop:0.5rem;--tilt:-4deg}.section-divider--lanterns>span:nth-of-type(3){--drop:-0.1875rem;--tilt:3deg}.section-divider--lanterns>span:nth-of-type(4){--drop:0.375rem;--tilt:-2deg}.section-divider--lanterns>span:nth-of-type(5){--drop:-0.3125rem;--tilt:4deg}
.section-divider--harbor{width:100%;height:7.875rem;margin:0;background:linear-gradient(180deg,#e8e5f1 0%,#c8c8d7 25%,#536083 66%,#18204e 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4375rem;color:#faf1d5}
.section-divider--harbor::before{content:'';position:absolute;inset:42% 0 0;background:repeating-linear-gradient(174deg,transparent 0 0.8125rem,#f5d98b20 0.875rem 0.9375rem,transparent 1rem 1.75rem);opacity:.9;mask-image:linear-gradient(90deg,transparent 4%,#000 28%,#000 72%,transparent 96%)}
.section-divider--harbor>span{font:600 0.5rem/1 var(--latin);letter-spacing:.34em;opacity:.75;margin-bottom:0.4375rem}
.section-divider--harbor>i{display:block;width:min(38.75rem,70vw);height:0.0625rem;background:linear-gradient(90deg,transparent,#f6d4758c 20%,#fff2c5c0 50%,#f6d4758c 80%,transparent);border-radius:50%;transform:translateX(var(--wave-x,0))}
.section-divider--harbor>i:nth-of-type(2){width:min(30rem,56vw);--wave-x:6%;opacity:.65}.section-divider--harbor>i:nth-of-type(3){width:min(21.875rem,42vw);--wave-x:-8%;opacity:.4}
.section-divider--sign{width:min(55rem,calc(100% - 4.5rem));height:4.75rem;margin:-1.625rem auto 0.25rem;display:flex;align-items:center;justify-content:center;gap:1.25rem;color:#d9d8e9}
.section-divider--sign>i{flex:1;height:0.0625rem;background:linear-gradient(90deg,transparent,#8e94ad80,#e5bd667d)}
.section-divider--sign>i+span,.section-divider--sign>i:last-of-type{background:linear-gradient(90deg,#e5bd667d,#8e94ad80,transparent)}
.section-divider--sign>b{font:700 0.625rem/1 var(--latin);letter-spacing:.24em;color:#f2d184;padding:0.5625rem 1rem;border:0.0625rem solid #d9bb7270;border-radius:62.4375rem;background:#17204b;box-shadow:0 0.3125rem 1.125rem #070d2a4d;white-space:nowrap}
.section-divider--sign>span{font:500 0.5rem/1 var(--latin);letter-spacing:.2em;color:#aeb5cf}
.schedule-gate>span{display:block;width:1.375rem;height:0.125rem;border-radius:62.4375rem;background:#c59642}.schedule-gate>span::before{content:none}
@media(max-width:600px){.section-divider--lanterns{width:calc(100% - 2.375rem);height:3.375rem;gap:1.0625rem}.section-divider--lanterns>span{width:0.625rem;height:0.875rem}.section-divider--harbor{height:5.5rem}.section-divider--harbor>span{font-size:0.375rem}.section-divider--sign{width:calc(100% - 2.375rem);height:3.625rem;margin-top:-1.125rem;gap:0.5625rem}.section-divider--sign>span{display:none}.section-divider--sign>b{font-size:0.5rem;padding:0.4375rem 0.6875rem}}

/* Schedule: warm harbor daylight keeps the seasonal passes prominent. */
.schedule-section{background:radial-gradient(circle at 87% 7%,#e7b85626 0,transparent 24%),radial-gradient(ellipse at 7% 78%,#6e94a51c 0,transparent 31%),linear-gradient(155deg,#faf7ed 0%,#f2eee2 50%,#e6e9e4 100%);box-shadow:inset 0 0.0625rem 0 #fffdf7,0 -1.375rem 5rem #050b242b;color:#20344f}
.schedule-section::before{color:#244d6109}
.schedule-section::after{width:16.875rem;height:4.875rem;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:repeating-linear-gradient(180deg,#64839320 0 0.0625rem,transparent 0.0625rem 0.75rem);transform:skewX(-18deg)}
.schedule-section .eyebrow{color:#9b702b}.schedule-section .section-heading>p{color:#626b70}.schedule-section .hand-line::after{border-color:#c4963a}
.season-tab::before,.season-tab::after,.season-tab[aria-selected=true]::before,.season-tab[aria-selected=true]::after{background:#efede4;box-shadow:inset 0 0 0 0.0625rem #c9c5b988}
.section-divider--harbor{background:linear-gradient(180deg,#e6e9e4 0%,#c4cbd0 26%,#52617f 66%,#18204e 100%)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.lantern{bottom:auto;top:var(--rest-y);opacity:.5}.sky-star{opacity:.55}}

/* Gentle, one-time entrances evoke lanterns rising into the night. */
.night-reveal{opacity:0;translate:var(--reveal-x,0) 4rem;filter:blur(0.5rem);transition:opacity 1s ease,translate 1.15s cubic-bezier(.16,1,.3,1),filter .9s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,translate,filter}
.night-reveal--left{--reveal-x:-2.625rem}.night-reveal--right{--reveal-x:2.625rem}
.night-reveal.is-revealed,.night-reveal:focus-within{opacity:1;translate:0 0;filter:blur(0);will-change:auto}
.motion-paused .night-reveal{opacity:1;translate:none;filter:none;transition:none}
@media(prefers-reduced-motion:reduce){.night-reveal{opacity:1;translate:none;filter:none;transition:none}}
@media(max-width:600px){.night-reveal{translate:var(--reveal-x,0) 2.625rem;filter:blur(0.3125rem)}.night-reveal--left{--reveal-x:-1.375rem}.night-reveal--right{--reveal-x:1.375rem}}

/* Size alone communicates the active pass; each season keeps its artwork. */
.schedule-tabs .season-tab{transform:scale(.89);opacity:.72;filter:saturate(.68);transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s ease,filter .4s ease,box-shadow .4s ease;transform-origin:center}
.schedule-tabs .season-tab[aria-selected=false]:hover{transform:scale(.94);opacity:.9;filter:saturate(.9)}
.schedule-tabs .season-tab[aria-selected=true],.schedule-tabs .season-tab[aria-selected=true]:hover{transform:scale(1.065);opacity:1;filter:saturate(1);z-index:1;color:#34365a;border-color:color-mix(in srgb,var(--season-accent) 44%,#c8c4d6);border-top-color:var(--season-accent);background:linear-gradient(145deg,#fff,var(--season-soft));box-shadow:0 1.5rem 3rem #3d36582b,0 0 0 0.0625rem color-mix(in srgb,var(--season-accent) 18%,transparent),inset 0 0.0625rem #fff}
.schedule-tabs .season-tab:nth-child(2)[aria-selected=true]{background:radial-gradient(circle at 88% 18%,#f3c45a30 0 7%,transparent 7.5%),repeating-radial-gradient(ellipse at 100% 92%,transparent 0 1.0625rem,#49aeb412 1.125rem 1.25rem,transparent 1.3125rem 1.875rem),linear-gradient(145deg,#fff,var(--season-soft))}
.schedule-tabs .season-tab:nth-child(3)[aria-selected=true]{background:radial-gradient(ellipse at 88% 17%,#d8964f24 0 8%,transparent 8.5%),radial-gradient(ellipse at 78% 29%,#ab653d18 0 7%,transparent 7.5%),linear-gradient(145deg,#fff,var(--season-soft))}
.schedule-tabs .season-tab[aria-selected=true] .season-top{color:#625c79}
.schedule-tabs .season-tab[aria-selected=true] .season-top i{color:#71636f;background:color-mix(in srgb,var(--season-accent) 16%,transparent);border:0}
.schedule-tabs .season-tab[aria-selected=true] b>span{color:#a39bad}
.schedule-tabs .season-tab[aria-selected=true] .season-star{opacity:.42}
@media(max-width:600px){.schedule-tabs .season-tab{transform:scale(.87);opacity:.7}.schedule-tabs .season-tab[aria-selected=false]:hover{transform:scale(.9)}.schedule-tabs .season-tab[aria-selected=true],.schedule-tabs .season-tab[aria-selected=true]:hover{transform:scale(1.04);opacity:1}}

/* The three editions are presented as collectible night passes. */
.schedule-section{overflow:hidden;isolation:isolate;border-radius:6rem 6rem 0 0;padding:6.125rem 0 5.375rem;background:radial-gradient(circle at 87% 8%,#f4c96c38 0,transparent 25%),radial-gradient(circle at 8% 72%,#9d91cf2d 0,transparent 30%),linear-gradient(155deg,#f8f5fc 0%,#efedf7 48%,#e8e5f1 100%);box-shadow:inset 0 0.0625rem 0 #fff,0 -1.375rem 5rem #050b2433}
.schedule-section::before{content:'2027';position:absolute;right:-.03em;top:-.12em;z-index:-1;font:600 clamp(8.125rem,18vw,15.3125rem)/1 var(--latin);letter-spacing:-.07em;color:#3028590b;pointer-events:none}
.schedule-section::after{content:'';position:absolute;right:6%;top:4.1875rem;width:15.9375rem;aspect-ratio:1;border:0.0625rem solid #b8964a2d;border-radius:50%;box-shadow:0 0 0 2.375rem #b8964a0b,0 0 0 4.75rem #6258870b;z-index:-1;pointer-events:none}
.schedule-section>.container{position:relative;z-index:1}
.schedule-section .section-heading{margin-bottom:3.0625rem}.schedule-section .eyebrow{font-size:0.75rem;letter-spacing:.24em;color:#71628f}.schedule-section .section-heading h2{font-size:clamp(2.375rem,4.2vw,3.5rem);line-height:1.45;letter-spacing:.035em}.schedule-section .section-heading>p{font-size:0.875rem;line-height:2;color:#656279}.schedule-section .hand-line::after{height:0.6875rem;border-width:0.125rem;border-color:#c1963d}
.schedule-tabs{gap:1.125rem;perspective:56.25rem}
.season-tab{--season-accent:#db8fa5;--season-deep:#653b69;--season-soft:#fff2f6;--season-glow:#f5b4c7;min-height:11.875rem;overflow:hidden;isolation:isolate;padding:1.5625rem 1.8125rem 1.5rem;border:0.0625rem solid color-mix(in srgb,var(--season-accent) 32%,#c8c4d6);border-top:0.25rem solid var(--season-accent);border-radius:1.375rem;background:radial-gradient(ellipse at 87% 13%,color-mix(in srgb,var(--season-accent) 14%,transparent) 0 13%,transparent 14%),radial-gradient(ellipse at 79% 24%,color-mix(in srgb,var(--season-accent) 9%,transparent) 0 10%,transparent 11%),linear-gradient(145deg,#fff 0%,var(--season-soft) 100%);box-shadow:0 0.875rem 2.1875rem #3d365815,inset 0 0.0625rem #fff;color:#34365a;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.season-tab:nth-child(2){--season-accent:#49aeb4;--season-deep:#17546b;--season-soft:#ecfbfa;--season-glow:#75e1dc;background:radial-gradient(circle at 88% 18%,#f3c45a30 0 7%,transparent 7.5%),repeating-radial-gradient(ellipse at 100% 92%,transparent 0 1.0625rem,#49aeb412 1.125rem 1.25rem,transparent 1.3125rem 1.875rem),linear-gradient(145deg,#fff 0%,var(--season-soft) 100%)}.season-tab:nth-child(3){--season-accent:#c47b46;--season-deep:#704239;--season-soft:#fff4e7;--season-glow:#edaa63;background:radial-gradient(ellipse at 88% 17%,#d8964f24 0 8%,transparent 8.5%),radial-gradient(ellipse at 78% 29%,#ab653d18 0 7%,transparent 7.5%),linear-gradient(145deg,#fff 0%,var(--season-soft) 100%)}
.season-tab::before,.season-tab::after{content:'';position:absolute;top:50%;width:1.5625rem;height:1.5625rem;border-radius:50%;background:#ece9f3;transform:translateY(-50%);box-shadow:inset 0 0 0 0.0625rem #cbc5da88;z-index:2}.season-tab::before{left:-0.875rem}.season-tab::after{right:-0.875rem}
.season-tab:hover{transform:translateY(-0.25rem);border-color:var(--season-accent);box-shadow:0 1.3125rem 2.8125rem #3d365823,inset 0 0.0625rem #fff}
.season-tab[aria-selected=true],.season-tab[aria-selected=true]:hover{transform:none;color:#2e3154;border-color:var(--season-accent);border-top-color:var(--season-accent);background:linear-gradient(145deg,#fff 0%,var(--season-soft) 100%);box-shadow:0 0.75rem 1.75rem #40394f20,0 0 0 0.0625rem color-mix(in srgb,var(--season-accent) 26%,transparent),inset 0 0.0625rem #fff}
.season-tab[aria-selected=true]::before,.season-tab[aria-selected=true]::after{background:#ece9f3;border-color:var(--season-accent)}
.season-top{align-items:center;font-size:0.6875rem;letter-spacing:.14em;color:#625c79}.season-top i{display:inline-flex;align-items:center;min-height:1.5rem;padding:0.1875rem 0.6875rem;border-radius:1.875rem;background:color-mix(in srgb,var(--season-accent) 16%,transparent);color:#71636f;font-size:0.5625rem;letter-spacing:.13em}
.season-tab[aria-selected=true] .season-top{color:var(--season-deep)}.season-tab[aria-selected=true] .season-top i{background:color-mix(in srgb,var(--season-accent) 18%,#fff);color:var(--season-deep);border:0.0625rem solid color-mix(in srgb,var(--season-accent) 42%,transparent)}
.season-tab>b{font-size:clamp(2.125rem,3.3vw,2.8125rem);line-height:1.35;margin:0.8125rem 0 0.5625rem;letter-spacing:-.035em}.season-tab b small{font-size:0.625rem}.season-tab b>span{font-size:1.3125rem;color:#a39bad}.season-tab[aria-selected=true] b>span{color:var(--season-deep)}.season-tab>span:nth-last-child(2){font-size:0.75rem;line-height:1.8;font-weight:700;letter-spacing:.02em}
.season-star{right:1.3125rem;top:1.1875rem;font-size:1.6875rem;color:var(--season-accent);opacity:.42}.season-tab[aria-selected=true] .season-star{color:var(--season-accent);opacity:1;filter:none;animation:none}
.season-tab[aria-selected=true] .season-star::after{content:none}
.season-panel{--panel-accent:#db8fa5;--panel-deep:#653b69;--panel-soft:#fff4f7;position:relative;overflow:hidden;grid-template-columns:1fr 1.08fr;gap:4.25rem;margin-top:2.375rem;padding:3rem 3.25rem;border:0.0625rem solid color-mix(in srgb,var(--panel-accent) 42%,#c9c5d4);border-radius:1.75rem;background:radial-gradient(ellipse at 92% 13%,color-mix(in srgb,var(--panel-accent) 14%,transparent) 0 11%,transparent 12%),radial-gradient(ellipse at 84% 24%,color-mix(in srgb,var(--panel-accent) 9%,transparent) 0 8%,transparent 9%),linear-gradient(145deg,#fffffff5,var(--panel-soft));box-shadow:0 1.75rem 4.375rem #312c501f,0 0.5rem 2.125rem color-mix(in srgb,var(--panel-accent) 12%,transparent),inset 0 0.0625rem #fff;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.season-panel[data-active-season="1"]{--panel-accent:#49aeb4;--panel-deep:#17546b;--panel-soft:#edfafa;background:radial-gradient(circle at 91% 13%,#f0ba4d25 0 6%,transparent 6.5%),repeating-radial-gradient(ellipse at 102% 89%,transparent 0 1.5625rem,#49aeb411 1.625rem 1.75rem,transparent 1.8125rem 2.625rem),linear-gradient(145deg,#fffffff5,var(--panel-soft))}
.season-panel[data-active-season="2"]{--panel-accent:#c47b46;--panel-deep:#704239;--panel-soft:#fff4e8;background:radial-gradient(ellipse at 92% 14%,#d58b4a20 0 10%,transparent 10.5%),radial-gradient(ellipse at 83% 27%,#9f5d3815 0 8%,transparent 8.5%),linear-gradient(145deg,#fffffff5,var(--panel-soft))}
.season-panel::before{content:'';position:absolute;left:0;top:0;width:11.25rem;height:0.375rem;border-radius:0 0.375rem 0.375rem 0;background:linear-gradient(90deg,var(--panel-deep),var(--panel-accent))}
.season-panel::after{content:'SPRING / 01';position:absolute;right:1.75rem;top:1.25rem;color:var(--panel-deep);font:600 0.6875rem var(--latin);letter-spacing:.22em;opacity:.36}.season-panel[data-active-season="1"]::after{content:'SUMMER / 02'}.season-panel[data-active-season="2"]::after{content:'AUTUMN / 03'}
.outlined-label{padding:0.375rem 0.8125rem;border-color:color-mix(in srgb,var(--panel-accent) 56%,transparent);border-radius:1.875rem;background:color-mix(in srgb,var(--panel-accent) 13%,#fff);color:var(--panel-deep);font-size:0.625rem;font-weight:700;letter-spacing:.08em}.season-intro h3{font-size:1.9375rem;margin:1.125rem 0 0.8125rem;letter-spacing:.025em}.season-intro>p{font-size:0.8125rem;line-height:2.05;color:#635e72}
.store-count{margin-top:1.6875rem;gap:1.125rem}.store-count>strong{position:relative;font-size:4.375rem;color:var(--panel-deep);text-shadow:0 0.25rem 0 #fff}.store-count>strong::after{content:'';position:absolute;left:0.1875rem;right:0.0625rem;bottom:-0.4375rem;height:0.1875rem;border-radius:0.25rem;background:linear-gradient(90deg,var(--panel-accent),transparent)}.store-count>span{font-size:0.8125rem}.store-count small{font-size:0.625rem}
.event-details{font-size:0.8125rem}.event-details>div{grid-template-columns:5.5rem 1fr;gap:1.125rem;padding:1rem 0;border-color:#d1c9dd}.event-details dt{font-size:0.6875rem;letter-spacing:.04em;color:#766b89}.event-details dd{font-size:0.8125rem;color:#292d50}.event-details dd small{font-size:0.625rem}.schedule-note{text-align:center;font-size:0.625rem;margin-top:1.8125rem;color:#71697f;letter-spacing:.015em}
@keyframes schedule-star-pulse{0%,100%{transform:scale(.8) rotate(0);opacity:.58}50%{transform:scale(1.2) rotate(12deg);opacity:1}}
@media(max-width:900px){.schedule-section{border-radius:3.625rem 3.625rem 0 0;padding:4.25rem 0 3.625rem}.schedule-section::before{top:.05em}.schedule-section::after{width:11.25rem;right:-5%;top:4.6875rem}.schedule-section .section-heading{margin-bottom:2.125rem}.schedule-section .section-heading>p{font-size:0.75rem}.schedule-tabs{gap:0.625rem}.season-tab{min-height:10rem;padding:1.125rem 1rem 1.0625rem;border-radius:1rem}.season-tab>b{font-size:1.6875rem}.season-tab b>span{font-size:1rem}.season-tab>span:nth-last-child(2){font-size:0.625rem}.season-panel{gap:1.875rem;margin-top:1.6875rem;padding:2.1875rem 2rem}.season-intro h3{font-size:1.5625rem}.store-count>strong{font-size:3.75rem}}
@media(max-width:600px){.schedule-section{border-radius:2.625rem 2.625rem 0 0;padding:3.5625rem 0 3rem}.schedule-section::before{font-size:7.1875rem;top:.17em}.schedule-section::after{display:none}.schedule-section .section-heading h2{font-size:1.9375rem}.schedule-tabs{gap:0.4375rem}.season-tab{min-height:8.5625rem;padding:0.8125rem 0.5625rem 0.75rem;border-width:0.0625rem;border-top-width:0.1875rem;border-radius:0.8125rem}.season-tab::before,.season-tab::after{width:1.0625rem;height:1.0625rem}.season-tab::before{left:-0.625rem}.season-tab::after{right:-0.625rem}.season-tab[aria-selected=true],.season-tab[aria-selected=true]:hover{transform:none}.season-top{font-size:0.5rem}.season-top i{min-height:1.1875rem;padding:0.125rem 0.3125rem;font-size:0.375rem}.season-tab>b{font-size:1.375rem;margin-top:0.6875rem}.season-tab b>span{font-size:0.8125rem}.season-star{display:block;right:0.5rem;top:0.5rem;font-size:0.9375rem}.season-tab[aria-selected=true] .season-star::after{display:none}.season-panel{margin-top:1.375rem;padding:1.8125rem 1.375rem;border-radius:1.125rem}.season-panel::after{right:1.0625rem;top:0.75rem}.outlined-label{font-size:0.5625rem}.season-intro h3{font-size:1.5rem}.store-count>strong{font-size:3.5625rem}.event-details{font-size:0.75rem}.event-details>div{grid-template-columns:4.1875rem 1fr;gap:0.625rem}.event-details dd{font-size:0.75rem}.schedule-note{text-align:left;font-size:0.5625rem}}
@media(max-width:600px){.celestial-divider{width:calc(100% - 2.375rem);height:3.625rem;gap:0.5625rem}.celestial-divider>i{max-width:4.6875rem}.celestial-divider--constellation{margin-block:-0.3125rem}.celestial-divider--constellation>span:nth-of-type(2){font-size:1.25rem}.celestial-divider--moon{width:100%;height:5.5rem;gap:0.875rem}.celestial-divider--moon>i{width:24vw}.celestial-divider--moon>span{font-size:1.6875rem}.celestial-divider--finale{height:3.5rem;margin-top:-1.25rem}.celestial-divider--finale>span:nth-of-type(2){font-size:0.5rem;letter-spacing:.12em}.schedule-gate{top:1.125rem;gap:0.5rem;font-size:0.4375rem;letter-spacing:.13em}.join-section{border-radius:2.625rem 2.625rem 0 0}}

/* Final schedule palette override. */
.schedule-section{background:radial-gradient(circle at 87% 7%,#e7b85626 0,transparent 24%),radial-gradient(ellipse at 7% 78%,#6e94a51c 0,transparent 31%),linear-gradient(155deg,#faf7ed 0%,#f2eee2 50%,#e6e9e4 100%);box-shadow:inset 0 0.0625rem 0 #fffdf7,0 -1.375rem 5rem #050b242b;color:#20344f}
.schedule-section::before{color:#244d6109}
.schedule-section::after{width:16.875rem;height:4.875rem;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:repeating-linear-gradient(180deg,#64839320 0 0.0625rem,transparent 0.0625rem 0.75rem);transform:skewX(-18deg)}
.schedule-section .eyebrow{color:#9b702b}.schedule-section .section-heading>p{color:#626b70}.schedule-section .hand-line::after{border-color:#c4963a}
.season-tab::before,.season-tab::after,.season-tab[aria-selected=true]::before,.season-tab[aria-selected=true]::after{background:#efede4;box-shadow:inset 0 0 0 0.0625rem #c9c5b988}
.section-divider--harbor{background:linear-gradient(180deg,#e6e9e4 0%,#c4cbd0 26%,#52617f 66%,#18204e 100%)}
@media(max-width:900px){.schedule-section::after{width:11.25rem;height:3.875rem}}
@media(max-width:600px){.schedule-section::after{display:none}}
.planned{font-weight:700;background:transparent}
.section-divider--harbor-lanterns{width:100%;height:7.875rem;margin:0;padding-inline:max(2.25rem,calc((100% - 56.25rem)/2));background:linear-gradient(180deg,#e6e9e4 0%,#c4cbd0 26%,#52617f 66%,#18204e 100%)}
.section-divider--harbor-lanterns>i{max-width:none}
.section-divider--finale-lanterns{height:4.5rem;margin-top:-1.5625rem;margin-bottom:0.0625rem}
@media(max-width:600px){.section-divider--harbor-lanterns{width:100%;height:5.5rem;padding-inline:1.1875rem}.section-divider--finale-lanterns{height:3.5rem;margin-top:-1.125rem}}

/* Give the two compact experience cards the same soft, cinematic hover feel. */
.experience-small{transform:translate3d(0,0,0);transition:transform .6s cubic-bezier(.2,.72,.22,1),border-color .45s ease,filter .6s ease}
.experience-small>img{transform:scale(1);filter:saturate(1) brightness(1);box-shadow:0 0.5rem 1.5rem transparent;transition:transform .85s cubic-bezier(.18,.74,.2,1),filter .7s ease,box-shadow .7s ease}
.experience-small strong{transition:color .45s ease,transform .6s cubic-bezier(.2,.72,.22,1)}
.experience-small>span>span,.experience-small small{transition:color .45s ease,opacity .45s ease}
.experience-small>i{transition:transform .6s cubic-bezier(.2,.72,.22,1),color .45s ease}
.experience-small:hover,.experience-small:focus-visible{transform:translate3d(0,-0.375rem,0);border-color:#f1ca7466;filter:drop-shadow(0 0.8125rem 1.125rem #060c2930)}
.experience-small:hover>img,.experience-small:focus-visible>img{transform:scale(1.035);filter:saturate(1.09) brightness(1.06);box-shadow:0 0.875rem 2.125rem #050b2445}
.experience-small:hover strong,.experience-small:focus-visible strong{color:var(--gold);transform:translateX(0.1875rem)}
.experience-small:hover>span>span,.experience-small:focus-visible>span>span{color:#d9deef}
.experience-small:hover>i,.experience-small:focus-visible>i{color:var(--gold);transform:translate3d(0.25rem,-0.1875rem,0) rotate(-8deg)}

/* Each divider lantern drifts independently, like warm lights in the sea breeze. */
.section-divider--lanterns>span{transform:none;translate:0 var(--drop,0rem);rotate:var(--tilt,0deg);animation:section-lantern-float var(--float-duration,4.8s) ease-in-out var(--float-delay,0s) infinite alternate;will-change:translate,filter,opacity}
.section-divider--lanterns>span:nth-of-type(1){--float-duration:4.6s;--float-delay:-1.4s;--float-distance:0.3125rem}
.section-divider--lanterns>span:nth-of-type(2){--float-duration:5.2s;--float-delay:-3.1s;--float-distance:0.5rem}
.section-divider--lanterns>span:nth-of-type(3){--float-duration:4.15s;--float-delay:-2.4s;--float-distance:0.25rem}
.section-divider--lanterns>span:nth-of-type(4){--float-duration:5.75s;--float-delay:-4s;--float-distance:0.5625rem}
.section-divider--lanterns>span:nth-of-type(5){--float-duration:4.9s;--float-delay:-.8s;--float-distance:0.375rem}
@keyframes section-lantern-float{0%{translate:0 calc(var(--drop,0rem) - var(--float-distance,0.375rem));filter:brightness(.92);opacity:.78}45%{filter:brightness(1.08);opacity:1}100%{translate:0 calc(var(--drop,0rem) + var(--float-distance,0.375rem));filter:brightness(1.16);opacity:.9}}
.about-title-lead{display:inline-block;font-size:.72em;font-weight:700;letter-spacing:.07em;white-space:nowrap;color:#f6f1e8}
.about-copy #about-title .gold-word{display:inline-block;font-size:1.08em;letter-spacing:.045em;white-space:nowrap}

/* One continuous night sky across every section. */
.food-section,.schedule-section,.join-section,.site-footer{background:#18204e}
.schedule-section,.join-section{border-radius:0;box-shadow:none}
.schedule-section{color:var(--cream)}
.schedule-section::before{color:#ffffff0a}
.schedule-section::after{border:0;box-shadow:none;background:repeating-linear-gradient(180deg,#f6c76022 0 0.0625rem,transparent 0.0625rem 0.75rem)}
.schedule-section .eyebrow{color:var(--gold)}
.schedule-section .section-heading h2{color:var(--cream)}
.schedule-section .section-heading>p,.schedule-note{color:#b9c3dc}
.schedule-gate{color:#aeb8cf}
.season-tab::before,.season-tab::after,.season-tab[aria-selected=true]::before,.season-tab[aria-selected=true]::after{background:#18204e;box-shadow:inset 0 0 0 0.0625rem #7580a088}
.section-divider--harbor-lanterns{background:#18204e}
.join-heading>p:last-child{color:#c8cfe2}

/* Keep the market and visitors visible within the hero crop. */
.hero .hero-skyline{object-position:center bottom}
.hero::before{background:linear-gradient(180deg,#0b173b9c 0%,#10276530 36%,#101b4722 75%,#18204e88 100%),radial-gradient(ellipse at 50% 30%,#101b4740,transparent 65%)}
@media(max-width:600px){.hero .hero-skyline{width:100%;left:0;object-position:50% bottom}}

/* A deliberately unrevealed late-night programme. */
.midnight-secret{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:2.25rem;margin-top:2rem;padding:2.5rem 3rem;border:1px solid #e2be725e;border-radius:1.25rem;background:radial-gradient(ellipse at 9% 50%,#b58a432a,transparent 45%),linear-gradient(110deg,#11162e,#202044 65%,#151a34);box-shadow:inset 0 0 40px #d4ac5410}
.midnight-secret::after{content:'?';position:absolute;right:15%;top:-3rem;font:italic 20rem Georgia,serif;color:#d9bd7310;z-index:-1;transform:rotate(15deg)}
.midnight-secret__mark{display:grid;place-items:center;flex:0 0 7rem;height:7rem;border:1px solid #ebcf864d;border-radius:50%;font:italic 5rem Georgia,serif;color:#f5d68b;text-shadow:0 0 28px #edbf5970;box-shadow:0 0 0 10px #e2bf6910}
.midnight-secret__eyebrow{font:500 .625rem var(--latin);letter-spacing:.2em;color:#e4c57f;margin-bottom:.8rem}
.midnight-secret h3{font-size:clamp(1.125rem,2vw,1.7rem);line-height:1.6;color:#fff0ce;letter-spacing:.06em}
.midnight-secret__copy>p:last-child{font-size:.8125rem;line-height:2;color:#d6d8e6;margin-top:.65rem}
.midnight-secret__status{margin-left:auto;flex-shrink:0;padding:.7rem 1rem;border:1px solid #e4c57f55;border-radius:999px;color:#e4c57f;font-size:.6875rem;letter-spacing:.08em}
@media(max-width:900px){.midnight-secret{flex-wrap:wrap;padding:2rem;gap:1.5rem}.midnight-secret__status{margin-left:8.5rem}}
@media(max-width:600px){.midnight-secret{padding:1.75rem 1.25rem;gap:1.5rem;text-align:center;justify-content:center}.midnight-secret__mark{flex-basis:5rem;height:5rem;font-size:3.5rem}.midnight-secret__copy{width:100%}.midnight-secret__status{margin-left:0}.midnight-secret::after{right:-1rem;top:0;font-size:17rem}}
