:root{
  --purple:#a855f7; --purple-bg:rgba(168,85,247,.12); --purple-border:rgba(168,85,247,.3);
  --green:#96e034; --green-bg:rgba(150,224,52,.12); --green-border:rgba(150,224,52,.3);
  --cyan:#22c8e0; --cyan-bg:rgba(34,200,224,.12); --cyan-border:rgba(34,200,224,.3);
  --pink:#ff2e78; --pink-bg:rgba(255,46,120,.12); --pink-border:rgba(255,46,120,.3);
  --ink:#f3ecff; --muted:#c0aee2; --muted2:#a493c7;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}

html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#0e0320;color:#f3ecff;font-family:Nunito,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html.modal-open{overflow:hidden;scroll-behavior:auto}
body.modal-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
*{box-sizing:border-box}
h1,h2,h3{font-family:Comfortaa,sans-serif;font-weight:700;color:#fff;margin:0}
a{color:#22c8e0;text-decoration:none}
a:hover{color:#96e034}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:3px solid #96e034;outline-offset:3px;border-radius:10px}
::selection{background:#ff2e78;color:#fff}
input::placeholder,textarea::placeholder{color:rgba(243,236,255,.4)}
img{max-width:100%}

@keyframes fut-float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-16px) rotate(calc(var(--r,0deg) + 3deg))}}
@keyframes fut-floatA{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-8px,0) rotate(1.5deg)}}
@keyframes fut-floatB{0%,100%{transform:translate3d(0,1px,0) rotate(1deg)}45%{transform:translate3d(0,-12px,0) rotate(-2deg)}70%{transform:translate3d(0,-5px,0) rotate(1deg)}}
@keyframes fut-floatC{0%,100%{transform:translate3d(0,0,0) rotate(0)}35%{transform:translate3d(-2px,-7px,0) rotate(-1.5deg)}70%{transform:translate3d(2px,-3px,0) rotate(1.7deg)}}
@keyframes fut-squash{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-8px) scaleX(.985) scaleY(1.025)}60%{transform:translateY(1px) scaleX(1.02) scaleY(.985)}}
@keyframes fut-heroMonster{0%,100%{transform:translateY(0) rotate(0deg)}30%{transform:translateY(-7px) rotate(-1deg)}55%{transform:translateY(-10px) rotate(1.2deg) scale(1.015)}80%{transform:translateY(-3px) rotate(-.5deg)}}
@keyframes fut-wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes fut-twinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes fut-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes fut-reveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fut-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,46,120,.55)}70%{box-shadow:0 0 0 18px rgba(255,46,120,0)}}
@keyframes fut-counter-pop{0%{transform:scale(1)}45%{transform:scale(1.22)}100%{transform:scale(1)}}
@keyframes fut-pane-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){[data-reveal]{animation:fut-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 10%}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

[data-only-mobile]{display:none!important}
@media(max-width:1100px){
  [data-only-mobile]{display:flex!important}
  [data-hide-mobile]{display:none!important}
  body{padding-bottom:78px}
}

.bg-wrap{position:relative;min-height:100vh;background:radial-gradient(1200px 700px at 15% -5%, #4b1178 0%, transparent 60%), radial-gradient(900px 600px at 85% 12%, #7a1a6a 0%, transparent 55%), linear-gradient(#0e0320 0%, #1a0632 45%, #12042a 100%)}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,transparent),radial-gradient(1.4px 1.4px at 32% 62%,#cbb4ff,transparent),radial-gradient(1.8px 1.8px at 68% 24%,#fff,transparent),radial-gradient(1.3px 1.3px at 84% 71%,#a6f5ff,transparent),radial-gradient(1.5px 1.5px at 52% 88%,#fff,transparent),radial-gradient(1.2px 1.2px at 8% 82%,#ffd9ef,transparent),radial-gradient(1.6px 1.6px at 92% 40%,#fff,transparent),radial-gradient(1.3px 1.3px at 44% 34%,#fff,transparent);background-size:520px 520px;animation:fut-twinkle 5s ease-in-out infinite}

.section-inner{max-width:1240px;margin:0 auto;padding:0 clamp(14px,3vw,28px)}
.section{position:relative;z-index:1;padding:clamp(30px,5vw,60px) 0}
.section h2{font-size:clamp(26px,4vw,44px);margin-bottom:10px}
.section-lead{color:#c0aee2;font-size:17px;margin:0 0 26px;max-width:60ch}
.section h3{font-size:clamp(21px,2.6vw,28px);margin:38px 0 14px}

/* Header */
.site-header{position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);background:rgba(14,3,32,.78);border-bottom:1px solid rgba(150,224,52,.18)}
.header-inner{max-width:1240px;margin:0 auto;padding:10px clamp(14px,3vw,28px);display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand-logo{width:52px;height:52px;border-radius:50%;box-shadow:0 0 24px rgba(168,85,247,.55);background:radial-gradient(circle at 35% 30%,#7a3fc0,#2a0a4d)}
.brand-name{font-family:Comfortaa,sans-serif;font-weight:700;font-size:19px;color:#fff;letter-spacing:.5px}
.main-nav{display:flex;gap:22px;margin-left:auto;font-size:15px;font-weight:600;white-space:nowrap}
.main-nav a{color:#e7dcff}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:8px}
.phone-link{display:flex;align-items:center;gap:8px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;color:#fff;white-space:nowrap;flex:none}
.burger{margin-left:auto;width:48px;height:48px;border-radius:14px;border:1px solid rgba(150,224,52,.35);background:rgba(150,224,52,.08);color:#96e034;display:none;align-items:center;justify-content:center;cursor:pointer;transition:transform 140ms var(--ease-out)}
.burger:active{transform:scale(.9)}
@media(max-width:1100px){.burger{display:flex}}
.mobile-nav{padding:8px 18px 20px;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.08);background:rgba(20,5,44,.96)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:14px 6px;font-weight:700;color:#f3ecff;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav a:last-child{border-bottom:none}

/* Buttons */
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:999px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:15px;min-height:48px;transition:transform 140ms var(--ease-out),filter 200ms ease,background-color 200ms ease,color 200ms ease;white-space:nowrap}
.btn:active{transform:scale(.96)}
.btn-primary{background:linear-gradient(135deg,#ff2e78,#a855f7);color:#fff;box-shadow:0 8px 26px rgba(255,46,120,.4)}
.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn-primary:active{transform:scale(.96)}
.btn-outline{border:2px solid #96e034;color:#96e034;background:rgba(150,224,52,.06)}
.btn-outline:hover{background:rgba(150,224,52,.16);color:#c6ff6d}
.btn-cyan{background:linear-gradient(135deg,#22c8e0,#96e034);color:#0e0320}
.btn-cyan:hover{filter:brightness(1.1)}
.btn-ghost{border:1px solid rgba(255,255,255,.25);background:transparent;color:#c9b9e8}
.btn-lg{padding:18px 30px;font-size:17px}
.pulse{animation:fut-pulse 3.2s ease-out infinite}

/* Hero */
.hero{overflow:hidden}
.hero .section-inner{padding-top:0;padding-bottom:clamp(36px,5vw,64px)}
.hero-intro{min-height:calc(100svh - 73px);display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,3vw,32px) 0 clamp(28px,4vw,44px)}
.hero-media{position:relative;padding:clamp(20px,3vw,34px) 0 clamp(12px,2vw,20px);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:visible;cursor:crosshair;user-select:none;-webkit-user-select:none}
.hero-media img{-webkit-user-drag:none}
.hero-space-object{position:absolute;z-index:0;height:auto;pointer-events:none;user-select:none;will-change:transform;filter:drop-shadow(0 14px 24px rgba(10,0,28,.38))}
.hero-saturn{left:-7%;bottom:-19%;width:clamp(150px,19vw,265px);animation:fut-float 9s var(--ease-in-out) infinite;--r:-7deg}
.hero-meteor{width:clamp(54px,6.5vw,92px)}
.hero-meteor-blue{left:7%;top:-7%;animation:fut-float 7.5s var(--ease-in-out) infinite;--r:-8deg}
.hero-meteor-pink{right:7%;top:-9%;animation:fut-float 8.5s var(--ease-in-out) infinite -.8s;--r:7deg}
.hero-ufo{left:58%;top:-18%;width:clamp(76px,8.5vw,120px);animation:fut-float 7.5s var(--ease-in-out) infinite -1.2s;--r:-4deg}
.hero-meteor-yellow{right:-4%;bottom:-29%;width:clamp(130px,17vw,230px);animation:fut-float 10s var(--ease-in-out) infinite -1.5s;--r:9deg}
.hero-mascot{position:absolute;z-index:2;height:auto;cursor:crosshair;touch-action:manipulation;filter:drop-shadow(0 12px 18px rgba(10,0,28,.42))}
.hero-mascot-1{left:-1%;bottom:-3%;width:clamp(66px,7.5vw,106px);animation:fut-float 9s var(--ease-in-out) infinite;--r:-7deg}
.hero-mascot-2{right:-1%;bottom:-5%;width:clamp(58px,6.7vw,94px);animation:fut-float 10s var(--ease-in-out) infinite -1.5s;--r:9deg}
.hero-mascot.is-shot-hidden{opacity:0;pointer-events:none;animation-play-state:paused}

.hero-logo{position:relative;z-index:1;width:min(680px,86%);aspect-ratio:1455/340;margin:0 auto}
.hero-letter{position:absolute;height:auto;will-change:transform;transform-origin:50% 75%;filter:drop-shadow(0 10px 16px rgba(10,0,28,.35));translate:var(--mx,0) var(--my,0)}
.hl-1{left:0%;top:0%;width:19.24%;animation:fut-floatA 4.4s ease-in-out infinite}
.hl-2{left:17.53%;top:23.53%;width:12.37%;animation:fut-floatB 3.3s ease-in-out infinite .15s}
.hl-3{left:26.80%;top:19.12%;width:11.68%;animation:fut-squash 3.9s ease-in-out infinite .35s}
.hl-4{left:34.71%;top:26.47%;width:12.37%;animation:fut-floatC 4.1s ease-in-out infinite .6s}
.hl-5{left:42.61%;top:13.24%;width:13.75%;animation:fut-heroMonster 4.8s ease-in-out infinite .25s}
.hl-6{left:52.92%;top:26.47%;width:13.06%;animation:fut-squash 3.5s ease-in-out infinite .8s}
.hl-7{left:62.89%;top:35.29%;width:16.49%;animation:fut-floatA 4.5s ease-in-out infinite .5s}
.hl-8{left:76.63%;top:10.29%;width:14.43%;animation:fut-floatB 3.7s ease-in-out infinite .3s}
.hl-9{left:84.88%;top:14.71%;width:15.12%;animation:fut-floatC 4.2s ease-in-out infinite .7s}
.hero-tagline{position:relative;z-index:1;margin:10px 0 0;text-align:center;font-family:Comfortaa,sans-serif;font-weight:600;font-size:clamp(14px,1.7vw,18px);letter-spacing:.04em;color:#e7dcff}
.hero-hit{--hit-color:#96e034;position:absolute;z-index:5;width:34px;height:34px;border:2px solid var(--hit-color);border-radius:50%;pointer-events:none;box-shadow:0 0 18px var(--hit-color)}
.hero-hit::before,.hero-hit::after{content:"";position:absolute;left:50%;top:50%;background:var(--hit-color);transform:translate(-50%,-50%)}
.hero-hit::before{width:46px;height:2px}.hero-hit::after{width:2px;height:46px}
.hero-hit-count{position:absolute;z-index:6;pointer-events:none;font-family:Comfortaa,sans-serif;font-weight:700;font-size:13px;color:var(--hit-color,#96e034);text-shadow:0 0 12px var(--hit-color,#96e034)}

@media (hover:hover) and (pointer:fine){
  .hero-media:hover .hero-letter{animation-duration:2.2s}
}

@media(max-width:640px){
  .header-inner{padding:8px 14px;gap:12px}
  .brand{gap:6px;min-width:0}
  .brand-logo{width:38px;height:38px}
  .brand-name{font-size:16px;letter-spacing:0}
  .burger{width:40px;height:40px;border-radius:12px}
  .hero-intro{min-height:calc(100svh - 61px);justify-content:flex-start;padding:12px 0 calc(24px + 71px)}
  .hero-media{padding:30px 0 8px}
  .hero-grid{flex:1;display:flex}
  .hero-copy{width:100%;display:flex;flex-direction:column;justify-content:space-evenly}
  .hero-logo{width:min(620px,82%)}
  .hero-tagline{display:none}
  .hero-saturn{left:-7%;top:calc(100% + 18px);bottom:auto;width:112px;opacity:.92}
  .hero-meteor-blue{left:1%;top:-5%;width:42px;opacity:.85}
  .hero-meteor-pink{right:1%;top:-7%;width:42px;opacity:.85}
  .hero-ufo{left:57%;top:-2%;width:46px;opacity:.9}
  .hero-meteor-yellow{right:-6%;top:calc(100% + 20px);bottom:auto;width:104px;opacity:.92}
  .hero-mascot-1{left:1%;top:calc(100% + 32px);bottom:auto;width:50px}
  .hero-mascot-2{right:1%;top:calc(100% + 50px);bottom:auto;width:48px}
}
.hero-grid{width:100%;margin-top:clamp(12px,2vw,20px)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:var(--green-bg);border:1px solid rgba(150,224,52,.4);color:#96e034;font-weight:800;font-size:13px;letter-spacing:1.4px;text-transform:uppercase}
.hero-copy{text-align:center;max-width:940px;margin:0 auto}
.hero-copy h1{font-size:clamp(34px,4.4vw,54px);line-height:1.08;margin:0 auto 14px;max-width:22ch}
.hero-copy .lead{font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:#d9cbf5;max-width:64ch;margin:0 auto 22px}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.hero-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:20px;color:#bfaee0;font-size:14px;font-weight:700}
.hero-proof span+span::before{content:"•";color:#96e034;margin-right:22px}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:clamp(34px,5vw,58px);border-top:1px solid rgba(255,255,255,.08)}
.stat{padding:20px;border-radius:20px}
.stat-num{font-family:Comfortaa,sans-serif;font-weight:700;font-size:30px}
.stat-note{font-size:14px;color:#cfc0ee;margin-top:4px}
.stat-purple{background:var(--purple-bg);border:1px solid var(--purple-border)}.stat-purple .stat-num{color:var(--purple)}
.stat-green{background:var(--green-bg);border:1px solid var(--green-border)}.stat-green .stat-num{color:var(--green)}
.stat-cyan{background:var(--cyan-bg);border:1px solid var(--cyan-border)}.stat-cyan .stat-num{color:var(--cyan)}
.stat-pink{background:var(--pink-bg);border:1px solid var(--pink-border)}.stat-pink .stat-num{color:var(--pink)}

@media(max-width:800px){
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .hero-grid{margin-top:18px}
  .hero-copy h1{max-width:15ch;margin-bottom:12px;font-size:clamp(29px,8vw,32px);line-height:1.1}
  .hero-copy .lead{max-width:34ch;margin-bottom:16px;font-size:16px;line-height:1.45}
  .hero-cta .btn{width:100%}
  .hero-cta .btn-primary{min-height:54px}
  .hero-phone-cta,.hero-proof{display:none}
  .hero-stats{grid-template-columns:1fr}
}

/* Filters / pills */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.pill{cursor:pointer;min-height:44px;padding:12px 20px;border-radius:999px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:15px;transition:transform 140ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,color 200ms ease;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#d9cbf5}
.pill:active{transform:scale(.95)}
.pill.on{color:#14042c}

/* Program cards */
.program-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-8px 0 18px}
.program-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(216,70,239,.28);border-radius:999px;background:rgba(16,4,36,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.program-view-btn{min-height:42px;padding:10px 17px;border:0;border-radius:999px;background:transparent;color:#cdbce9;font-family:Comfortaa,sans-serif;font-size:13.5px;font-weight:700;cursor:pointer;transition:transform 140ms var(--ease-out),color 180ms ease,background-color 180ms ease,box-shadow 180ms ease}
.program-view-btn:active{transform:scale(.96)}
.program-view-btn.on{color:#fff;background:linear-gradient(135deg,#7c3aed,#d946ef);box-shadow:0 0 22px rgba(192,38,211,.36)}
.program-carousel-stage{--program-carousel-card:clamp(280px,28vw,340px);position:relative}
.program-edge-arrow{position:absolute;top:50%;z-index:12;width:58px;height:58px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:linear-gradient(135deg,#7c3aed,#d946ef);backdrop-filter:blur(14px);color:#fff;font-size:38px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 4px rgba(192,38,211,.14),0 0 34px rgba(192,38,211,.62),0 14px 34px rgba(0,0,0,.46);transform:translateY(-50%);transition:transform 140ms var(--ease-out),filter 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.program-edge-arrow[hidden]{display:none!important}
.program-edge-arrow:active{transform:translateY(-50%) scale(.92)}
.program-edge-prev{left:calc(50% - var(--program-carousel-card)/2 - 29px)}
.program-edge-next{right:calc(50% - var(--program-carousel-card)/2 - 29px)}
.program-carousel-status{min-width:72px;text-align:center;color:#cdbce9;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.program-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:rgba(20,6,44,.66);border:1px solid rgba(168,85,247,.26);box-shadow:0 10px 26px rgba(0,0,0,.28);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 220ms var(--ease-out),border-color 220ms ease,box-shadow 220ms ease}
.program-card button{-webkit-tap-highlight-color:transparent}
@media (hover:hover) and (pointer:fine){
  .program-card:hover{transform:translateY(-6px);border-color:rgba(216,70,239,.62);box-shadow:0 22px 46px rgba(0,0,0,.4)}
}
.program-grid.program-carousel{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;padding:20px max(14px,calc((100% - var(--program-carousel-card))/2)) 112px;scroll-padding-inline:max(14px,calc((100% - var(--program-carousel-card))/2));scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b536d7 rgba(255,255,255,.07);cursor:grab}
.program-grid.program-carousel.is-grabbed,.program-grid.program-carousel.is-settling{scroll-snap-type:none}
.program-grid.program-carousel.is-grabbed{user-select:none;cursor:grabbing}
.program-grid.program-carousel.is-dragging .program-card{pointer-events:none}
.program-grid.program-carousel::-webkit-scrollbar{height:6px}
.program-grid.program-carousel::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#7c3aed,#d946ef);border-radius:999px}
.program-grid.program-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.program-carousel .program-card{position:relative;flex:0 0 var(--program-carousel-card);scroll-snap-align:center;scroll-snap-stop:always;opacity:.62;transform:translate3d(0,0,0);transform-origin:center center;box-shadow:0 10px 28px rgba(0,0,0,.32);will-change:transform,opacity;transition:border-color 220ms ease,box-shadow 220ms ease}
.program-carousel .program-card::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;pointer-events:none;opacity:var(--carousel-focus,0);box-shadow:inset 0 0 0 2px #d946ef,inset 0 0 28px rgba(168,85,247,.24);transition:opacity 100ms linear}
.program-carousel .program-card.is-active{z-index:2;border-color:#d946ef;box-shadow:0 0 0 2px rgba(217,70,239,.72),0 0 34px rgba(168,85,247,.48),0 24px 56px rgba(0,0,0,.5)}
.program-carousel .program-art{touch-action:pan-x pan-y}
.program-carousel .program-card:not(.is-active) .program-card-gallery-arrow{opacity:0;pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .program-carousel .program-card:hover{border-color:rgba(216,70,239,.45)}
  .program-carousel .program-card.is-active:hover{border-color:#ed6cff;box-shadow:0 0 0 2px rgba(237,108,255,.78),0 0 40px rgba(168,85,247,.55),0 28px 62px rgba(0,0,0,.54)}
  .program-view-btn:hover,.program-edge-arrow:hover{color:#fff;border-color:#fff;box-shadow:0 0 0 5px rgba(192,38,211,.18),0 0 44px rgba(217,70,239,.72),0 16px 38px rgba(0,0,0,.48)}
  .program-edge-arrow:hover{filter:brightness(1.14)}
  .program-view-btn.on:hover{background:linear-gradient(135deg,#7c3aed,#d946ef)}
}
@media(min-width:821px){
  .program-carousel-stage.is-carousel{width:100vw;margin-left:calc(50% - 50vw)}
  .program-edge-prev{left:calc(50% - var(--program-carousel-card)/2 - 72px)}
  .program-edge-next{right:calc(50% - var(--program-carousel-card)/2 - 72px)}
}
.program-art{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;touch-action:pan-y}
.program-art img{width:64%;max-height:86%;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45));animation:fut-float 6.5s ease-in-out infinite}
.program-art img.program-photo{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;filter:none;animation:none}
.program-tag{position:absolute;left:14px;top:14px;padding:6px 12px;border-radius:999px;background:rgba(14,3,32,.8);font-weight:800;font-size:11.5px;letter-spacing:1px;text-transform:uppercase}
.program-card-gallery-count{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(14,3,32,.76);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:800;letter-spacing:.4px}
.program-card-gallery-arrow{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin:0;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.36);background:rgba(14,3,32,.74);backdrop-filter:blur(8px);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.92);transition:opacity 180ms ease,transform 180ms var(--ease-out),background-color 180ms ease,border-color 180ms ease}
.program-card-gallery-prev{left:10px}.program-card-gallery-next{right:10px}
.program-card-gallery-arrow:active{transform:translateY(-50%) scale(.86)}
.program-card:hover .program-card-gallery-arrow,.program-card:focus-within .program-card-gallery-arrow{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}
@media (hover:hover) and (pointer:fine){.program-card-gallery-arrow:hover{background:rgba(14,3,32,.92);border-color:#96e034}}
.program-body{padding:15px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.program-body h3{font-size:18px;line-height:1.25;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.program-body p{margin:0;font-size:13.5px;line-height:1.48;color:#c5b6e4;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.program-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:#a493c7}
.program-meta span{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06)}
.program-price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px}
.program-price-main{font-family:Comfortaa,sans-serif;font-weight:700;font-size:19px;color:#96e034;white-space:nowrap}
.program-price-note{font-size:11.5px;line-height:1.3;color:#a493c7}
.program-actions{display:flex;gap:8px;margin-top:4px}
.program-actions .program-choose{flex:1}
.program-actions .btn{min-height:44px;padding:11px 13px;font-size:13px}
.program-actions .program-details{flex:none}
@media(max-width:1100px){.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
  .program-carousel-stage{--program-carousel-card:min(82vw,320px)}
  .program-toolbar{align-items:stretch;gap:10px;margin-top:-4px}
  .program-view-switch{flex:1}
  .program-view-btn{flex:1;padding-inline:11px;font-size:12.5px}
  .program-edge-arrow{width:44px;height:44px;font-size:30px;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.94)}
  .program-edge-arrow::before{content:"";position:absolute;inset:-7px;border:1px solid rgba(237,108,255,.82);border-radius:inherit;box-shadow:0 0 12px rgba(217,70,239,.8),0 0 26px rgba(168,85,247,.72);opacity:0;transform:scale(.92);pointer-events:none}
  .program-edge-prev{--carousel-hint-x:-6px}
  .program-edge-next{--carousel-hint-x:6px}
  .program-carousel-stage.show-swipe-hint .program-edge-arrow{animation:fut-carousel-arrow-hint 2400ms var(--ease-in-out) both}
  .program-carousel-stage.show-swipe-hint .program-edge-arrow::before{animation:fut-carousel-neon-hint 2400ms var(--ease-in-out) both}
  .program-edge-prev{left:calc(50% - var(--program-carousel-card)/2 - 22px)}
  .program-edge-next{right:calc(50% - var(--program-carousel-card)/2 - 22px)}
  .program-carousel-status{display:none}
  .program-grid{grid-template-columns:1fr;gap:18px}
  .program-grid.program-carousel{gap:12px;margin-inline:calc(-1 * clamp(14px,3vw,28px));padding-top:18px;padding-bottom:76px}
  .program-card .program-body>p{display:none}
  .program-body{padding:16px 16px 18px}.program-body h3{font-size:20px}.program-body p{font-size:14px}.program-actions .btn{font-size:14px}
}
@keyframes fut-carousel-arrow-hint{
  0%,100%{opacity:0;transform:translateY(-50%) scale(.94)}
  14%,38%{opacity:1;transform:translateY(-50%) translateX(var(--carousel-hint-x)) scale(1)}
  56%{opacity:.58;transform:translateY(-50%) scale(.97)}
  72%,84%{opacity:1;transform:translateY(-50%) translateX(var(--carousel-hint-x)) scale(1)}
}
@keyframes fut-carousel-neon-hint{
  0%,100%{opacity:0;transform:scale(.92)}
  18%,38%{opacity:1;transform:scale(1.08)}
  56%{opacity:.18;transform:scale(.98)}
  72%,84%{opacity:.9;transform:scale(1.08)}
}
@media (hover:none),(pointer:coarse){
  .program-card:active{border-color:rgba(237,108,255,.82)}
  .program-card-gallery-arrow{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}
}
@media (max-width:520px) and (prefers-reduced-motion:reduce){
  .program-carousel-stage.show-swipe-hint .program-edge-arrow{animation:fut-carousel-hint-fade 1000ms var(--ease-out) both!important}
  .program-carousel-stage.show-swipe-hint .program-edge-arrow::before{animation:none!important}
}
@keyframes fut-carousel-hint-fade{0%,100%{opacity:0;transform:translateY(-50%)}25%,70%{opacity:1;transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){.program-carousel .program-card,.program-carousel .program-card.is-active{transform:none}}

/* Booking */
.booking-section{background:linear-gradient(180deg,rgba(75,17,120,.45),rgba(14,3,32,0))}
.steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.step-btn{cursor:pointer;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 18px;border-radius:999px;font-weight:700;font-size:14.5px;transition:transform 140ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,color 200ms ease;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#b7a6d8}
.step-btn:active{transform:scale(.96)}
.step-btn.active{background:rgba(150,224,52,.16);border:1px solid #96e034;color:#fff}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:Comfortaa,sans-serif;font-size:13px;background:rgba(255,255,255,.1);color:#d9cbf5}
.step-btn.active .step-num{background:#96e034;color:#14042c}
.booking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}
.booking-panel{background:rgba(20,6,44,.72);border:1px solid rgba(168,85,247,.32);border-radius:24px;padding:clamp(18px,3vw,30px);min-height:340px}
.booking-panel h3{font-size:22px;margin:0 0 4px}
.booking-panel > div > p{color:#b7a6d8;font-size:15px;margin:0 0 18px}
.booking-panel .step-pane{animation:fut-pane-in 260ms var(--ease-out) both}
.booking-city-picker{margin:0 0 18px;padding:0;border:0}
.booking-city-picker legend{margin-bottom:10px;color:#fff;font-weight:700}
.booking-city-options{display:flex;flex-wrap:wrap;gap:10px}
.booking-city-option{cursor:pointer;min-width:130px;min-height:44px;padding:10px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#d9cbf5;font-weight:700;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease}
.booking-city-option:active{transform:scale(.96)}
.booking-city-option.active{border-color:#96e034;background:rgba(150,224,52,.16);color:#fff;box-shadow:0 0 0 2px rgba(150,224,52,.08)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.pick-btn{position:relative;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:7px;padding:16px;border-radius:18px;min-height:48px;color:inherit;font:inherit;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease;background:rgba(255,255,255,.04);border:1px solid rgba(168,85,247,.28)}
.pick-btn[hidden]{display:none!important}
.pick-btn:active{transform:scale(.97)}
.pick-btn.active{background:rgba(150,224,52,.13);border-color:#96e034;box-shadow:inset 0 0 0 1px #96e034,0 0 22px rgba(150,224,52,.1)}
.pick-btn .pn{font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;color:#fff}
.pick-btn .pa{font-size:13px;color:#a493c7}
.pick-btn .pp{font-size:14px;font-weight:800;color:#96e034}
.pick-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px}
.pick-separator{color:#6f5c92}
.pick-check{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#96e034;color:#14042c;font-size:14px;font-weight:900}
.pick-btn.active .pn{padding-right:28px}
.booking-program-tools{display:none}
.pick-empty{margin-top:16px;padding:22px;border-radius:16px;text-align:center;color:#b7a6d8;background:rgba(255,255,255,.04);border:1px dashed rgba(168,85,247,.35)}
.pick-empty[hidden]{display:none}
@media(max-width:700px){
  .steps{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(-1 * clamp(14px,3vw,28px));padding-inline:clamp(14px,3vw,28px);scroll-padding-inline:clamp(14px,3vw,28px)}
  .steps::-webkit-scrollbar{display:none}
  .step-btn{flex:none;scroll-snap-align:start}
  .booking-panel>div>p{font-size:13.5px;line-height:1.45;margin-bottom:14px}
  .booking-program-tools{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
  .booking-program-search input{width:100%;height:42px;padding:10px 14px;border-radius:13px;border:1px solid rgba(168,85,247,.38);background:rgba(255,255,255,.05);color:#fff;font-size:16px;outline:none}
  .booking-age-filters{display:flex;gap:7px;overflow-x:auto;margin-inline:-2px;padding:2px;scrollbar-width:none}
  .booking-age-filters::-webkit-scrollbar{display:none}
  .booking-age-filter{flex:none;cursor:pointer;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#bfaee0;font-size:12.5px;font-weight:800}
  .booking-age-filter.on{border-color:#96e034;background:rgba(150,224,52,.14);color:#fff}
  .pick-grid{display:flex;flex-direction:column;max-height:min(46svh,440px);overflow-y:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding-right:6px;scrollbar-width:thin;scrollbar-color:#96e034 rgba(255,255,255,.08)}
  .pick-grid::-webkit-scrollbar{width:6px}
  .pick-grid::-webkit-scrollbar-thumb{background:#96e034;border-radius:3px}
  .pick-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:3px}
  .pick-grid .pick-btn{flex:none}
  .pick-grid::after{content:'';position:sticky;bottom:-1px;display:block;height:28px;margin-top:-28px;background:linear-gradient(rgba(20,6,44,0),rgba(14,3,32,.85));pointer-events:none}
  .booking-panel .booking-nav{display:none}
}

.field-label{display:block;font-size:14px;font-weight:700;color:#d9cbf5;margin-bottom:8px}
.date-input{width:100%;max-width:320px;padding:15px 16px;border-radius:16px;border:1px solid rgba(168,85,247,.4);background:rgba(255,255,255,.05);color:#fff;font-size:16px;min-height:48px}
.day-type{margin-top:12px;font-size:14px;font-weight:700;color:#96e034}
.time-row{display:flex;flex-wrap:wrap;gap:10px}

.guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.guest-card{padding:18px;border-radius:18px}
.guest-card.kids{background:var(--green-bg);border:1px solid var(--green-border)}
.guest-card.adults{background:var(--cyan-bg);border:1px solid var(--cyan-border)}
.guest-card-title{font-weight:800;font-size:15px;margin-bottom:12px}
.guest-card.kids .guest-card-title{color:#96e034}
.guest-card.adults .guest-card-title{color:#22c8e0}
.guest-counter{display:flex;align-items:center;gap:14px}
.counter-btn{width:48px;height:48px;border-radius:14px;font-size:24px;cursor:pointer;background:none;border:none;transition:transform 120ms var(--ease-out)}
.counter-btn:active{transform:scale(.88)}
.guest-card.kids .counter-btn{border:1px solid rgba(150,224,52,.45);background:rgba(150,224,52,.1);color:#96e034}
.guest-card.adults .counter-btn{border:1px solid rgba(34,200,224,.45);background:rgba(34,200,224,.1);color:#22c8e0}
.counter-val{display:inline-block;font-family:Comfortaa,sans-serif;font-weight:700;font-size:26px;color:#fff;min-width:44px;text-align:center}
.counter-val.pulse{animation:fut-counter-pop 220ms var(--ease-out)}
.guests-note{margin-top:16px;font-size:15px;color:#d9cbf5}

.extra-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.extra-pick{cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px;border-radius:18px;min-height:48px;text-align:left;transition:transform 140ms var(--ease-out),background-color 200ms ease,border-color 200ms ease;background:rgba(255,255,255,.04);border:1px solid rgba(168,85,247,.28)}
.extra-pick:active{transform:scale(.97)}
.extra-pick.on{background:rgba(150,224,52,.14);border:2px solid #96e034}
.extra-box{flex:none;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(255,255,255,.08);color:transparent}
.extra-pick.on .extra-box{background:#96e034;color:#14042c}
.extra-pick-name{font-weight:700;font-size:15px;color:#fff;display:block}
.extra-pick-price{font-size:13.5px;color:#96e034;font-weight:700;display:block}

.contact-form{display:grid;gap:16px;max-width:520px}
.text-input,.textarea-input{width:100%;padding:15px 16px;border-radius:16px;border:1px solid rgba(168,85,247,.4);background:rgba(255,255,255,.05);color:#fff;font-size:16px;min-height:48px}
.text-input option{background:#190832;color:#fff}
.text-input.err,.textarea-input.err{border-color:#ff2e78}
.field-err{display:none;margin-top:7px;font-size:13px;color:#ff6b9d}
.field-err.show{display:block}
.textarea-input{resize:vertical;min-height:auto}
.agree-row{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#b7a6d8;line-height:1.5}
.agree-row input{width:22px;height:22px;accent-color:#96e034;flex:none;margin-top:1px}

.done-panel{text-align:center;padding:18px 0}
.done-mascot{width:min(240px,60%);animation:fut-wobble 2.4s ease-in-out infinite}
.done-panel h3{font-size:clamp(24px,3vw,32px);margin:10px 0 8px;color:#96e034;animation:fut-pop .5s ease-out both}
.done-panel p{color:#d9cbf5;font-size:16px;margin:0 auto 8px;max-width:44ch}
.done-panel .done-summary{color:#a493c7;font-size:15px;margin:0 auto 22px;max-width:46ch}

.booking-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}
.nav-back{cursor:pointer;min-height:52px;padding:16px 24px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#c9b9e8;font-weight:700;font-size:15px;transition:transform 140ms var(--ease-out)}
.nav-back:active{transform:scale(.96)}
.nav-back:disabled{opacity:.45;pointer-events:none}
.nav-next{cursor:pointer;border:0;min-height:52px;padding:16px 28px;border-radius:16px;background:linear-gradient(135deg,#ff2e78,#a855f7);color:#fff;font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;flex:1;min-width:180px;transition:transform 140ms var(--ease-out)}
.nav-next:active{transform:scale(.97)}
.nav-next:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.45)}

.booking-summary{background:linear-gradient(160deg,rgba(255,46,120,.14),rgba(168,85,247,.14));border:1px solid rgba(255,46,120,.32);border-radius:24px;padding:24px;position:sticky;top:96px}
.summary-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:18px;color:#fff;margin-bottom:14px}
.summary-program{margin:0 0 18px;padding:16px;border-radius:17px;background:rgba(150,224,52,.08);border:1px solid rgba(150,224,52,.28)}
.summary-program[hidden]{display:none}
.summary-program-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.summary-program-name{font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;line-height:1.3;color:#fff}
.summary-program-check{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#96e034;color:#14042c;font-size:13px;font-weight:900}
.summary-program-meta{margin-top:6px;font-size:12.5px;line-height:1.45;color:#bfaee0}
.summary-program-price{margin-top:10px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;color:#96e034}
.summary-rows{margin:0;display:grid;gap:10px;font-size:14.5px}
.summary-row{display:flex;justify-content:space-between;gap:12px;color:#d9cbf5;margin:0}
.summary-row dt{color:#a493c7;margin:0}
.summary-row dd{margin:0;text-align:right;font-weight:700}
.summary-total{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:baseline}
.summary-total span:first-child{font-size:15px;color:#d9cbf5}
.summary-total-value{font-family:Comfortaa,sans-serif;font-weight:700;font-size:clamp(24px,3vw,32px);color:#96e034}
.summary-note{font-size:12.5px;color:#a493c7;line-height:1.5;margin:12px 0 0}

@media(min-width:901px){
  .booking-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,.9fr);gap:22px}
  .booking-panel{padding:26px}
  .booking-panel.has-program-picker{display:flex;flex-direction:column;height:clamp(560px,calc(100dvh - 210px),680px);overflow:hidden}
  .booking-panel.has-program-picker>div:first-child{display:flex;flex:1;min-height:0;flex-direction:column}
  .pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .booking-panel.has-program-picker .pick-grid{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:#96e034 rgba(255,255,255,.07)}
  .booking-panel.has-program-picker .pick-grid::-webkit-scrollbar{width:6px}
  .booking-panel.has-program-picker .pick-grid::-webkit-scrollbar-thumb{border-radius:999px;background:#96e034}
  .booking-panel.has-program-picker .pick-grid::-webkit-scrollbar-track{border-radius:999px;background:rgba(255,255,255,.06)}
  .pick-btn{height:94px;min-height:94px;padding:14px}
  .pick-btn .pn{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14.5px;line-height:1.3}
  .pick-btn .pa{font-size:12px}
  .pick-btn .pp{font-size:12.5px}
  .booking-program-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
  .booking-program-search{flex:1;max-width:280px}
  .booking-program-search input{width:100%;height:42px;padding:10px 14px;border-radius:13px;border:1px solid rgba(168,85,247,.38);background:rgba(255,255,255,.05);color:#fff;font-size:14px;outline:none;transition:border-color 180ms ease,box-shadow 180ms ease}
  .booking-program-search input::placeholder{color:#8f7bad}
  .booking-program-search input:focus{border-color:#96e034;box-shadow:0 0 0 3px rgba(150,224,52,.12)}
  .booking-age-filters{display:flex;align-items:center;gap:6px}
  .booking-age-filter{cursor:pointer;min-height:38px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#bfaee0;font-size:12.5px;font-weight:800;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease}
  .booking-age-filter:active{transform:scale(.96)}
  .booking-age-filter.on{border-color:#96e034;background:rgba(150,224,52,.14);color:#fff}
  .booking-panel.has-program-picker .booking-nav{position:relative;z-index:4;flex:none;margin:14px -10px -10px;padding:14px 10px 10px;border-top-color:rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,rgba(20,6,44,.84),rgba(20,6,44,.98));backdrop-filter:blur(12px)}
}

/* Extras section */
.extras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.extra-card{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:rgba(20,6,44,.62);border:1px solid rgba(168,85,247,.26);box-shadow:0 10px 24px rgba(0,0,0,.26);transition:transform 220ms var(--ease-out),box-shadow 220ms ease}
@media (hover:hover) and (pointer:fine){
  .extra-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.36)}
}
.extra-card.on{border-color:#96e034}
.extra-photo{width:100%;aspect-ratio:1;overflow:hidden;background:#180725}
.extra-photo img{display:block;width:100%;height:100%;object-fit:cover}
.extra-card-body{display:flex;flex:1;flex-direction:column;padding:18px}
.extra-card h3{font-size:18px;margin:0 0 6px}
.extra-card p{margin:0 0 10px;font-size:14px;line-height:1.55;color:#bfaee0;flex:1}
.extra-price{font-family:Comfortaa,sans-serif;font-weight:700;font-size:20px;color:#96e034;margin-bottom:14px}
.extra-add-btn{cursor:pointer;width:100%;min-height:48px;padding:14px;border-radius:14px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:15px;transition:transform 140ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,color 200ms ease;border:2px solid var(--purple);background:transparent;color:var(--purple)}
.extra-add-btn:active{transform:scale(.96)}
.extra-add-btn.on{border:0;background:#96e034;color:#14042c}

@media(max-width:700px){
  .extras-grid{
    display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;gap:12px;
    margin:0 clamp(-14px,-3vw,-28px);padding:4px clamp(14px,3vw,28px) 10px;
    scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin;scrollbar-color:#96e034 rgba(255,255,255,.08)
  }
  .extras-grid::-webkit-scrollbar{height:6px}
  .extras-grid::-webkit-scrollbar-thumb{background:#96e034;border-radius:3px}
  .extras-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:3px}
  .extra-card{flex:0 0 200px;scroll-snap-align:start;border-radius:18px}
  .extra-card-body{padding:14px}
  .extra-card h3{font-size:15.5px;margin:0 0 4px}
  .extra-card p{font-size:12.5px;line-height:1.45;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .extra-price{font-size:16px;margin-bottom:10px}
  .extra-add-btn{min-height:42px;padding:10px;font-size:13px}
}

/* Attractions */
.attractions-section{background:linear-gradient(180deg,rgba(34,200,224,.08),rgba(14,3,32,0))}
.attractions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.attraction-card{overflow:hidden;border-radius:20px;background:rgba(20,6,44,.6);border:1px solid rgba(168,85,247,.24);box-shadow:0 8px 20px rgba(0,0,0,.24);display:flex;flex-direction:column;transition:transform 220ms var(--ease-out),border-color 220ms ease,box-shadow 220ms ease}
@media (hover:hover) and (pointer:fine){
  .attraction-card:hover{border-color:rgba(34,200,224,.5);transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.34)}
  .attraction-photo-arrow{opacity:0;transform:translateY(-50%) scale(.9)}
  .attraction-card:hover .attraction-photo-arrow,.attraction-photo-arrow:focus-visible{opacity:1;transform:translateY(-50%) scale(1)}
}
.attraction-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#16092c}
.attraction-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity 180ms ease}
.attraction-photo.is-loading::after{content:"";position:absolute;z-index:4;left:50%;top:50%;width:28px;height:28px;margin:-16px 0 0 -16px;border:3px solid rgba(255,255,255,.3);border-top-color:#96e034;border-radius:50%;box-shadow:0 0 18px rgba(150,224,52,.35);animation:fut-attraction-spin .7s linear infinite}
.attraction-photo.is-loading img{filter:brightness(.72)}
.attraction-photo-arrow:disabled,.attraction-photo-dot:disabled{cursor:wait}
@keyframes fut-attraction-spin{to{transform:rotate(360deg)}}
.attraction-photo-arrow{position:absolute;top:50%;z-index:2;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(14,3,32,.72);color:#fff;font:700 28px/1 Arial,sans-serif;display:grid;place-items:center;transform:translateY(-50%);transition:opacity 180ms ease,transform 180ms ease,background 180ms ease}
.attraction-photo-arrow:active{background:rgba(168,85,247,.9)}
.attraction-photo-arrow.prev{left:10px}
.attraction-photo-arrow.next{right:10px}
.attraction-photo-counter{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:999px;background:rgba(14,3,32,.72);color:#fff;font-size:12px;font-weight:700;line-height:1}
.attraction-photo-dots{position:absolute;left:50%;bottom:10px;display:flex;gap:6px;transform:translateX(-50%)}
.attraction-photo-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.45);transition:width 180ms ease,background 180ms ease}
.attraction-photo-dot.on{width:20px;border-radius:999px;background:#96e034}
.attraction-card-body{padding:18px 20px 20px;display:flex;flex:1;flex-direction:column;gap:8px}
.attraction-card h3{font-size:17px;margin:0}
.attraction-card p{margin:0;font-size:14px;line-height:1.55;color:#bfaee0}
.attractions-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.attractions-note{color:#a493c7;font-size:15px}

/* Gallery */
.gal-marquee-wrap{overflow:hidden;display:flex;flex-direction:column;gap:12px;margin:22px 0 26px;mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}
.gal-track{display:flex;gap:12px;width:max-content;will-change:transform}
.gal-track--fwd{animation:gal-scroll-fwd 260s linear infinite}
.gal-track--rev{animation:gal-scroll-rev 260s linear infinite}
.gal-marquee-wrap:hover .gal-track{animation-play-state:paused}
@keyframes gal-scroll-fwd{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes gal-scroll-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.gal-track--fwd,.gal-track--rev{animation:none}}
.gal-item{flex:0 0 auto;width:clamp(120px,15vw,190px);aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,rgba(150,224,52,.1),rgba(168,85,247,.14));cursor:pointer;border:1px solid rgba(150,224,52,.22)}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
@media (hover:hover) and (pointer:fine){.gal-item:hover img{transform:scale(1.07)}}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,220px));gap:16px}
.video-card{border-radius:20px;overflow:hidden;background:linear-gradient(160deg,rgba(150,224,52,.08),rgba(168,85,247,.12));border:1px solid rgba(150,224,52,.28);box-shadow:0 8px 20px rgba(0,0,0,.24)}
.video-el{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#0e0322}
.video-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:14px;color:#fff;padding:10px 12px}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.promo-card{border-radius:22px;overflow:hidden;background:rgba(20,6,44,.62);border:1px solid rgba(168,85,247,.26);box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform 220ms var(--ease-out),border-color 220ms ease,box-shadow 220ms ease}
.promo-card:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.promo-card:hover{transform:translateY(-4px);border-color:#96e034;box-shadow:0 16px 34px rgba(0,0,0,.34)}}
.promo-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0e0322}
.promo-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:15px;color:#fff;padding:14px 16px}
.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:34px 0 18px}
.reviews-heading h3{margin:0 0 7px}
.reviews-rating{display:flex;align-items:center;gap:8px;color:#bfaee0;font-size:14px}
.reviews-rating span{color:#ffc94d;letter-spacing:1px}
.reviews-all-link{flex:none;padding:10px 15px;border-radius:999px;border:1px solid rgba(150,224,52,.34);background:rgba(150,224,52,.07);color:#96e034;font-size:14px;font-weight:700;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease}
.reviews-all-link:active{transform:scale(.96)}
.review-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,82vw);gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#96e034 rgba(255,255,255,.06)}
.review-card{min-height:190px;padding:21px;border-radius:20px;background:rgba(20,6,44,.65);border:1px solid rgba(150,224,52,.28);box-shadow:0 8px 20px rgba(0,0,0,.24);display:flex;flex-direction:column;gap:8px;scroll-snap-align:start;transition:transform 220ms var(--ease-out),border-color 220ms ease,box-shadow 220ms ease}
.review-card:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){
  .review-card:hover{border-color:#96e034;transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.34)}
  .reviews-all-link:hover{border-color:#96e034;background:rgba(150,224,52,.13)}
}
.review-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:19px;color:#fff}
.review-note{font-size:14.5px;color:#bfaee0}
.review-link{font-weight:700;color:#96e034;font-size:14.5px}
.review-stars{color:#ffc94d;font-size:16px;letter-spacing:2px}
.review-text{font-size:15px;color:#ece3fb;line-height:1.5;margin:0}
.review-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.review-author{font-family:Comfortaa,sans-serif;font-weight:700;font-size:14px;color:#fff}
.review-date{font-size:12.5px;color:#8a7aac}
@media (min-width:900px){
  .review-grid{grid-auto-flow:unset;grid-auto-columns:unset;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding:2px}
  .review-card{min-height:210px}
}
@media (max-width:560px){
  .reviews-heading{align-items:flex-start;margin-top:28px}
  .reviews-all-link{padding:9px 12px;font-size:13px}
  .reviews-rating{font-size:12.5px}
}

/* Prices */
.prices-section{background:linear-gradient(180deg,rgba(168,85,247,.12),rgba(14,3,32,0))}
.prices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.ticket-table{border-radius:20px;overflow:hidden;border:1px solid rgba(168,85,247,.3);margin-bottom:20px}
.ticket-row{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;background:rgba(20,6,44,.6);border-bottom:1px solid rgba(255,255,255,.07)}
.ticket-row:last-child{border-bottom:none}
.ticket-row .tk{font-size:15.5px;color:#e2d6fb}
.ticket-row .tv{font-family:Comfortaa,sans-serif;font-weight:700;font-size:17px;color:#96e034;white-space:nowrap}
.park-info-heading{margin-bottom:22px}
.park-info-heading h2{margin-bottom:0}
.park-info-heading>p{max-width:620px;margin:10px 0 0;color:#b7a6d8;line-height:1.55}
.section-kicker{margin-bottom:8px;color:#96e034;font-family:Comfortaa,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.info-cards{display:grid;gap:12px}
.info-card{position:relative;overflow:hidden;padding:22px;border-radius:20px}
.info-card::after{content:"";position:absolute;right:-28px;bottom:-42px;width:130px;height:130px;border-radius:50%;background:currentColor;opacity:.045;pointer-events:none}
.info-card-green{background:var(--green-bg);border:1px solid var(--green-border)}.info-card-green .info-card-title{color:var(--green)}
.info-card-cyan{background:var(--cyan-bg);border:1px solid var(--cyan-border)}.info-card-cyan .info-card-title{color:var(--cyan)}
.info-card-pink{background:var(--pink-bg);border:1px solid var(--pink-border)}.info-card-pink .info-card-title{color:var(--pink)}
.info-card-metric{margin-bottom:26px;font-family:Comfortaa,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1;color:#fff;letter-spacing:-.04em}
.info-card-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:18px;margin-bottom:8px}
.info-card p{margin:0;font-size:15px;line-height:1.55;color:#d9cbf5}
@media (min-width:900px){
  .park-info-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:28px}
  .park-info-heading>p{max-width:500px;margin:0;text-align:right}
  .info-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .info-card{display:flex;min-height:260px;padding:28px;flex-direction:column}
  .info-card-title{margin-top:auto}
  @media (hover:hover) and (pointer:fine){
    .info-card{transition:transform 180ms var(--ease-out),border-color 180ms ease}
    .info-card:hover{transform:translateY(-3px)}
  }
}
.faq details{padding:16px 18px;border-radius:16px;background:rgba(20,6,44,.6);border:1px solid rgba(168,85,247,.26);margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;font-size:16px;color:#fff}
.faq p{margin:10px 0 0;font-size:15px;line-height:1.55;color:#c5b6e4}

/* Contacts */
.city-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.contact-card{padding:26px;border-radius:24px;background:rgba(20,6,44,.7);border:1px solid rgba(168,85,247,.3);display:flex;flex-direction:column;gap:14px}
.contact-label{font-size:13px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#96e034;margin-bottom:6px}
.contact-value{font-size:17px;color:#fff;font-weight:700}
.phone-list{display:flex;flex-direction:column;gap:6px}
.phone-list a{font-family:Comfortaa,sans-serif;font-weight:700;font-size:19px;color:#fff}
.mail-link{font-size:16px;font-weight:700}
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.social-link{padding:12px 18px;border-radius:999px;font-weight:700;font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.social-cyan{border:1px solid rgba(34,200,224,.5);color:#22c8e0}
.social-cyan:hover{background:rgba(34,200,224,.14)}
.social-green{border:1px solid rgba(150,224,52,.5);color:#96e034}
.social-green:hover{background:rgba(150,224,52,.14)}
.social-purple{border:1px solid rgba(168,85,247,.5);color:#c79bff}
.social-purple:hover{background:rgba(168,85,247,.16)}
.map-slot{position:relative;min-height:300px;border-radius:24px;overflow:hidden;border:1px solid rgba(34,200,224,.3);background:linear-gradient(160deg,rgba(34,200,224,.08),rgba(168,85,247,.12))}
.map-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-address{position:absolute;left:16px;bottom:16px;padding:10px 16px;border-radius:999px;background:rgba(14,3,32,.85);color:#fff;font-weight:700;font-size:14px;pointer-events:none}

/* Footer */
.site-footer{position:relative;z-index:1;border-top:1px solid rgba(168,85,247,.28);background:rgba(10,2,24,.85);padding:clamp(28px,4vw,48px) clamp(14px,3vw,28px) 40px}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.footer-logo{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7a3fc0,#2a0a4d)}
.footer-tag{margin:12px 0 0;font-size:15px;color:#bfaee0;max-width:34ch}
.footer-title{font-family:Comfortaa,sans-serif;font-weight:700;font-size:16px;color:#fff;margin-bottom:10px}
.footer-text{margin:0;font-size:15px;line-height:1.7;color:#bfaee0}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:15px}
.footer-copy{max-width:1240px;margin:26px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#8f7fb3;line-height:1.6}

/* Legal page */
.legal{padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(40px,6vw,72px)}
.legal-inner{max-width:760px}
.legal h1{font-size:clamp(26px,3.6vw,38px);line-height:1.2;margin-bottom:6px}
.legal-updated{color:#8f7fb3;font-size:14px;margin:0 0 30px}
.legal h2{font-size:clamp(18px,2.2vw,22px);margin:34px 0 12px}
.legal p{color:#d9cbf5;font-size:15.5px;line-height:1.7;margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:22px;color:#d9cbf5;font-size:15.5px;line-height:1.7}
.legal li{margin-bottom:6px}
.legal-contacts{color:#d9cbf5;font-size:15.5px;line-height:1.9}
.legal-back{display:inline-flex;margin-top:20px}

/* Mobile bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;padding:10px 12px;background:rgba(12,3,28,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(150,224,52,.3)}
.mobile-bar-default,.mobile-booking-bar{width:100%;display:flex;gap:10px}
.mobile-bar .btn{flex:1;min-width:0;padding:14px 10px}
.mobile-bar-default .btn-primary{flex:1.3}
.mobile-booking-bar{display:none}
.mobile-bar.is-booking .mobile-bar-default{display:none}
.mobile-bar.is-booking .mobile-booking-bar{display:flex}
.mobile-booking-back,.mobile-booking-next{min-height:52px;border-radius:999px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:15px;cursor:pointer}
.mobile-booking-back{flex:.75;border:2px solid #96e034;background:rgba(150,224,52,.06);color:#96e034}
.mobile-booking-next{flex:1.25;border:0;background:linear-gradient(135deg,#ff2e78,#a855f7);color:#fff;box-shadow:0 8px 26px rgba(255,46,120,.32)}
.mobile-booking-back:disabled,.mobile-booking-next:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;filter:saturate(.5)}
.mobile-booking-back:active:not(:disabled),.mobile-booking-next:active:not(:disabled){transform:scale(.97)}

/* Header city select (mobile) */
.city-select{position:relative;flex:none}
.city-select-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:36px;padding:0 9px 0 8px;border-radius:999px;background:rgba(150,224,52,.1);border:1px solid rgba(150,224,52,.35);color:#96e034;font-family:Comfortaa,sans-serif;font-size:12px;font-weight:700;white-space:nowrap;transition:transform 140ms var(--ease-out)}
.city-select-pin{flex:none;width:14px;height:14px}
.city-select-chevron{flex:none;opacity:.75;transition:transform 180ms var(--ease-out)}
.city-select-btn[aria-expanded="true"] .city-select-chevron{transform:rotate(180deg)}
.city-select-btn:active{transform:scale(.9)}
.city-select-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:max-content;min-width:150px;max-width:calc(100vw - 28px);border-radius:16px;padding:6px;background:rgba(20,6,44,.98);border:1px solid rgba(150,224,52,.3);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.city-select-menu[hidden]{display:none}
.city-select-option{cursor:pointer;width:100%;text-align:left;display:block;padding:11px 14px;border-radius:11px;font-family:Comfortaa,sans-serif;font-weight:700;font-size:14.5px;background:transparent;border:0;color:#e7dcff}
.city-select-option.on{background:rgba(150,224,52,.16);color:#96e034}

@media(max-width:370px){
  .header-inner{gap:8px;padding-inline:10px}
  .brand-logo{width:34px;height:34px}
  .brand-name{font-size:15px}
  .city-select-btn{height:34px;padding-inline:7px;font-size:11.5px}
  .burger{width:36px;height:36px}
  .hero-saturn{left:-8%}
  .hero-meteor-yellow{right:-7%}
  .hero-mascot-1{left:0}
  .hero-mascot-2{right:0}
}

/* Offer modal */
.offer-modal{position:fixed;inset:0;z-index:100;background:rgba(6,1,16,.78);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:1;transition:opacity 200ms ease}
.offer-modal[hidden]{display:none}
.offer-modal.closing{opacity:0}
.offer-card{position:relative;width:min(560px,100%);min-width:0;max-width:100%;max-height:calc(100dvh - 36px);overflow-y:auto;border-radius:28px;padding:clamp(22px,4vw,38px);background:radial-gradient(600px 300px at 20% 0%,rgba(168,85,247,.5),transparent),linear-gradient(160deg,#26073f,#12042a);border:1px solid rgba(150,224,52,.45);box-shadow:0 40px 100px rgba(0,0,0,.6);animation:fut-pop .35s ease-out both;transition:transform 200ms ease-out}
.offer-modal.closing .offer-card{transform:scale(.94)}
.offer-close{position:fixed;z-index:101;right:22px;top:22px;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer;transition:transform 140ms var(--ease-out)}
.offer-close:active{transform:scale(.9)}
.offer-mascot{width:120px;margin-bottom:4px;animation:fut-float 5s ease-in-out infinite;background:radial-gradient(circle at 35% 30%,#3aa0c0,#123a4d);border-radius:16px}
.offer-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,46,120,.18);border:1px solid rgba(255,46,120,.5);color:#ff86b3;font-weight:800;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase}
.offer-card h2{font-size:clamp(24px,3.6vw,34px);margin:12px 0 10px;line-height:1.15}
.offer-card p{margin:0 0 18px;font-size:16px;line-height:1.55;color:#d9cbf5}
.offer-timer{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.offer-timer span:first-child{font-family:Comfortaa,sans-serif;font-weight:700;font-size:34px;color:#96e034;letter-spacing:2px}
.offer-timer-note{font-size:14px;color:#a493c7;line-height:1.4}
.offer-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Keep the conversion form fully visible on short laptop/tablet viewports. */
@media (max-height:900px){
  [data-offer-modal]{padding:12px}
  [data-offer-modal] .offer-card{max-height:calc(100dvh - 24px);overflow-y:hidden;padding:22px 28px}
  [data-offer-modal] .offer-mascot{display:none}
  [data-offer-modal] .offer-card h2{font-size:clamp(24px,3.2vw,30px);margin:10px 0 8px;line-height:1.12}
  [data-offer-modal] .offer-card p{margin-bottom:12px;font-size:15px;line-height:1.4}
  [data-offer-modal] .offer-timer{margin-bottom:14px}
  [data-offer-modal] .offer-timer span:first-child{font-size:30px}
  [data-offer-modal] .contact-form{gap:11px}
  [data-offer-modal] .text-input{padding-block:12px;min-height:46px}
  [data-offer-modal] .agree-row{line-height:1.35}
  [data-offer-modal] .offer-actions{gap:10px}
  [data-offer-modal] .offer-actions .btn{min-height:46px;padding-block:11px}
}

@media (max-height:700px){
  [data-offer-modal] .offer-card{padding:16px 22px;border-radius:22px}
  [data-offer-modal] .offer-badge{padding:5px 12px;font-size:11.5px}
  [data-offer-modal] .offer-card h2{font-size:clamp(21px,3vw,27px);margin-block:8px 6px}
  [data-offer-modal] .offer-card p{margin-bottom:8px;font-size:14px;line-height:1.35}
  [data-offer-modal] .offer-timer{margin-bottom:9px}
  [data-offer-modal] .offer-timer span:first-child{font-size:27px}
  [data-offer-modal] .contact-form{gap:8px}
  [data-offer-modal] .text-input{padding-block:9px;min-height:42px}
  [data-offer-modal] .agree-row{font-size:12.5px}
  [data-offer-modal] .agree-row input{width:20px;height:20px}
  [data-offer-modal] .offer-actions .btn{min-height:42px;padding-block:9px}
}

/* Gallery lightbox */
.lb-overlay{position:fixed;inset:0;z-index:120;background:rgba(6,1,16,.92);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity 200ms ease}
.lb-overlay[hidden]{display:none}
.lb-overlay.closing{opacity:0}
.lb-img-wrap{position:relative;max-width:90vw;max-height:82dvh;display:flex;align-items:center;justify-content:center;animation:fut-pop .3s ease-out both}
.lb-img-wrap img{max-width:90vw;max-height:82dvh;border-radius:18px;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.lb-btn{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff;font-size:24px;cursor:pointer;display:grid;place-items:center;transition:background-color 180ms ease,transform 140ms var(--ease-out)}
.lb-btn:active{transform:translateY(-50%) scale(.9)}
@media (hover:hover) and (pointer:fine){.lb-btn:hover{background:rgba(255,255,255,.2)}}
.lb-prev{left:16px}
.lb-next{right:16px}
.lb-close{position:fixed;right:22px;top:22px;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(10,2,24,.7);color:#fff;font-size:20px;cursor:pointer;transition:transform 140ms var(--ease-out)}
.lb-close:active{transform:scale(.9)}
.lb-counter{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-size:13px;color:rgba(255,255,255,.6)}
@media(max-width:640px){
  .lb-btn{width:40px;height:40px;font-size:20px}
  .lb-prev{left:8px}
  .lb-next{right:8px}
}

/* Program detail modal */
.program-modal{position:fixed;inset:0;z-index:100;background:rgba(6,1,16,.78);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:1;transition:opacity 200ms ease}
.program-modal[hidden]{display:none}
.program-modal.closing{opacity:0}
.program-modal-close{position:fixed;right:22px;top:22px;z-index:101;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(10,2,24,.7);color:#fff;font-size:20px;cursor:pointer;transition:transform 140ms var(--ease-out)}
.program-modal-close:active{transform:scale(.9)}
.program-modal-card{position:relative;width:min(960px,100%);min-width:0;max-width:100%;max-height:90vh;overflow-y:auto;border-radius:28px;background:linear-gradient(160deg,#26073f,#12042a);border:1px solid rgba(168,85,247,.4);box-shadow:0 40px 100px rgba(0,0,0,.6);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);animation:fut-pop .3s ease-out both;transition:transform 200ms ease-out}
.program-modal.closing .program-modal-card{transform:scale(.94)}
.program-modal-art{position:relative;width:100%;aspect-ratio:1;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
.program-modal-art img{width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}
.program-modal-art img.program-photo{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;filter:none}
.program-modal-tag{position:absolute;left:18px;top:18px;padding:6px 14px;border-radius:999px;background:rgba(14,3,32,.8);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.program-gallery-arrow{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(14,3,32,.76);backdrop-filter:blur(8px);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease}
.program-gallery-arrow:active{transform:scale(.94)}
.program-gallery-prev{left:14px}.program-gallery-next{right:14px}
@media (hover:hover) and (pointer:fine){.program-gallery-arrow:hover{background:rgba(14,3,32,.92);border-color:#96e034}}
.program-gallery-dots{position:absolute;left:50%;bottom:16px;z-index:2;transform:translateX(-50%);display:flex;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(14,3,32,.72);backdrop-filter:blur(8px)}
.program-gallery-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:transform 140ms var(--ease-out),background-color 180ms ease}
.program-gallery-dot.on{background:#96e034;transform:scale(1.25)}
.program-modal-body{padding:clamp(24px,4vw,38px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.program-modal-body h2{font-size:clamp(22px,3.4vw,30px);margin:0 0 12px;line-height:1.15}
.program-modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.program-modal-meta span{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);font-size:13px;color:#c5b6e4}
.program-modal-desc{font-size:15.5px;line-height:1.65;color:#d9cbf5;margin:0 0 20px}
.program-modal-price{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;padding:16px 18px;border-radius:18px;background:rgba(150,224,52,.08);border:1px solid rgba(150,224,52,.25)}
.program-modal-actions{display:flex;flex-wrap:wrap;gap:12px}
.program-modal-actions .btn-primary{flex:1;min-width:200px}
@media(max-width:760px){
  .program-modal{height:100vh;height:100dvh;min-height:100svh;align-items:flex-start;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain;touch-action:none}
  .program-modal-card{width:min(560px,100%);grid-template-columns:1fr;max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b536d7 rgba(255,255,255,.07);border-radius:22px}
  .program-modal-close{right:calc(14px + env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top))}
  .program-modal-art{aspect-ratio:16/11;flex:none}
  .program-gallery-arrow,.program-card-gallery-arrow{display:none!important}
  .program-modal-body{padding:22px 20px calc(28px + env(safe-area-inset-bottom));justify-content:flex-start}
  .program-modal-actions{padding-bottom:2px}
}
