/* Depth, motion and booking layer */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:210;background:linear-gradient(90deg,#d9b45b,#f7e3a1);transform-origin:left;transform:scaleX(0)}
.fest-strip{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 14px;background:linear-gradient(90deg,#4a0f1c,#7a1830 50%,#4a0f1c);color:#fbe7b5;font-size:12.5px;letter-spacing:.06em;position:relative;z-index:101;flex-wrap:wrap;text-align:center}
.fest-strip b{font-family:var(--serif);font-weight:700;color:#f0d68a;letter-spacing:.08em}.fest-strip u{color:#fff;text-underline-offset:3px}
.fest-dot{width:7px;height:7px;border-radius:50%;background:#f0d68a;box-shadow:0 0 0 0 rgba(240,214,138,.7);animation:pulse2 1.8s infinite}
@keyframes pulse2{70%{box-shadow:0 0 0 9px rgba(240,214,138,0)}100%{box-shadow:0 0 0 0 rgba(240,214,138,0)}}
.fest-strip+.nav,.nav{top:0}
body{padding-bottom:0}
@media(max-width:760px){body{padding-bottom:76px}}
/* hero depth */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-10%;z-index:0;background:radial-gradient(40% 35% at 78% 28%,rgba(217,180,91,.28),transparent 70%),radial-gradient(35% 30% at 12% 80%,rgba(122,24,48,.35),transparent 70%);animation:glowShift 12s ease-in-out infinite alternate;pointer-events:none}
@keyframes glowShift{to{transform:translate3d(-3%,2%,0) scale(1.08)}}
.hero-title .ht-accent .ch{background:linear-gradient(100deg,#d9b45b 20%,#fff2c2 45%,#d9b45b 70%) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;animation:chUp .9s var(--ease) forwards,shine 5s linear 1.8s infinite}
@keyframes shine{to{background-position:-220% 0}}
.sparkles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.sparkles i{position:absolute;border-radius:50%;background:#f7e3a1;box-shadow:0 0 12px 3px rgba(240,214,138,.7);opacity:0;animation:floatUp linear infinite}
@keyframes floatUp{0%{opacity:0;transform:translateY(30px)}20%{opacity:.9}100%{opacity:0;transform:translateY(-160px)}}
@media(prefers-reduced-motion:reduce){.sparkles i{animation:twinkle 4s ease-in-out infinite!important}.hero::before{animation:none}.fest-dot{animation:none}}
@keyframes twinkle{0%,100%{opacity:0}50%{opacity:.9}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1100px;margin:36px auto 0;position:relative;z-index:5;background:rgba(217,180,91,.25);border:1px solid rgba(217,180,91,.3);border-radius:20px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.stat{background:linear-gradient(160deg,#1c1610,#120f0c);padding:26px 14px;text-align:center}
.stat-num{display:block;font:700 clamp(30px,5vw,46px) var(--serif);color:var(--gold2)}.stat small{display:block;color:var(--muted);font-size:12px;letter-spacing:.06em;line-height:1.5;margin-top:4px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr);margin:24px 14px 0}.stat{padding:20px 10px}}
/* about image drift */
.about-media{overflow:hidden;border-radius:22px}.about-media img{will-change:transform;transform:scale(1.12)}
/* service cards */
.svc-link{background:none;border:0;cursor:pointer;font-family:var(--sans);padding:6px 0}
.svc-price{min-height:0}
.svc-card .svc-price:empty{display:none}
/* offers */
.prices{position:relative}
.prices::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 30% at 50% 0,rgba(122,24,48,.3),transparent 70%);pointer-events:none}
.price-card{display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s;position:relative}
.price-card p{flex:1}
.price-card:hover{transform:translateY(-6px);border-color:#a8864a;box-shadow:0 20px 40px rgba(0,0,0,.45)}
.card-book{margin-top:18px;align-self:flex-start;background:linear-gradient(135deg,#d9b45b,#f0d68a);color:#231a08;border:0;border-radius:40px;padding:12px 20px;min-height:44px;font:600 13px var(--sans);letter-spacing:.05em;cursor:pointer;position:relative;overflow:hidden}
.price-package .card-book{display:block;margin-top:16px}
.ripple{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:rgba(255,255,255,.55);animation:rip .6s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(30);opacity:0}}
/* academy */
.academy{position:relative;background:linear-gradient(180deg,transparent,rgba(122,24,48,.16) 40%,transparent)}
.acad-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.acad-points{list-style:none;margin-top:24px;display:grid;gap:12px;color:#d8ccb8;font-size:15px}.acad-points i{color:var(--gold);font-style:normal;margin-right:10px}
.acad-form{background:linear-gradient(160deg,#241c14,#14110e);border:1px solid rgba(217,180,91,.35);border-radius:22px;padding:28px;display:grid;gap:14px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.acad-form h3{font:600 24px var(--serif);color:var(--gold2)}
.acad-form label{display:grid;gap:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.acad-form input,.acad-form select{background:#0e0b09;border:1px solid #4d3e28;border-radius:12px;color:var(--text);padding:14px;font:400 16px var(--sans);min-height:48px;width:100%}
.acad-form input:focus,.acad-form select:focus{outline:2px solid var(--gold);outline-offset:1px}
.acad-form .btn{justify-content:center;margin-top:6px}
@media(max-width:860px){.acad-wrap{grid-template-columns:1fr;gap:30px}}
/* instagram */
.insta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;margin:34px auto 0}
.insta-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:28px;border-radius:20px;border:1px solid rgba(217,180,91,.3);background:linear-gradient(150deg,#251a14,#130f0c);transition:transform .4s var(--ease),border-color .3s}
.insta-card:hover{transform:translateY(-6px);border-color:var(--gold)}
.insta-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#f0d68a,#b8842f 50%,#7a1830)}
.insta-ic svg{width:24px;height:24px;stroke:#1a1208;fill:none;stroke-width:2}
.insta-card strong{font:600 20px var(--serif);margin-top:8px;overflow-wrap:anywhere}.insta-card small{color:var(--muted)}.insta-go{color:var(--gold2);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:8px}
@media(max-width:600px){.insta-grid{grid-template-columns:1fr}}
/* branch tabs */
.branch-tabs{display:none;justify-content:center;gap:8px;margin:20px 0}
.branch-tabs button{border:1px solid #625033;background:transparent;color:#c5b8a0;border-radius:30px;padding:12px 22px;min-height:44px;font:500 13px var(--sans);cursor:pointer}.branch-tabs button.active{background:var(--gold2);color:#211908;border-color:var(--gold2)}
@media(max-width:860px){.branch-tabs{display:flex}.visit-info.off{display:none}}
/* sticky bar */
.mbar{display:none}
.wa-float{display:none}
@media(max-width:760px){.mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:120;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(12,10,8,.92);backdrop-filter:blur(14px);border-top:1px solid rgba(217,180,91,.25);transition:transform .35s var(--ease)}.mbar .btn{flex:1;justify-content:center;padding:14px 10px;min-height:48px}.mbar .btn-ghost{flex:.6}.mbar.away{transform:translateY(110%)}}
@media(min-width:761px){.wa-float{display:flex}}
/* sheet */
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:300;opacity:0;transition:opacity .3s}.sheet-bg.open{opacity:1}
.sheet{position:fixed;z-index:301;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%,100%);transition:transform .35s var(--ease);background:linear-gradient(170deg,#231b13,#120f0c);border:1px solid rgba(217,180,91,.4);border-radius:24px 24px 0 0;padding:28px 22px calc(26px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}
.sheet.open{transform:translate(-50%,0)}
.sheet h3{font:600 26px var(--serif);margin:4px 0 8px}.sheet-item{color:var(--gold2);font-size:15px;margin-bottom:12px}
.sheet-x{position:absolute;right:14px;top:12px;width:44px;height:44px;background:none;border:0;color:var(--text);font-size:20px;cursor:pointer}
.sheet-opt{display:flex;flex-direction:column;gap:12px;padding:16px;margin-top:12px;border:1px solid #4d3e28;border-radius:16px;background:#17120e}
.sheet-opt strong{font:600 18px var(--serif)}.sheet-opt small{display:block;color:var(--muted)}
.sheet-btns{display:flex;gap:10px}.sheet-btns .btn{flex:1;justify-content:center;min-height:48px}
@media(min-width:761px){.sheet{bottom:50%;transform:translate(-50%,60%);border-radius:24px;opacity:0;transition:transform .35s var(--ease),opacity .3s}.sheet.open{transform:translate(-50%,50%);opacity:1}}
.gal-item{position:relative;overflow:hidden}
.gal-item img{transition:transform 1.2s var(--ease)}.gal-item:hover img{transform:scale(1.06)}
.image-disclosure,.photo-credit{display:none!important}

.form-note{font-size:12px;color:var(--muted);line-height:1.6}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;animation-delay:0s!important;scroll-behavior:auto!important}.sparkles{display:none!important}[data-reveal]{opacity:1!important;transform:none!important}.svc-card,.hero-visual,.hero-media,[data-parallax]{transform:none!important}.scroll-progress{display:none!important}}
