:root{--bg:#0c0b0a;--surf:#171412;--sheet:#110f0d;--navbg:rgba(12,11,10,.82);--line:rgba(244,236,224,.14);--tx:#f4ece0;--mut:#b5aa9b;--gold:#eca62c;--red:#d93232;
--disp:'Bebas Neue','Impact',sans-serif;--body:'Inter',system-ui,sans-serif;--script:'Yellowtail',cursive}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{transition:background .45s,color .45s;background:var(--bg);color:var(--tx);font-family:var(--body);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.center{text-align:center;margin-top:56px}

.topbar{background:var(--gold);color:#1a1209;text-align:center;font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px}
.nav{position:sticky;top:0;z-index:60;background:var(--navbg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1200px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo img{width:46px;height:46px;transition:transform .5s}
.nav-logo:hover img{transform:rotate(-12deg) scale(1.08)}
.links{display:flex;align-items:center;gap:34px;list-style:none;font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.links a{position:relative;padding:6px 0}
.links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .3s}
.links a:hover::after{width:100%}
.nav-cta{border:1px solid var(--gold);color:var(--gold);padding:9px 20px!important;transition:.25s}
.nav-cta:hover{background:var(--gold);color:#1a1209}
.burger{display:none;width:44px;height:44px;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:var(--tx);transition:.3s}
.burger i:first-child{top:16px}.burger i:last-child{top:26px}
.burger[aria-expanded=true] i:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:last-child{top:21px;transform:rotate(-45deg)}

.btn{display:inline-block;background:var(--gold);color:#1a1209;font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:16px 34px;border:1px solid var(--gold);transition:.3s}
.btn:hover{background:transparent;color:var(--gold)}
.btn-line{background:transparent;color:var(--tx);border-color:color-mix(in srgb,var(--tx) 55%,transparent)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:inherit}

/* hero */
.hero{position:relative;min-height:calc(100svh - 112px);display:grid;place-items:center;text-align:center;overflow:hidden;padding:60px 20px 90px}
.slides,.slide,.hero-shade{position:absolute;inset:0}
.slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;transform:scale(1.02)}
.slide.on{opacity:1;animation:kb 12s ease-out forwards}
@keyframes kb{to{transform:scale(1.14)}}
.hero-shade{background:radial-gradient(ellipse at center,rgba(12,11,10,.35) 0,rgba(12,11,10,.6) 75%),linear-gradient(to bottom,rgba(12,11,10,.15) 55%,#0c0b0a 100%)}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.hero-logo{width:clamp(110px,14vw,150px);height:auto;border-radius:50%;box-shadow:0 0 0 6px rgba(236,166,44,.18),0 20px 60px rgba(0,0,0,.6);animation:drop 1.1s cubic-bezier(.2,.9,.2,1) both}
@keyframes drop{from{opacity:0;transform:translateY(-30px) scale(.8)}}
.hero-title{font-family:var(--disp);font-weight:400;font-size:clamp(4.2rem,16vw,12rem);line-height:.88;letter-spacing:.02em;text-transform:uppercase;margin-top:22px}
.hero-title span{display:inline-block;animation:up 1s cubic-bezier(.2,.9,.2,1) both}
.hero-title span:nth-child(2){animation-delay:.15s;color:var(--gold)}
@keyframes up{from{opacity:0;transform:translateY(40px)}}
.hero-script{font-family:var(--script);font-size:clamp(1.7rem,4vw,2.8rem);color:var(--gold);margin:6px 0 10px;animation:up 1s .35s both}
.hero-meta{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:34px;animation:up 1s .45s both}
.hero-meta b{color:var(--gold);margin:0 8px}
.hero .cta-row{justify-content:center;animation:up 1s .55s both}
.scroll{position:absolute;bottom:24px;left:50%;width:24px;height:40px;border:1px solid rgba(244,236,224,.5);border-radius:14px;transform:translateX(-50%);z-index:3}
.scroll span{position:absolute;top:7px;left:50%;width:3px;height:8px;margin-left:-1.5px;background:var(--gold);border-radius:2px;animation:sc 1.8s infinite}
@keyframes sc{60%{transform:translateY(14px);opacity:0}}

.marquee{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;background:var(--surf)}
.track{display:flex;gap:30px;width:max-content;font-family:var(--disp);font-size:2rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;animation:mq 34s linear infinite}
.track b{color:var(--gold);font-weight:400}
@keyframes mq{to{transform:translateX(-50%)}}

.kicker{font-size:.76rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.h2{font-family:var(--disp);font-weight:400;font-size:clamp(2.6rem,6.5vw,5.2rem);line-height:.98;text-transform:uppercase;letter-spacing:.02em;margin-bottom:24px}
.h2 em{font-family:var(--script);font-style:normal;text-transform:none;color:var(--gold);font-size:1.05em;letter-spacing:0}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.9,.2,1)}
.reveal.in{opacity:1;transform:none}

/* carta */
.carta{padding:120px 0 130px}
.menu{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center;margin-top:50px}
.menu-list{list-style:none;border-top:1px solid var(--line)}
.mi{display:flex;align-items:baseline;gap:20px;width:100%;text-align:left;font-family:var(--disp);font-size:clamp(2.2rem,4.6vw,3.6rem);text-transform:uppercase;letter-spacing:.03em;padding:14px 0;border-bottom:1px solid var(--line);color:rgba(244,236,224,.4);transition:.35s}
.mi .n{font-family:var(--body);font-size:.75rem;letter-spacing:.2em;color:var(--gold);width:28px}
.mi:hover,.mi.on{color:var(--tx);padding-left:14px}
.mi.on{color:var(--gold)}
.menu-view{position:relative}
.mv-imgs{position:relative;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line)}
.mv-imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 1.2s}
.mv-imgs img.on{opacity:1;transform:scale(1)}
.mv-text{margin-top:22px}
.mv-text h3{font-family:var(--disp);font-weight:400;font-size:2rem;letter-spacing:.05em;text-transform:uppercase}
.mv-text p{color:var(--mut);max-width:520px;margin:6px 0 12px;min-height:5.2em}
.link{color:var(--gold);font-weight:500;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--gold)}

/* statement */
.statement{position:relative;min-height:80vh;display:grid;align-items:end;overflow:hidden;border-block:1px solid var(--line)}
.st-bg{position:absolute;inset:-15% 0;background-size:cover;background-position:center;will-change:transform}
.statement::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,10,.92),rgba(12,11,10,.25) 70%)}
.st-in{position:relative;z-index:2;padding-bottom:70px;padding-top:120px}
.big{font-family:var(--disp);font-weight:400;font-size:clamp(4.5rem,17vw,14rem);line-height:.85;text-transform:uppercase;letter-spacing:.01em}

/* about */
.about{padding:130px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-imgs{position:relative;height:560px}
.about-imgs img{position:absolute;object-fit:cover;border:1px solid var(--line)}
.about-imgs img:first-child{width:72%;height:440px;left:0;top:0}
.about-imgs img:last-child{width:52%;height:340px;right:0;bottom:0;box-shadow:0 0 0 10px var(--bg)}
.about p:not(.kicker){color:var(--mut);margin-bottom:16px;font-size:1.05rem}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin-top:34px;border-top:1px solid var(--line);padding-top:26px}
.feats b{display:block;font-family:var(--disp);font-weight:400;font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.feats span{font-size:.9rem;color:var(--mut);line-height:1.4;display:block}

/* gallery */
.gallery{padding:60px 0 120px;background:var(--surf);border-block:1px solid var(--line);padding-top:110px}
.masonry{columns:3 320px;column-gap:14px;max-width:1300px;margin:44px auto 0;padding:0 24px}
.g{display:block;width:100%;margin-bottom:14px;overflow:hidden;position:relative;break-inside:avoid}
.g img{width:100%;transition:transform .8s cubic-bezier(.2,.9,.2,1),filter .5s;filter:saturate(1.05)}
.g:hover img{transform:scale(1.07);filter:saturate(1.2) brightness(1.08)}
.g::after{content:"+";position:absolute;right:14px;bottom:10px;font-size:1.8rem;color:var(--gold);opacity:0;transition:.3s}
.g:hover::after{opacity:1}
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:20px}
.lb[hidden]{display:none}
.lb img{max-height:90vh;max-width:94vw;object-fit:contain}
.lb-x{position:absolute;top:14px;right:22px;font-size:2.8rem;color:var(--tx);line-height:1}

/* visit */
.visit{padding:130px 0}
.visit-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.info{margin:10px 0 36px;border-top:1px solid var(--line)}
.info div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.info dt{font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-top:4px}
.info dd{font-size:1.05rem}
.map{height:520px;border:1px solid var(--line)}
.map iframe{width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) saturate(.6) brightness(.95)}

.footer{border-top:1px solid var(--line);padding:46px 0;color:var(--mut);font-size:.9rem}
.foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.foot img{border-radius:50%}
.foot p{flex:1}
.foot a{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:500}
.fab{position:fixed;left:16px;right:16px;bottom:14px;z-index:70;background:var(--gold);color:#1a1209;text-align:center;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;padding:15px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.5)}

@media(max-width:900px){
 .burger{display:block}
 .links{position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line);display:none}
 .links.open{display:flex}
 .links li{width:100%;border-bottom:1px solid var(--line)}
 .links a{display:block;padding:16px 0}
 .nav-cta{text-align:center;margin-top:16px;display:block}
 .menu,.about-grid,.visit-grid{grid-template-columns:1fr;gap:40px}
 .about-imgs{height:460px}
 .about-imgs img:first-child{height:340px}.about-imgs img:last-child{height:260px}
 .carta,.about,.visit{padding:80px 0}
 .masonry{columns:2 150px;column-gap:10px}.g{margin-bottom:10px}
 .map{height:360px}
 .fab{display:block}
 .footer{padding-bottom:90px}
 .topbar{font-size:.62rem}
 .info div{grid-template-columns:100px 1fr}
 .feats{grid-template-columns:1fr 1fr 1fr;gap:10px}
 .statement{min-height:60vh}
}

/* placeholder para categorías sin foto */
.mv-imgs .ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 1.2s;background:radial-gradient(circle at 50% 40%,#2b2116,#0f0d0b 70%)}
.mv-imgs .ph.on{opacity:1;transform:none}
.ph .ph-logo{width:min(200px,38%);aspect-ratio:1;height:auto;border-radius:50%;box-shadow:0 0 0 8px rgba(236,166,44,.14),0 20px 50px rgba(0,0,0,.6)}
.ph span{font-family:var(--script);font-size:2.2rem;color:var(--gold)}
button.link{background:none;cursor:pointer;padding:0 0 2px}

/* modal carta */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal-back{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.sheet{position:relative;width:min(760px,100%);max-height:92vh;background:var(--sheet);border:1px solid rgba(236,166,44,.45);box-shadow:0 40px 120px rgba(0,0,0,.8);display:flex;flex-direction:column;opacity:0;transform:translateY(40px) scale(.97);transition:opacity .4s,transform .5s cubic-bezier(.2,.9,.2,1);outline:0}
.sheet::before{content:"";position:absolute;inset:8px;border:1px solid var(--line);pointer-events:none;z-index:3}
.modal.show .modal-back{opacity:1}
.modal.show .sheet{opacity:1;transform:none}
.modal-x{position:absolute;top:14px;right:14px;z-index:5;width:42px;height:42px;border-radius:50%;background:rgba(12,11,10,.7);border:1px solid rgba(244,236,224,.4);font-size:1.7rem;line-height:1;color:var(--tx);transition:.25s}
.modal-x:hover{background:var(--gold);color:#1a1209;border-color:var(--gold)}
.sheet-scroll{overflow-y:auto;overscroll-behavior:contain}
.sh-head{position:relative;height:290px;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.sh-plain{background:radial-gradient(circle at 50% 30%,#3a2a15,#110f0d 75%)}
.sh-shade{position:absolute;inset:0;background:linear-gradient(to top,var(--sheet) 4%,color-mix(in srgb,var(--sheet) 30%,transparent) 60%,color-mix(in srgb,var(--sheet) 15%,transparent))}
.sh-title{position:relative;width:100%;text-align:center;padding:0 24px 8px}
.sh-logo{margin:0 auto 4px;border-radius:50%}
.sh-script{font-family:var(--script);color:var(--gold);font-size:1.7rem;line-height:1}
.sh-title h3{font-family:var(--disp);font-weight:400;font-size:clamp(3rem,9vw,4.6rem);line-height:1;letter-spacing:.05em;text-transform:uppercase}
.sh-body{padding:10px clamp(24px,6vw,56px) 44px}
.sh-blurb{text-align:center;color:var(--mut);font-style:italic;margin-bottom:26px}
.sh-blurb::after{content:"✦";display:block;color:var(--gold);font-style:normal;margin-top:12px;font-size:.9rem}
.sh-group{margin-bottom:34px}
.sh-group h4{font-family:var(--disp);font-weight:400;font-size:1.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:16px;display:flex;align-items:center;gap:16px}
.sh-group h4::before,.sh-group h4::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(236,166,44,.5))}
.sh-group h4::after{transform:scaleX(-1)}
.sh-group ul{list-style:none}
.sh-group li{padding:10px 0}
.it{display:flex;align-items:baseline;gap:10px}
.nm{font-family:var(--disp);font-size:1.45rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tx)}
.dots{flex:1;border-bottom:1px dotted rgba(244,236,224,.35);transform:translateY(-4px);min-width:20px}
.pr{font-weight:500;color:var(--gold);font-size:1.05rem;white-space:nowrap}
.sh-group li p{color:var(--mut);font-size:.9rem;line-height:1.45;margin-top:1px;max-width:85%}
.sh-foot{text-align:center;margin-top:10px;padding-top:30px;border-top:1px solid var(--line)}
.sh-foot p{color:var(--mut);font-size:.8rem;margin-top:14px}
@media(max-width:600px){.sh-head{height:220px}.nm{font-size:1.25rem}.modal{padding:0}.sheet{max-height:100vh;height:100vh;border:0}.sheet::before{display:none}}

/* scrollbar: solo borde dorado redondeado, relleno transparente */
@supports not selector(::-webkit-scrollbar){html,.sheet-scroll{scrollbar-width:thin;scrollbar-color:var(--gold) transparent}}
::-webkit-scrollbar{width:14px;height:14px;background:transparent}
::-webkit-scrollbar-track{background:transparent;margin:6px 0}
::-webkit-scrollbar-thumb{background:transparent;border:2px solid var(--gold);border-radius:999px;min-height:56px;background-clip:padding-box;transition:border-color .2s}
::-webkit-scrollbar-thumb:hover{border-color:var(--red);border-width:3px}
::-webkit-scrollbar-thumb:active{border-color:#fff}
::-webkit-scrollbar-corner{background:transparent}
.sheet-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y}
.sheet-scroll::-webkit-scrollbar{width:12px}
.sheet-scroll::-webkit-scrollbar-track{margin:56px 0 12px}
@media(max-width:900px){
 ::-webkit-scrollbar{width:10px}
 ::-webkit-scrollbar-thumb{border-width:2px;min-height:64px}
}

/* estado en tiempo real */
.status{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:34px;padding:9px 18px;border:1px solid var(--line);background:rgba(12,11,10,.55);backdrop-filter:blur(6px);border-radius:999px;animation:up 1s .5s both}
.status.inline{margin:8px 0 0;padding:6px 14px;font-size:.7rem;animation:none}
.sdot{width:10px;height:10px;border-radius:50%;background:var(--mut);flex:none}
.is-open .sdot{background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:ping 1.8s infinite}
.is-closed .sdot{background:var(--red)}
.is-open{border-color:rgba(61,220,132,.5)}.is-closed{border-color:rgba(217,50,50,.55)}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.hero-meta{margin-bottom:16px}
.topbar span[data-status]{color:#1a1209;font-weight:700}

/* mapa: borde fino dorado separado 10px del marco del mapa */
.map{border:1px solid var(--gold);padding:10px;box-sizing:border-box}
.map iframe{display:block;border:1px solid var(--line)}
.map{border:.5px solid rgba(236,166,44,.75)}

/* destacado "La carta" */
.kicker-card{display:inline-flex;align-items:center;gap:14px;font-size:1.05rem;letter-spacing:.34em;padding:10px 26px 14px 16px;margin-bottom:26px;border:1px solid rgba(236,166,44,.55);border-bottom:3px solid var(--gold);background:linear-gradient(90deg,rgba(236,166,44,.14),rgba(236,166,44,.02));position:relative}
.kicker-card svg{width:22px;height:28px;flex:none;animation:cardtilt 3.5s ease-in-out infinite}
.kicker-card::after{content:"✦";position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);background:var(--bg);color:var(--gold);font-size:.8rem;padding:0 8px;line-height:1}
@keyframes cardtilt{50%{transform:rotate(-8deg) translateY(-2px)}}
.h2 .enjoy{display:inline-block;vertical-align:middle;font-family:var(--body);font-size:.2em;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#1a1209;background:var(--gold);padding:8px 16px;margin-left:12px;transform:translateY(-.4em) rotate(-3deg);white-space:nowrap}
@media(max-width:600px){.kicker-card{font-size:.9rem;letter-spacing:.26em}.h2 .enjoy{font-size:.24em;margin:8px 0 0 0;transform:rotate(-2deg)}}

/* siempre oscuras */
.hero,.statement{--tx:#f4ece0;--mut:#b5aa9b;--line:rgba(244,236,224,.14)}
.hero{color:var(--tx)}

/* switch claro / oscuro */
.nav-right{display:flex;align-items:center;gap:6px;margin-left:30px}
.theme{position:relative;width:60px;height:30px;border:1px solid color-mix(in srgb,var(--tx) 55%,transparent);border-radius:999px;display:block;flex:none;transition:border-color .3s,background .3s}
.theme:hover{border-color:var(--gold)}
.theme svg{position:absolute;top:50%;width:14px;height:14px;transform:translateY(-50%);color:var(--mut);transition:opacity .3s}
.theme .ic-moon{left:9px}.theme .ic-sun{right:9px}
.theme .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(236,166,44,.18);transition:transform .45s cubic-bezier(.2,.9,.2,1)}
.theme .ic-moon{opacity:0}
:root[data-theme=light] .theme .knob{transform:translateX(30px)}
:root[data-theme=light] .theme .ic-moon{opacity:1}
:root[data-theme=light] .theme .ic-sun{opacity:0}
.theme:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* modo claro */
:root[data-theme=light]{--bg:#f7f0e3;--surf:#efe5d2;--sheet:#fbf6ec;--navbg:rgba(247,240,227,.88);--line:rgba(27,18,16,.16);--tx:#1b1210;--mut:#6a5b4c;--gold:#c4800f}
:root[data-theme=light] .topbar{background:#eca62c}
:root[data-theme=light] .btn,:root[data-theme=light] .nav-cta:hover{color:#fff}
:root[data-theme=light] .btn:hover{color:var(--gold)}
:root[data-theme=light] .hero .btn{background:#eca62c;border-color:#eca62c;color:#1a1209}
:root[data-theme=light] .hero .btn:hover{background:transparent;color:#eca62c}
:root[data-theme=light] .hero .btn-line{background:transparent;color:#f4ece0;border-color:rgba(244,236,224,.55)}
:root[data-theme=light] .hero .hero-script,:root[data-theme=light] .hero .hero-meta b,:root[data-theme=light] .hero .hero-title span:nth-child(2){color:#eca62c}
:root[data-theme=light] .statement .kicker{color:#eca62c}
:root[data-theme=light] .map iframe{filter:sepia(.25) saturate(.9)}
:root[data-theme=light] .sheet{box-shadow:0 40px 100px rgba(60,40,10,.35)}
:root[data-theme=light] .modal-back{background:rgba(27,18,16,.6)}
:root[data-theme=light] .modal-x{background:rgba(251,246,236,.85)}
:root[data-theme=light] .sh-head .sh-title h3,:root[data-theme=light] .sh-head .sh-script{color:var(--tx)}
:root[data-theme=light] .sh-plain{background:radial-gradient(circle at 50% 30%,#f1dfbc,var(--sheet) 75%)}
:root[data-theme=light] .mv-imgs .ph{background:radial-gradient(circle at 50% 40%,#f1dfbc,#e8d6b2 80%)}
:root[data-theme=light] .sh-shade{background:linear-gradient(to top,var(--sheet) 4%,rgba(251,246,236,.35) 55%,rgba(251,246,236,.1))}
:root[data-theme=light] .g::after{color:#fff}
:root[data-theme=light] .footer{background:#1b1210;color:#b5aa9b;--line:rgba(244,236,224,.14)}
:root[data-theme=light] .footer a{color:#eca62c}
:root[data-theme=light] .kicker-card{background:linear-gradient(90deg,rgba(196,128,15,.14),rgba(196,128,15,.02))}
:root[data-theme=light] .h2 .enjoy{color:#1a1209;background:#eca62c}
:root[data-theme=light] .marquee{background:#1b1210}
:root[data-theme=light] .track{color:#f4ece0}
:root[data-theme=light] .track b{color:#eca62c}
:root[data-theme=light] .mi{color:rgba(27,18,16,.4)}
:root[data-theme=light] .mi:hover{color:var(--tx)}
:root[data-theme=light] .mi.on{color:var(--gold)}

@media(max-width:900px){
 .nav-right{margin-left:0;gap:2px}
 .nav-in{gap:10px}
 .theme{width:54px;height:28px}
 .theme .knob{width:20px;height:20px}
 :root[data-theme=light] .theme .knob{transform:translateX(26px)}
 .theme .ic-moon{left:8px}.theme .ic-sun{right:8px}
 .nav-logo{margin-right:auto}
}

.mv-imgs .slideset{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 1.2s}
.mv-imgs .slideset.on{opacity:1;transform:none}
.mv-imgs .slideset img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s,transform 2.6s}
.mv-imgs .slideset img.cur{opacity:1;transform:none}
.pr.ask{color:var(--mut);font-weight:400;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}

/* promos */
.promos{padding:120px 0;background:var(--surf);border-block:1px solid var(--line);position:relative;overflow:hidden}
.promos::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,rgba(236,166,44,.14),transparent 55%);pointer-events:none}
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:50px;position:relative}
.ticket{position:relative;display:flex;flex-direction:column;padding:34px 26px 26px;background:var(--bg);border:1px dashed var(--gold);border-radius:6px;transition:transform .35s,box-shadow .35s}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--surf);border:1px dashed var(--gold);transform:translateY(-50%)}
.ticket::before{left:-12px;clip-path:inset(0 0 0 50%)}.ticket::after{right:-12px;clip-path:inset(0 50% 0 0)}
.ticket:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.ticket h3{font-family:var(--disp);font-weight:400;font-size:1.8rem;line-height:1.05;letter-spacing:.05em;text-transform:uppercase}
.ticket p{color:var(--mut);font-size:.95rem;margin:10px 0 22px;flex:1}
.tp{font-family:var(--disp);font-weight:400;font-size:2.8rem;line-height:1;color:var(--gold);letter-spacing:.03em;border-top:1px dashed var(--line);padding-top:16px}
.ticket.top{background:linear-gradient(160deg,rgba(236,166,44,.18),var(--bg) 60%);border-style:solid}
.ribbon{position:absolute;top:-13px;left:22px;background:var(--gold);color:#1a1209;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px}
.promo-cta{text-align:center;margin-top:70px;position:relative}
.promo-cta h3{font-family:var(--script);font-weight:400;font-size:clamp(2.8rem,8vw,5rem);color:var(--gold);line-height:1;margin:8px 0 26px}
.promo-cta .cta-row{justify-content:center}
.park{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--line);padding:9px 18px;border-radius:999px}
.park svg{width:20px;height:20px;color:var(--gold)}
.feats{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:600px){.feats{grid-template-columns:1fr 1fr!important}.promos{padding:80px 0}.tp{font-size:2.4rem}}
:root[data-theme=light] .ticket:hover{box-shadow:0 18px 40px rgba(60,40,10,.2)}
