﻿:root{--brand:#4A2C1D;--brand-dark:#2f1b12;--brand-soft:#6b4630;--gold:#e8c96a;--txt:#2a1a13;--muted:#6b5a4a;--nude:#ead8c8;--cream:#f7efe7;--surface:#fff8f0}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:"DM Sans",sans-serif;color:var(--txt);background:var(--nude);overflow-x:hidden;overflow-y:auto;cursor:auto}
body.no-custom-cursor{cursor:auto}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92vw);margin:0 auto}
.header{position:sticky;top:0;z-index:20;background:linear-gradient(120deg,var(--brand),var(--brand-dark));backdrop-filter:blur(8px);border-bottom:1px solid rgba(232,201,106,.65)}

.header-actions{position:relative;display:flex;gap:.5rem;align-items:center}
.mobile-menu-toggle{display:none;width:42px;height:38px;border-radius:12px;border:1px solid rgba(232,201,106,.68);background:rgba(255,255,255,.08);color:var(--gold);place-items:center;gap:4px;padding:8px;cursor:pointer}
.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:var(--gold)}
.mobile-menu-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:.45rem;border-radius:14px;background:linear-gradient(145deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.65);box-shadow:0 18px 34px rgba(42,26,19,.28);z-index:60}
.mobile-menu-dropdown a{display:flex;align-items:center;min-height:40px;padding:.62rem .78rem;border-radius:10px;color:var(--gold);font-weight:800}
.mobile-menu-dropdown a:hover{background:rgba(255,255,255,.08)}
.mobile-menu-dropdown.open{display:grid;gap:.18rem}
.mobile-menu-backdrop{display:none}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between}.menu{display:flex;gap:1rem;color:var(--gold)}.header .menu a,.header .btn.mini{color:var(--gold)}.logo{height:72px;display:inline-flex;align-items:center;overflow:visible}.logo img{height:64px;width:auto;max-width:min(240px,42vw);object-fit:contain;display:block}
.hero{position:relative;min-height:calc(100vh - 72px);display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(74,44,29,.18),transparent 40%),radial-gradient(circle at 80% 75%,rgba(232,201,106,.24),transparent 36%),var(--nude)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:0}
#gold-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-inner{position:relative;z-index:2;text-align:center;transform:translateY(-24px)}
.hero-logo{display:block;width:min(700px,84vw);height:auto;margin:.15rem auto .45rem;filter:drop-shadow(0 12px 26px rgba(74,44,29,.22))}
.home-studio-title{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;margin:-.35rem 0 .25rem;padding:.52rem .9rem;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.72);box-shadow:0 12px 24px rgba(74,44,29,.18);color:var(--gold);font-family:"Playfair Display",serif;font-size:1.18rem;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:700;margin:.2rem 0 .35rem}
h1,.title,h2,h3{font-family:"Playfair Display",serif}
h1{font-size:clamp(2.2rem,6vw,5rem);margin:.5rem auto;max-width:12ch}
.sub{font-size:clamp(1.05rem,2.2vw,1.4rem);color:#5f4a3b;max-width:60ch;margin:.2rem auto}.line{color:#7b6554;margin:.12rem 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.95rem 1.35rem;border-radius:999px;background:linear-gradient(120deg,var(--brand),var(--brand-dark));color:#fff;font-weight:700;border:1px solid rgba(232,201,106,.48);box-shadow:0 14px 30px rgba(74,44,29,.32);transition:transform .18s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 18px 34px rgba(74,44,29,.38)}.btn:active{transform:translateY(0);filter:brightness(.98)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn.mini{min-height:38px;padding:.6rem .95rem}
.hero .btn{margin-top:.8rem}
.section{padding:6rem 0;position:relative;scroll-margin-top:76px}.title{font-size:clamp(2rem,4vw,3rem);margin:0 0 1.4rem;scroll-margin-top:86px}
.promo-strip{padding:1.35rem 0;background:linear-gradient(135deg,var(--brand-dark),var(--brand));border-top:1px solid rgba(232,201,106,.55);border-bottom:1px solid rgba(232,201,106,.55)}
.promo-banner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:center;min-height:210px}
.promo-copy{display:grid;gap:.55rem;color:#fff4d2}
.promo-kicker{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;padding:.36rem .7rem;border-radius:999px;background:rgba(232,201,106,.18);border:1px solid rgba(232,201,106,.58);color:var(--gold);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.promo-copy h2{margin:0;color:var(--gold);font-size:clamp(1.75rem,3.6vw,3rem);line-height:1.05}.promo-copy p{max-width:58ch;margin:0;color:#fff4d2;line-height:1.5}
.promo-btn{justify-self:start;background:linear-gradient(135deg,#f6df8a,var(--gold));color:var(--brand-dark);border-color:#fff0b5;box-shadow:0 14px 30px rgba(232,201,106,.28);font-weight:900}
.promo-image{width:100%;height:190px;object-fit:cover;border-radius:16px;border:1px solid rgba(232,201,106,.72);box-shadow:0 18px 38px rgba(42,26,19,.28)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card{background:var(--surface);border:1px solid rgba(232,201,106,.48);border-radius:20px;padding:.9rem;box-shadow:0 14px 28px rgba(74,44,29,.09)}.card img{width:100%;height:230px;object-fit:cover;border-radius:14px}
.section-lead{max-width:60ch;margin:-.65rem 0 1.2rem;color:#5f4a3b;font-size:1.05rem}
.service-catalog{display:grid;grid-template-columns:.9fr 1.25fr;gap:1rem;align-items:stretch}
.service-catalog-media{border-radius:18px;overflow:hidden;border:1px solid rgba(232,201,106,.48);background:var(--surface);min-height:100%}
.service-catalog-media img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.price-panel{display:grid;gap:.85rem}
.reservation-note{padding:1rem;border-radius:16px;border:1px solid rgba(232,201,106,.62);background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:var(--gold);box-shadow:0 16px 34px rgba(74,44,29,.16)}
.reservation-note strong{display:block;margin-bottom:.35rem;font-family:"Playfair Display",serif;font-size:1.28rem}.reservation-note p{margin:0;color:#fff4d2;line-height:1.5}
.price-list{display:grid;gap:.65rem}
.price-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid rgba(232,201,106,.48);border-radius:16px;padding:.9rem 1rem;box-shadow:0 10px 22px rgba(74,44,29,.07)}
.price-item h3{margin:0 0 .18rem;font-size:1.16rem}.price-item p{margin:0;color:#6b5a4a}.price-item span{display:inline-block;margin-top:.38rem;color:#7b6554;font-size:.92rem}.price-item strong{white-space:nowrap;color:var(--brand);font-size:1.14rem}
.service-price-card{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:.85rem}
.service-thumb{width:84px;height:84px;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid rgba(232,201,106,.58);background:var(--cream);box-shadow:0 10px 20px rgba(74,44,29,.1)}
.price-copy{min-width:0}
.price-values{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;text-align:right}.signal-pill{margin-top:0 !important;padding:.28rem .55rem;border-radius:999px;background:rgba(232,201,106,.22);border:1px solid rgba(232,201,106,.62);color:var(--brand) !important;font-weight:800;white-space:nowrap}
.price-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.72);border-radius:18px;padding:1rem;box-shadow:0 16px 34px rgba(74,44,29,.18)}
.price-actions .btn[data-price-confirm]{background:linear-gradient(135deg,#f6df8a,var(--gold));color:var(--brand-dark);border-color:#fff0b5;box-shadow:0 14px 30px rgba(232,201,106,.32);font-weight:900}
.price-actions .btn[data-price-confirm]:hover{box-shadow:0 18px 36px rgba(232,201,106,.42)}
.price-note{margin:0;color:var(--gold);font-weight:700}
.compact-services{padding:2.6rem 0 3.2rem}
.compact-services .title{margin-bottom:.85rem}
.compact-services .service-catalog{display:block}
.compact-services .price-panel{gap:.7rem}
.compact-services .price-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.compact-services .price-item{min-height:112px;padding:.72rem .8rem;border-radius:14px}
.compact-services .service-price-card{grid-template-columns:78px minmax(0,1fr) auto;min-height:128px;padding:.65rem .72rem}
.compact-services .service-thumb{width:78px;height:78px;border-radius:11px}
.compact-services .price-item h3{font-size:1.04rem}
.compact-services .price-item p{font-size:.9rem;line-height:1.32}
.compact-services .price-item span{font-size:.84rem;margin-top:.24rem}
.compact-services .price-item strong{font-size:1.04rem}
.compact-services .signal-pill{font-size:.78rem;padding:.22rem .48rem}
.compact-services .reservation-note{padding:.85rem;border-radius:14px}
.compact-services .reservation-note strong{font-size:1.12rem}
.compact-services .reservation-note p{font-size:.92rem;line-height:1.38}
.compact-services .price-actions{padding:.85rem;border-radius:14px}
.space-showcase{display:grid;gap:1rem}
.space-showcase .section-lead{margin-top:-.9rem}
.location-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:1rem;align-items:stretch;margin-top:.35rem}
.location-copy{display:grid;align-content:start;gap:.55rem;padding:1.1rem;border-radius:18px;border:1px solid rgba(232,201,106,.5);background:linear-gradient(145deg,var(--surface),var(--cream));box-shadow:0 14px 28px rgba(74,44,29,.08)}
.location-pill{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;padding:.34rem .7rem;border-radius:999px;background:rgba(232,201,106,.22);border:1px solid rgba(232,201,106,.62);color:var(--brand);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.location-copy h3{margin:.05rem 0;color:var(--brand);font-size:1.7rem}.location-copy p{margin:0;color:#5f4a3b;line-height:1.5}.location-name{letter-spacing:.04em;text-transform:uppercase}.location-copy .location-address{color:var(--txt);font-size:1.18rem;font-weight:800}
.arrival-tip{display:grid;gap:.38rem;margin-top:.55rem;padding:.78rem;border-radius:14px;background:rgba(74,44,29,.07);border:1px solid rgba(232,201,106,.52)}
.arrival-tip span{color:var(--brand);font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.arrival-tip p{color:#5f4a3b;font-size:.94rem}.arrival-tip a{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;margin-top:.12rem;padding:.48rem .78rem;border-radius:999px;background:var(--brand);border:1px solid rgba(232,201,106,.7);color:var(--gold);font-weight:800;box-shadow:0 10px 18px rgba(74,44,29,.14)}
.map-shell{position:relative;min-height:340px;border-radius:18px;overflow:hidden;border:1px solid rgba(232,201,106,.58);background:var(--cream);box-shadow:0 16px 34px rgba(74,44,29,.12)}
.map-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.84) contrast(1.04)}
.map-label{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);padding:.42rem .7rem;border-radius:999px;background:rgba(255,248,240,.92);border:1px solid rgba(232,201,106,.72);color:var(--brand);font-size:.82rem;font-weight:800;box-shadow:0 10px 20px rgba(74,44,29,.14);pointer-events:none;white-space:nowrap}
.private-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.72);box-shadow:0 14px 28px rgba(74,44,29,.16);color:var(--gold)}
.private-note strong{font-family:"Playfair Display",serif;font-size:1.18rem}.private-note p{margin:0;color:#fff4d2;font-weight:700}
.carousel{position:relative;overflow:hidden}.track{display:flex;gap:18px;transition:transform .65s cubic-bezier(.2,.75,.25,1)}.slide{min-width:100%;padding:0 6px}.slide img{width:100%;height:430px;object-fit:cover;border-radius:20px}
.spotlight-carousel .track{gap:24px;padding:0 8%}
.spotlight-carousel .slide{min-width:68%;padding:0}
.spotlight-carousel .slide img{transform:scale(.92);opacity:.68;transition:transform .55s cubic-bezier(.2,.75,.25,1),opacity .45s}
.spotlight-carousel .slide.active img{transform:scale(1);opacity:1}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(232,201,106,.8);background:var(--surface);cursor:pointer;transition:transform .18s ease,box-shadow .2s ease}.arrow:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 8px 16px rgba(74,44,29,.16)}.prev{left:10px}.next{right:10px}
.dots{display:flex;justify-content:center;gap:.35rem;margin-top:.7rem}.dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--brand)}.dot.active{background:var(--brand)}
.ba{position:relative;max-width:920px;margin:0 auto;border-radius:20px;overflow:hidden}.ba img{display:block;width:100%;height:500px;object-fit:cover}.after{position:absolute;inset:0;width:50%;overflow:hidden}#ba-range{position:absolute;left:4%;width:92%;bottom:12px;accent-color:var(--brand)}
.form{background:linear-gradient(145deg,var(--surface),var(--cream));padding:1rem;border:1px solid rgba(232,201,106,.45);border-radius:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}input,select,textarea{padding:.85rem;border-radius:12px;border:1px solid rgba(74,44,29,.24);background:var(--surface);font:inherit}textarea{width:100%;min-height:118px;resize:vertical;line-height:1.45}.full-field{grid-column:1/-1}
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:center}.about img{width:100%;height:420px;object-fit:cover;object-position:center 30%;border-radius:20px}
.final-cta{background:linear-gradient(140deg,var(--nude),var(--cream))}.cta{background:var(--surface);border:1px solid rgba(232,201,106,.48);border-radius:20px;text-align:center;padding:2.5rem 1rem}
.footer{padding:2.6rem 0;background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:var(--gold);border-top:1px solid rgba(232,201,106,.65)}.foot{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:1.2rem;align-items:center}.foot-col{display:flex;flex-direction:column;justify-content:flex-start}.foot-col p{margin:.2rem 0;color:var(--gold)}.foot-brand{justify-self:start}.foot-contact{justify-self:center;text-align:center}.foot-admin{justify-self:end}.footer-logo{height:86px;max-width:360px;width:auto;display:block;object-fit:contain;margin-bottom:.35rem}.social-links{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.social-links a{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.5rem .8rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(232,201,106,.55);color:var(--gold);font-weight:700}.social-links img{width:18px;height:18px;display:block;object-fit:contain;flex:0 0 auto}.admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.5rem .85rem;border-radius:999px;border:1px solid rgba(232,201,106,.55);background:rgba(255,255,255,.08);color:var(--gold);font-weight:700;transition:background .2s ease,color .2s ease,transform .18s ease}.admin-link:hover{background:var(--gold);color:var(--brand);transform:translateY(-1px)}

.word-reveal .w{display:inline-block;margin-right:.22em;opacity:0;transform:translateY(26px) rotateX(40deg);animation:wordIn .65s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*55ms)}
@keyframes wordIn{to{opacity:1;transform:none}}
.cinematic{opacity:0;transform:perspective(900px) translateY(60px) translateZ(-90px) rotateX(8deg);transition:900ms cubic-bezier(.2,.75,.2,1)}
.cinematic.in{opacity:1;transform:none}

.cursor-dot,.cursor-ring{display:none}

@media (max-width:900px){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}.menu,.desktop-login{display:none}.mobile-menu-toggle{display:grid}.cards,.grid,.about,.foot{grid-template-columns:1fr}.foot-brand,.foot-contact,.foot-admin{justify-self:start;text-align:left}.social-links{justify-content:flex-start}.slide img,.ba img,.about img{height:320px}.spotlight-carousel .track{padding:0 4%}.spotlight-carousel .slide{min-width:84%}}
@media (max-width:900px){.logo img{height:58px;max-width:44vw}}
@media (max-width:900px){
  .foot{gap:1rem;text-align:center}
  .foot-brand,.foot-contact,.foot-admin{justify-self:center;text-align:center;align-items:center}
  .footer-logo{height:68px;max-width:280px;margin:0 auto .5rem}
  .social-links{justify-content:center}
  .social-links a,.admin-link{font-size:.92rem;padding:.5rem .75rem}
}
.booking-shell{max-width:980px}.booking-shell .title{max-width:none;white-space:nowrap;font-size:2.75rem;line-height:1.08}.booking-card{background:var(--surface);border:1px solid rgba(232,201,106,.45);border-radius:20px;padding:1rem;box-shadow:0 14px 30px rgba(42,26,19,.08)}
@media (max-width:900px){.booking-shell .title{font-size:2.2rem}}
@media (max-width:620px){.booking-shell .title{font-size:1.58rem}}
@media (max-width:420px){.booking-shell .title{font-size:1.34rem}}
.stepper{display:flex;gap:.45rem;margin:1rem 0}.step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(74,44,29,.35);color:var(--brand);background:var(--cream);font-weight:700}.step.active{background:var(--brand);color:#fff}
.form-step{display:none}.form-step.active{display:block}.actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.btn.ghost{background:var(--surface);color:var(--brand);border:1px solid rgba(74,44,29,.35);box-shadow:none}.btn.ghost:hover{background:var(--cream);color:var(--brand-dark)}
.slot-title{font-weight:700;margin:.5rem 0}.slots{display:grid;gap:.55rem}.agenda-slot{display:flex;justify-content:space-between;align-items:center;padding:.7rem .85rem;border-radius:12px;border:1px solid rgba(74,44,29,.32);background:var(--surface);color:var(--brand)}.agenda-slot .time{font-weight:700}.agenda-slot .status{font-size:.9rem;color:#786a60}.agenda-slot:hover{transform:translateY(-1px)}.agenda-slot.blocked{background:#e6ded6;border-color:#d1c4b8;color:#8b8178}.agenda-slot.blocked .status{color:#8b8178}.agenda-slot.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.agenda-slot.selected .status{color:#fff}
.booking-service-note{margin-bottom:1rem}.service-select-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.booking-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.25rem 0 .9rem}.booking-service-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:.75rem;align-items:stretch;width:100%;min-height:116px;padding:.65rem;border:1px solid rgba(74,44,29,.24);border-radius:14px;background:var(--surface);color:#3f2b21;text-align:left;cursor:pointer;transition:180ms ease}.booking-service-card:hover{transform:translateY(-1px);border-color:rgba(232,201,106,.78);box-shadow:0 10px 20px rgba(74,44,29,.08)}.booking-service-card.selected{border-color:var(--gold);background:linear-gradient(150deg,var(--surface),var(--cream));box-shadow:0 0 0 2px rgba(232,201,106,.32),0 12px 24px rgba(74,44,29,.1)}.booking-service-card img{width:86px;height:100%;min-height:96px;object-fit:cover;border-radius:10px;border:1px solid rgba(232,201,106,.5);background:var(--cream)}.booking-service-copy{display:grid;gap:.24rem;min-width:0}.booking-service-copy strong{font-family:"Playfair Display",serif;color:var(--brand);font-size:1.12rem;line-height:1.12}.booking-service-copy small{color:#6b5a4a;line-height:1.32}.booking-service-meta{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-top:auto}.booking-service-meta b{color:#2a1a13;font-size:1.02rem}.booking-service-meta em{font-style:normal;font-weight:800;color:var(--brand);padding:.24rem .46rem;border-radius:999px;background:rgba(232,201,106,.2);border:1px solid rgba(232,201,106,.46);white-space:nowrap}
.booking-service-card.disabled{cursor:not-allowed;opacity:.58}.booking-service-card.disabled:hover{transform:none}
.service-summary{display:grid;gap:.2rem;margin:.2rem 0 .9rem;padding:.8rem;border-radius:14px;border:1px solid rgba(232,201,106,.48);background:linear-gradient(150deg,var(--cream),var(--surface))}
.preference-block{display:grid;gap:.45rem;margin:.75rem 0}.preference-block[hidden]{display:none !important}.preference-block label{font-weight:800;color:var(--brand)}.preference-block textarea{min-height:132px}
.decoration-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.decoration-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.75rem;border:1px solid rgba(74,44,29,.2);border-radius:14px;background:var(--surface);cursor:pointer}.decoration-option input{accent-color:var(--brand)}.decoration-option span{display:grid;gap:.12rem}.decoration-option strong{color:var(--brand)}.decoration-option small{color:#6b5a4a;line-height:1.3}.decoration-option em{font-style:normal;font-weight:900;color:var(--brand);white-space:nowrap}.decoration-summary{padding:.7rem .8rem;border-radius:12px;background:rgba(232,201,106,.16);border:1px solid rgba(232,201,106,.55);color:#5f4a3b;font-weight:700}.decoration-summary[hidden],.decoration-unavailable[hidden]{display:none !important}.decoration-disabled .preference-block{opacity:.5;filter:grayscale(1)}.decoration-disabled .decoration-option{cursor:not-allowed;background:#eee8e1;border-color:#d6ccc2;color:#8a7d72}.decoration-disabled .decoration-option strong,.decoration-disabled .decoration-option em{color:#7b7168}.decoration-unavailable{margin:.7rem 0;padding:.75rem;border-radius:12px;border:1px solid #d3c6b9;background:#eee8e1;color:#6f6258;font-weight:800}
.service-summary strong{color:var(--brand);font-family:"Playfair Display",serif;font-size:1.18rem}.service-summary span{font-weight:700;color:#5f4a3b}.service-summary p{margin:.1rem 0 0;color:#6b5a4a}.service-summary .signal-line{font-weight:800;color:var(--brand)}
.minor-fields{margin:.2rem 0 .8rem;padding:.85rem;border-radius:14px;border:1px solid rgba(232,201,106,.55);background:linear-gradient(150deg,var(--cream),var(--surface))}
#address-fields{margin:.15rem 0 .95rem;scroll-margin-top:96px}
#address-fields[hidden]{display:none !important}
#address-fields.is-open{display:block}
@media (max-width:700px){.section{padding:4.2rem 0 7rem}.booking-card{overflow:visible;padding-bottom:1.35rem}#address-fields{scroll-margin-top:88px;margin-bottom:1.2rem}.actions{position:relative;z-index:1}}
.minor-fields[hidden]{display:none !important}.minor-fields label{display:block;margin-bottom:.45rem;color:var(--brand);font-weight:800}.minor-fields input{width:100%}.minor-fields p{margin:.45rem 0 0;color:#6b5a4a;font-size:.92rem}
.calendar-card{border:1px solid rgba(232,201,106,.45);border-radius:14px;padding:.8rem;background:linear-gradient(150deg,var(--surface),var(--cream))}
.agenda-card{border:1px solid rgba(232,201,106,.45);border-radius:14px;padding:.8rem;background:linear-gradient(150deg,var(--surface),var(--cream))}
.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}
.cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid rgba(74,44,29,.35);background:var(--surface);color:var(--brand)}
.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;font-size:.8rem;color:#7b6554;margin-bottom:.35rem}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}
.day-btn{height:36px;border-radius:10px;border:1px solid rgba(74,44,29,.22);background:var(--surface);color:var(--brand);font-weight:700}
.day-btn.blocked{background:#f2f2f2;border-color:#e2e2e2;color:#aaa}
.day-btn.selected{background:var(--brand);color:#fff;border-color:var(--brand)}
.day-empty{height:36px}
.check{display:flex;align-items:center;gap:.45rem;margin:.45rem 0}.check.disabled{opacity:.58;cursor:not-allowed}.check.disabled input{cursor:not-allowed}.health-alert{background:var(--cream);border:1px solid rgba(74,44,29,.3);padding:.7rem;border-radius:12px}
.terms-box{margin:1rem 0 0;padding:1rem;border-radius:16px;border:1px solid rgba(232,201,106,.62);background:linear-gradient(145deg,var(--surface),var(--cream));box-shadow:0 12px 24px rgba(74,44,29,.08)}
.terms-box h3{margin:.05rem 0 .55rem;color:var(--brand);font-size:1.3rem}.terms-box p{margin:.45rem 0;color:#5f4a3b;line-height:1.5}.terms-check{align-items:flex-start;margin-top:.8rem;padding:.75rem;border-radius:12px;background:rgba(232,201,106,.16);border:1px solid rgba(232,201,106,.45);font-weight:800;color:var(--brand)}.terms-check input{width:18px;height:18px;margin-top:.1rem;accent-color:var(--brand)}
.payment-box{display:grid;gap:1rem;padding:1rem;border-radius:16px;border:1px solid rgba(232,201,106,.62);background:linear-gradient(145deg,var(--surface),var(--cream));box-shadow:0 12px 24px rgba(74,44,29,.08)}
.payment-box h3{margin:0;color:var(--brand);font-size:1.3rem}.payment-box p{margin:0;color:#5f4a3b;line-height:1.5}
.payment-policy{padding:.85rem;border-radius:14px;border:1px solid rgba(74,44,29,.24);background:rgba(232,201,106,.14)}.payment-policy strong{display:block;margin-bottom:.28rem;color:var(--brand)}.payment-policy p{font-size:.94rem}
.payment-amount{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.72);color:var(--gold)}
.payment-amount span{font-weight:800}.payment-amount strong{font-size:1.18rem}
.payment-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.payment-breakdown div{display:grid;gap:.28rem;padding:.15rem .35rem}.payment-breakdown span{color:#fff4d2;font-size:.86rem}.payment-breakdown strong{color:var(--gold)}
.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.payment-option{display:flex;gap:.65rem;align-items:flex-start;padding:.85rem;border-radius:14px;border:1px solid rgba(74,44,29,.22);background:var(--surface);cursor:pointer}.payment-option input{margin-top:.2rem;accent-color:var(--brand)}.payment-option span{display:grid;gap:.18rem}.payment-option strong{color:var(--brand)}.payment-option small{color:#6b5a4a}
.payment-details{display:grid;gap:.45rem;padding:.85rem;border-radius:14px;border:1px solid rgba(232,201,106,.5);background:rgba(232,201,106,.14)}.payment-details[hidden]{display:none !important}.payment-details span{font-weight:800;color:var(--brand)}.payment-details strong{font-size:1.08rem;color:#2a1a13}
.proof-field{display:grid;gap:.45rem;font-weight:800;color:var(--brand)}.proof-field span{font-weight:600;color:#6b5a4a}.proof-field input{width:100%}
.preview{display:block;width:100%;max-width:320px;height:180px;object-fit:cover;margin-top:.5rem;border-radius:12px;border:1px solid rgba(232,201,106,.5)}
.modal{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(42,26,19,.38);z-index:99}.modal-card{width:min(520px,100%);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--surface);border:1px solid rgba(232,201,106,.45);border-radius:16px;padding:1.1rem;text-align:center;animation:pop .35s ease-out}.modal-card p{margin:.2rem 0 1rem}
.modal[hidden]{display:none !important}
.price-confirm-modal{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(42,26,19,.5);backdrop-filter:blur(7px);z-index:120}
.price-confirm-modal[hidden]{display:none !important}
.price-confirm-card{width:min(560px,92vw);background:linear-gradient(145deg,var(--surface),var(--cream));border:1px solid rgba(232,201,106,.75);border-radius:18px;padding:1.35rem;text-align:center;box-shadow:0 28px 80px rgba(42,26,19,.32);animation:confirmGrow .32s cubic-bezier(.18,.82,.28,1.18)}
.price-confirm-pill{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.55rem;padding:.38rem .7rem;border-radius:999px;background:rgba(232,201,106,.22);border:1px solid rgba(232,201,106,.6);color:var(--brand);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}
.price-confirm-card h2{margin:.1rem 0 .55rem;color:var(--brand);font-size:clamp(1.55rem,4vw,2.1rem)}.price-confirm-card p{margin:0 auto 1rem;max-width:44ch;color:#5f4a3b}.price-confirm-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
@keyframes confirmGrow{from{opacity:0;transform:scale(.82) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
.auth-overlay{position:fixed;inset:0;background:rgba(42,26,19,.45);display:grid;place-items:center;z-index:120}
.auth-overlay[hidden]{display:none !important}
.auth-card{width:min(460px,92vw);background:var(--surface);border:1px solid rgba(232,201,106,.45);border-radius:16px;padding:1rem}
.auth-card h2{margin:.1rem 0 .4rem}
.mini-btn{min-height:34px;padding:.35rem .6rem;border-radius:10px;border:1px solid rgba(74,44,29,.25);background:var(--surface);cursor:pointer;transition:background .2s ease,border-color .2s ease}.mini-btn:hover{background:var(--cream);border-color:rgba(74,44,29,.4)}
.client-shell{display:grid;gap:1rem}.loyalty-card{display:grid;grid-template-columns:1fr minmax(260px,.42fr);gap:1rem;align-items:stretch;padding:1rem;border-radius:20px;border:1px solid rgba(232,201,106,.55);background:linear-gradient(145deg,var(--surface),var(--cream));box-shadow:0 14px 30px rgba(42,26,19,.08)}.loyalty-copy{display:flex;flex-direction:column;justify-content:center}.loyalty-kicker{display:inline-flex;align-self:flex-start;margin-bottom:.35rem;padding:.28rem .58rem;border-radius:999px;background:rgba(232,201,106,.22);border:1px solid rgba(232,201,106,.58);color:var(--brand);font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.06em}.loyalty-status{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:.85rem}.loyalty-status strong{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem .7rem;border-radius:999px;background:var(--brand);color:var(--gold)}.loyalty-status span{color:#5f4a3b;font-weight:700}.qr-panel{display:grid;justify-items:center;gap:.55rem;padding:1rem;border-radius:16px;border:1px solid rgba(232,201,106,.55);background:#fff}.qr-panel img{width:min(280px,72vw);height:auto;aspect-ratio:1;object-fit:contain;border-radius:12px}.qr-panel strong{color:var(--brand);letter-spacing:.08em;font-size:.95rem}.stamp-card{display:grid;gap:1rem}.stamp-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.stamp-head h2{margin:.05rem 0 .25rem}.stamp-head p{margin:0;color:#6b5a4a;font-weight:700}.stamp-grid{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:.65rem}.stamp{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(74,44,29,.35);background:linear-gradient(145deg,#fff,var(--cream));color:#8a7664;font-weight:800}.stamp.filled{border-style:solid;border-color:rgba(232,201,106,.8);background:linear-gradient(145deg,var(--brand),var(--brand-dark));box-shadow:0 10px 18px rgba(74,44,29,.16)}.stamp img{width:68%;height:68%;object-fit:contain}.history-box h3{margin:.1rem 0 .6rem;color:var(--brand)}
.loyalty-admin-grid{display:grid;grid-template-columns:minmax(280px,.9fr) 1fr;gap:.9rem}.scanner-box,.loyalty-result-box{display:grid;gap:.75rem}.scanner-actions{display:flex;gap:.45rem;flex-wrap:wrap}.scanner-video{width:100%;max-height:320px;border-radius:14px;background:#2f1b12;object-fit:cover;border:1px solid rgba(232,201,106,.55)}.scanner-video[hidden]{display:none !important}.loyalty-admin-card{display:grid;gap:.75rem}.loyalty-progress-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.loyalty-mini-stamps{display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem}.loyalty-mini-stamps .stamp{min-width:28px}.loyalty-mini-stamps .stamp img{width:72%;height:72%}.loyalty-alert{padding:.72rem;border-radius:12px;background:rgba(232,201,106,.18);border:1px solid rgba(232,201,106,.58);color:var(--brand);font-weight:800}
.reward-card[hidden]{display:none !important}.reward-list{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.75rem}.reward-option{display:grid;gap:.45rem;align-content:start;min-height:150px;padding:.85rem;border-radius:14px;border:1px solid rgba(74,44,29,.18);background:linear-gradient(145deg,#fff,var(--cream));box-shadow:0 10px 22px rgba(42,26,19,.06)}.reward-option strong{color:var(--brand);font-family:"Playfair Display",serif;font-size:1.1rem}.reward-option p{margin:0;color:#6b5a4a;line-height:1.4}.reward-option .btn{justify-self:start;margin-top:auto}.reward-status-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:.24rem .55rem;border-radius:999px;border:1px solid rgba(232,201,106,.62);background:rgba(232,201,106,.18);color:var(--brand);font-size:.78rem;font-weight:800}.loyalty-rewards-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:.9rem}.reward-form{display:grid;gap:.55rem}.reward-form textarea{min-height:84px}.reward-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.reward-active-check{font-weight:800;color:var(--brand)}.reward-admin-list{display:grid;gap:.55rem;margin-top:.8rem}.reward-admin-item{display:grid;gap:.42rem;border:1px solid #eadfd2;border-radius:12px;padding:.62rem;background:#fff}.reward-admin-head,.reward-redemption-head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.reward-admin-actions{display:flex;gap:.35rem;flex-wrap:wrap}.reward-redemption-meta{display:grid;gap:.2rem;color:#6b5a4a;font-size:.9rem}.reward-redemption-pending{border-color:rgba(232,201,106,.76) !important;background:#fffaf2 !important}
@keyframes pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@media (max-width:900px){.service-catalog{grid-template-columns:1fr}.service-catalog-media img{min-height:300px}.compact-services .price-list{grid-template-columns:1fr}.compact-services .price-item{min-height:0}.location-card{grid-template-columns:1fr}.map-shell{min-height:300px}.private-note{align-items:flex-start;flex-direction:column}.price-item{align-items:flex-start;flex-direction:column}.price-values{align-items:flex-start;text-align:left}.price-actions{align-items:stretch;flex-direction:column}.price-actions .btn{width:100%}.payment-options{grid-template-columns:1fr}.payment-amount{align-items:flex-start;flex-direction:column}.loyalty-card,.loyalty-admin-grid,.loyalty-rewards-grid,.reward-list,.reward-form-row{grid-template-columns:1fr}.stamp-head{align-items:flex-start;flex-direction:column}.stamp-grid{grid-template-columns:repeat(2,minmax(84px,1fr))}.price-confirm-actions{flex-direction:column}.price-confirm-actions .btn{width:100%}.actions{justify-content:stretch;flex-direction:column}.actions .btn{width:100%}}
@media (max-width:900px){.booking-service-grid{grid-template-columns:1fr}.booking-service-card{grid-template-columns:78px minmax(0,1fr);min-height:112px}.booking-service-card img{width:78px;min-height:92px}.booking-service-meta{align-items:flex-start;flex-direction:column}.booking-service-meta em{white-space:normal}}
@media (max-width:900px){.decoration-options{grid-template-columns:1fr}.decoration-option{grid-template-columns:auto minmax(0,1fr)}.decoration-option em{grid-column:2;justify-self:start}}
@media (max-width:900px){.promo-banner{grid-template-columns:1fr}.promo-image{height:220px}.promo-btn{width:100%}}
@media (max-width:900px){.service-price-card,.compact-services .service-price-card{grid-template-columns:76px minmax(0,1fr);align-items:start}.service-thumb,.compact-services .service-thumb{width:76px;height:76px}.service-price-card .price-values{grid-column:2;align-items:flex-start;text-align:left}}
@media (max-width:420px){.service-price-card,.compact-services .service-price-card{grid-template-columns:1fr}.service-thumb,.compact-services .service-thumb{width:100%;height:158px}.service-price-card .price-values{grid-column:auto}}

@media (max-width:900px){
  .header{z-index:1000}
  .nav{position:relative;justify-content:center;min-height:68px}
  .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:68px;z-index:2}
  .logo img{height:56px;max-width:190px}
  .header-actions{position:absolute;left:0;top:50%;right:auto;transform:translateY(-50%);z-index:3}
  .mobile-menu-toggle{display:grid;width:42px;height:40px;border-radius:12px;background:rgba(255,255,255,.08)}
  .mobile-menu-dropdown{display:grid !important;position:fixed;left:0;right:auto;top:0;width:min(78vw,280px);height:100dvh;min-width:0;padding:1.1rem .85rem 1rem;border-radius:0 24px 24px 0;align-content:start;gap:.35rem;background:linear-gradient(180deg,var(--brand),var(--brand-dark));border:1px solid rgba(232,201,106,.65);border-left:0;box-shadow:18px 0 42px rgba(42,26,19,.34);transform:translateX(-106%);transition:transform .22s ease;z-index:1200}
  .mobile-menu-dropdown.open{transform:translateX(0)}
  .mobile-menu-dropdown a{min-height:44px;padding:.72rem .85rem;border-radius:12px;font-size:.98rem}
  .mobile-menu-logo{display:block;width:118px;height:auto;margin:.25rem auto 1rem;object-fit:contain}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;background:rgba(42,26,19,.42);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1190}
  .mobile-menu-backdrop.open{opacity:1;pointer-events:auto}
}

@media (max-width:900px){
  .mobile-menu-backdrop{display:none !important}
  .mobile-menu-dropdown{display:none !important;position:absolute !important;left:0 !important;right:auto !important;top:calc(100% + 12px) !important;width:210px !important;height:auto !important;min-width:0 !important;padding:.5rem !important;border-radius:14px !important;align-content:start !important;gap:.2rem !important;background:linear-gradient(145deg,var(--brand),var(--brand-dark)) !important;border:1px solid rgba(232,201,106,.65) !important;box-shadow:0 18px 34px rgba(42,26,19,.28) !important;transform:none !important;transition:none !important;z-index:1200 !important}
  .mobile-menu-dropdown.open{display:grid !important;transform:none !important}
  .mobile-menu-logo{display:none !important}
  .mobile-menu-dropdown a{min-height:40px !important;padding:.62rem .78rem !important;border-radius:10px !important;font-size:.96rem !important}
}

/* HEADER MENU FINAL */
.header .nav{position:relative;justify-content:center}
.header .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:72px;z-index:2}
.header .logo img{height:64px;max-width:min(240px,52vw)}
.header-actions{position:absolute;left:0;top:50%;right:auto;transform:translateY(-50%);z-index:3}
.header .menu,.desktop-login{display:none !important}
.mobile-menu-toggle{display:grid !important;width:42px;height:40px;border-radius:12px;background:rgba(255,255,255,.08)}
.mobile-menu-dropdown{display:none !important;position:absolute !important;left:0 !important;right:auto !important;top:calc(100% + 12px) !important;width:210px !important;height:auto !important;min-width:0 !important;padding:.5rem !important;border-radius:14px !important;align-content:start !important;gap:.2rem !important;background:linear-gradient(145deg,var(--brand),var(--brand-dark)) !important;border:1px solid rgba(232,201,106,.65) !important;box-shadow:0 18px 34px rgba(42,26,19,.28) !important;transform:none !important;transition:none !important;z-index:1200 !important}
.mobile-menu-dropdown.open{display:grid !important;transform:none !important}
.mobile-menu-logo,.mobile-menu-backdrop{display:none !important}
.mobile-menu-dropdown a{min-height:40px !important;padding:.62rem .78rem !important;border-radius:10px !important;font-size:.96rem !important;color:var(--gold) !important;font-weight:800 !important}
@media (max-width:900px){.header .logo img{height:56px;max-width:190px}.header .nav{min-height:68px}}

/* HEADER HAMBURGER EDGE FIX */
.header .container.nav{width:100% !important;max-width:none !important;padding:0 1rem !important}
.header-actions{left:1rem !important}
.mobile-menu-dropdown{left:0 !important}
@media (max-width:900px){.header .container.nav{padding:0 .75rem !important}.header-actions{left:.75rem !important}}

/* HEADER DESKTOP LINKS */
.desktop-header-links{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.5rem;z-index:3}
.desktop-header-links .btn{min-height:38px;padding:.6rem .95rem;color:var(--gold)}
@media (max-width:900px){.desktop-header-links{display:none !important}}

.mobile-only-link{display:none !important}
@media (max-width:900px){.mobile-only-link{display:flex !important}}

/* NON HOME HEADER RESET */
body:not(.site-home) .header .container.nav{width:min(1120px,92vw) !important;max-width:none !important;margin:0 auto !important;padding:0 !important}
body:not(.site-home) .header .nav{position:static !important;display:flex !important;align-items:center !important;justify-content:space-between !important;min-height:72px !important}
body:not(.site-home) .header .logo{position:static !important;left:auto !important;top:auto !important;transform:none !important;height:72px !important;z-index:auto !important}
body:not(.site-home) .header .logo img{height:64px !important;width:auto !important;max-width:min(240px,42vw) !important}
body:not(.site-home) .header .menu{display:flex !important}
body:not(.site-home) .header .btn.mini{display:inline-flex !important}
body:not(.site-home) .header-actions,body:not(.site-home) .desktop-header-links,body:not(.site-home) .mobile-menu-toggle,body:not(.site-home) .mobile-menu-dropdown,body:not(.site-home) .mobile-menu-backdrop{display:none !important}
@media (max-width:900px){
  body:not(.site-home) .header .container.nav{width:min(1120px,92vw) !important;padding:0 !important}
  body:not(.site-home) .header .nav{justify-content:space-between !important;min-height:72px !important}
  body:not(.site-home) .header .logo{height:72px !important}
  body:not(.site-home) .header .logo img{height:58px !important;max-width:44vw !important}
  body:not(.site-home) .header .menu{display:none !important}
}

/* HOME HEADER QUICK ICONS */
.site-home .desktop-header-links{display:none !important}
.site-home .header-quick-actions{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.45rem;z-index:4}
.site-home .header-icon-link{width:42px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(232,201,106,.68);background:rgba(255,255,255,.08);color:var(--gold);box-shadow:0 10px 18px rgba(42,26,19,.12)}
.site-home .header-icon-link svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-home .header-icon-link:hover{background:rgba(232,201,106,.14);border-color:rgba(232,201,106,.9)}
@media (max-width:900px){.site-home .header-quick-actions{right:.75rem;gap:.35rem}.site-home .header-icon-link{width:38px;height:38px;border-radius:11px}.site-home .header-icon-link svg{width:19px;height:19px}.site-home .logo img{max-width:145px !important}}
@media (max-width:420px){.site-home .header-quick-actions{gap:.25rem}.site-home .header-icon-link{width:34px;height:36px}.site-home .header-icon-link svg{width:18px;height:18px}.site-home .logo img{max-width:118px !important}}


/* PREMIUM SCROLLBAR */
html{scroll-behavior:smooth;scrollbar-width:auto !important;scrollbar-color:var(--gold) var(--brand-dark) !important}
html,body{overflow-y:auto !important}
html::-webkit-scrollbar{width:14px !important;height:14px !important;background:var(--brand-dark) !important}
body::-webkit-scrollbar{width:14px !important;height:14px !important;background:var(--brand-dark) !important}
html::-webkit-scrollbar-track{background:linear-gradient(180deg,var(--brand-dark),var(--brand)) !important;border-left:1px solid rgba(232,201,106,.35) !important}
body::-webkit-scrollbar-track{background:linear-gradient(180deg,var(--brand-dark),var(--brand)) !important;border-left:1px solid rgba(232,201,106,.35) !important}
html::-webkit-scrollbar-thumb{min-height:90px !important;background:var(--gold) !important;border:3px solid var(--brand-dark) !important;border-radius:999px !important;background-clip:padding-box !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(232,201,106,.35) !important}
body::-webkit-scrollbar-thumb{min-height:90px !important;background:var(--gold) !important;border:3px solid var(--brand-dark) !important;border-radius:999px !important;background-clip:padding-box !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(232,201,106,.35) !important}
html::-webkit-scrollbar-thumb:hover{background:#f6df8a !important}
body::-webkit-scrollbar-thumb:hover{background:#f6df8a !important}
html::-webkit-scrollbar-button,body::-webkit-scrollbar-button{height:12px !important;width:12px !important;background:var(--brand-dark) !important}
html::-webkit-scrollbar-button:vertical:start:decrement,body::-webkit-scrollbar-button:vertical:start:decrement{background:linear-gradient(135deg,transparent 0 45%,var(--gold) 46% 55%,transparent 56%),var(--brand-dark) !important}
html::-webkit-scrollbar-button:vertical:end:increment,body::-webkit-scrollbar-button:vertical:end:increment{background:linear-gradient(315deg,transparent 0 45%,var(--gold) 46% 55%,transparent 56%),var(--brand-dark) !important}
html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner{background:var(--brand-dark) !important}

/* SERVICE RULES BOX */
.service-rules-box{display:grid;gap:.62rem;padding:1rem;border-radius:18px;background:linear-gradient(145deg,#cda17f,#b98361);border:1px solid rgba(74,44,29,.18);box-shadow:0 16px 32px rgba(74,44,29,.14);color:#fffaf4}
.service-rules-box>strong{font-family:"DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em;text-align:center;color:#2a1a13;font-size:1.02rem;font-weight:900}
.service-rules-box ul{display:grid;gap:.5rem;margin:0;padding-left:1.05rem;line-height:1.38;font-weight:700}
.service-rules-box li::marker{color:#fff4d2}
.service-rules-box b{color:#2a1a13;font-weight:900}
.service-rules-fee{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.18rem;padding:.72rem .85rem;border-radius:14px;background:rgba(255,248,240,.26);border:1px solid rgba(255,248,240,.38);color:#2a1a13;font-weight:900}
.service-rules-fee span{text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}.service-rules-fee b{font-size:1.06rem;color:#2a1a13}
@media (max-width:900px){.service-rules-box{padding:.85rem;border-radius:16px}.service-rules-box ul{font-size:.92rem}.service-rules-fee{align-items:flex-start;flex-direction:column;gap:.28rem}}

/* BOOKING 4 STEP LAYOUT */
.booking-subblock{display:grid;gap:.75rem;margin:.85rem 0;padding:.9rem;border-radius:16px;border:1px solid rgba(232,201,106,.45);background:linear-gradient(145deg,rgba(255,248,240,.96),rgba(247,239,231,.92))}
.booking-subblock h3{margin:.05rem 0 .2rem;color:var(--brand);font-size:1.22rem}
.service-choice-block{padding:.75rem;background:transparent;border-color:rgba(232,201,106,.28)}
.preference-choice-block{margin-top:1rem}
.form-step>.sub{margin-top:-.25rem;margin-bottom:.7rem}
@media (max-width:900px){.booking-subblock{padding:.75rem;border-radius:14px}.booking-subblock h3{font-size:1.08rem}.stepper{justify-content:center}}

/* ACCESS MODAL */
.access-modal-card{display:grid;gap:.75rem;text-align:left}.access-modal-card h2{margin:.05rem 0;color:var(--brand)}.access-credentials{display:grid;gap:.28rem;padding:.85rem;border-radius:14px;background:linear-gradient(145deg,var(--cream),var(--surface));border:1px solid rgba(232,201,106,.58)}.access-credentials span{color:#6b5a4a;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.access-credentials strong{color:var(--brand);font-size:1.08rem;word-break:break-word}.access-modal-card .btn{justify-self:end}
@media (max-width:520px){.modal{padding:.85rem}.access-modal-card{width:100%;border-radius:18px;padding:1rem}.access-modal-card .btn{justify-self:stretch;width:100%}}


/* CLIENT AREA POLISH 2026-06-05 */
.client-area{padding:3.1rem 0;background:linear-gradient(180deg,#ead8c8 0%,#f4e7dc 100%)}
.client-area .client-shell{width:min(940px,92vw);gap:.85rem}
.client-area .loyalty-card{grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:.85rem;padding:.9rem;border-radius:16px;background:linear-gradient(145deg,#fff8f0,#f7efe7);box-shadow:0 12px 24px rgba(42,26,19,.07)}
.client-area .loyalty-copy{min-width:0}.client-area .loyalty-kicker{margin-bottom:.32rem;padding:.22rem .52rem;font-size:.68rem;letter-spacing:.04em}.client-area .title{margin:0 0 .35rem;max-width:none;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.05}.client-area .sub{margin:0 0 .25rem;font-size:1rem;line-height:1.35}.client-area .line{max-width:58ch;margin:0;color:#6b5a4a;font-size:.92rem;line-height:1.42}.client-area .loyalty-status{margin-top:.62rem;gap:.45rem}.client-area .loyalty-status strong{min-height:34px;padding:.38rem .62rem;font-size:.92rem}.client-area .loyalty-status span{font-size:.9rem;line-height:1.3}
.client-area .qr-panel{gap:.38rem;padding:.65rem;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}.client-area .qr-panel img{width:min(168px,44vw);border-radius:10px}.client-area .qr-panel strong{font-size:.78rem;letter-spacing:.04em}.client-area .qr-panel .btn{min-height:34px;padding:.45rem .7rem;font-size:.8rem;box-shadow:none}
.client-area .booking-card{padding:.95rem;border-radius:16px}.client-area .stamp-card{gap:.75rem}.client-area .stamp-head{gap:.7rem}.client-area .stamp-head h2{font-size:1.35rem;margin:0 .0 .12rem}.client-area .stamp-head p{font-size:.92rem}.client-area .stamp-head .btn{min-height:36px;padding:.5rem .85rem;box-shadow:none}.client-area .stamp-grid{grid-template-columns:repeat(10,minmax(34px,1fr));gap:.42rem;max-width:620px}.client-area .stamp{width:100%;max-width:46px;justify-self:center;font-size:.82rem;border-color:rgba(74,44,29,.24);box-shadow:none}.client-area .stamp.filled{box-shadow:0 8px 14px rgba(74,44,29,.13)}
.client-area .history-box{padding-top:.65rem;border-top:1px solid rgba(232,201,106,.42)}.client-area .history-box h3{margin:0 0 .5rem;font-size:1.1rem}.client-area .tool-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.client-area .tool-list li{padding:.62rem .72rem;border:1px solid rgba(74,44,29,.12);border-radius:12px;background:#fff;color:#5f4a3b;font-size:.9rem;line-height:1.36}.client-area .tool-list strong{color:var(--brand)}
.client-area .reward-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.client-area .reward-option{min-height:0;padding:.72rem;border-radius:12px;box-shadow:none}.client-area .reward-option strong{font-size:1rem}.client-area .reward-option p{font-size:.9rem}
@media (max-width:700px){.client-area{padding:2rem 0}.client-area .client-shell{width:min(calc(100% - 1rem),620px);gap:.7rem}.client-area .loyalty-card{grid-template-columns:1fr;padding:.75rem}.client-area .title{font-size:1.55rem}.client-area .qr-panel{grid-template-columns:96px minmax(0,1fr);justify-items:start;align-items:center}.client-area .qr-panel img{grid-row:1 / span 2;width:96px}.client-area .qr-panel strong{font-size:.74rem}.client-area .qr-panel .btn{justify-self:start}.client-area .stamp-head{align-items:stretch;flex-direction:row}.client-area .stamp-grid{grid-template-columns:repeat(5,minmax(42px,1fr));gap:.45rem;max-width:none}.client-area .stamp{max-width:48px}.client-area .tool-list,.client-area .reward-list{grid-template-columns:1fr}}


/* CLIENT DASHBOARD 2026-06-05 */
.client-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.client-action-card{display:grid;align-content:start;gap:.18rem;min-height:126px;padding:.82rem;border-radius:16px;border:1px solid rgba(232,201,106,.52);background:linear-gradient(145deg,#fff8f0,#fff);color:var(--txt);text-align:left;box-shadow:0 10px 22px rgba(42,26,19,.06);font:inherit;cursor:pointer}.client-action-card.primary{background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff4d2}.client-action-card.muted{cursor:default}.client-action-card span{width:max-content;max-width:100%;padding:.22rem .48rem;border-radius:999px;background:rgba(232,201,106,.18);border:1px solid rgba(232,201,106,.45);color:var(--brand);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.client-action-card.primary span{color:var(--gold);background:rgba(255,255,255,.08)}.client-action-card strong{margin-top:.12rem;color:var(--brand);font-family:"Playfair Display",serif;font-size:1.18rem;line-height:1.08}.client-action-card.primary strong{color:var(--gold)}.client-action-card small{color:#6b5a4a;line-height:1.32;font-weight:700}.client-action-card.primary small{color:#fff4d2}.client-action-card:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(42,26,19,.1)}.client-action-card.muted:hover{transform:none;box-shadow:0 10px 22px rgba(42,26,19,.06)}
.client-appointments-card{display:grid;gap:.72rem}.client-appointments-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem}.client-appointment-item{display:flex;justify-content:space-between;gap:.65rem;align-items:center;padding:.68rem .75rem;border-radius:13px;border:1px solid rgba(74,44,29,.13);background:#fff}.client-appointment-item div{display:grid;gap:.12rem;min-width:0}.client-appointment-item strong{color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-appointment-item span{color:#6b5a4a;font-size:.9rem;font-weight:700}.client-appointment-item em{font-style:normal;white-space:nowrap;padding:.24rem .5rem;border-radius:999px;background:rgba(232,201,106,.18);border:1px solid rgba(232,201,106,.5);color:var(--brand);font-size:.76rem;font-weight:900}.client-appointments-list .muted{margin:.1rem 0;color:#6b5a4a;font-weight:700}
@media (max-width:820px){.client-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.client-appointments-list{grid-template-columns:1fr}}
@media (max-width:460px){.client-dashboard{grid-template-columns:1fr}.client-action-card{min-height:0}.client-appointment-item{align-items:flex-start;flex-direction:column}.client-appointment-item em{align-self:flex-start}}


/* EVOLUTION API ADMIN */
.evolution-card{gap:.65rem}.evolution-card p{margin:.2rem 0;color:#6b5a4a;font-weight:800}.evolution-card p.evolution-ok{color:#1e6b38}.evolution-qr-wrap{display:grid;justify-items:center;gap:.45rem;padding:.65rem;border-radius:12px;border:1px solid rgba(232,201,106,.55);background:#fff}.evolution-qr-wrap[hidden]{display:none !important}.evolution-qr-wrap img{width:min(230px,70vw);height:auto;border-radius:10px}.evolution-qr-wrap span{color:#5f4a3b;text-align:center;font-size:.88rem;font-weight:700}.evolution-test-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center}.evolution-test-form input{min-width:0}@media (max-width:680px){.evolution-test-form{grid-template-columns:1fr}.evolution-test-form .btn{width:100%}}


/* ACCESS PAGE ANIMATION */
.access-page{min-height:100vh;background:#120d10;color:#fff4d2;overflow-x:hidden}.access-page::selection{background:rgba(232,201,106,.35)}
.access-page .header{display:none}.access-bg{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 20% 30%,rgba(232,201,106,.22) 0%,rgba(74,44,29,.34) 33%,transparent 68%),radial-gradient(circle at 75% 62%,rgba(121,54,62,.5) 0%,transparent 42%),linear-gradient(140deg,#050506 8%,#21130e 45%,#0a0809 92%);transform:scale(1.08);animation:accessBgDrift 9s cubic-bezier(.22,1,.36,1) infinite alternate}#access-particles{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.access-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72));pointer-events:none}
.access-intro-curtain{position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(232,201,106,.2),transparent 44%),linear-gradient(145deg,#050506,#22130e);animation:accessIntroOut 1.35s cubic-bezier(.22,1,.36,1) 1.05s forwards}.access-intro-curtain p{margin:0;color:var(--gold);font-family:"Playfair Display",serif;font-size:clamp(2.6rem,10vw,6.6rem);letter-spacing:.05em;text-align:center;animation:accessBrandPulse 1.15s cubic-bezier(.22,1,.36,1) forwards}.access-topbar{position:fixed;z-index:70;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:rgba(18,13,16,.72);backdrop-filter:blur(10px);border-bottom:1px solid rgba(232,201,106,.18)}.access-brand{display:flex;align-items:center;gap:.7rem;color:var(--gold);font-weight:900;letter-spacing:.03em}.access-brand img{width:42px;height:42px;object-fit:contain}.access-back{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border:1px solid rgba(232,201,106,.42);border-radius:999px;color:#fff4d2;font-weight:800;background:rgba(255,255,255,.06);transition:transform .45s cubic-bezier(.22,1,.36,1),background .45s cubic-bezier(.22,1,.36,1)}.access-back:hover{transform:translateY(-2px);background:rgba(232,201,106,.14)}
.access-stage{position:relative;z-index:4;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:clamp(1rem,5vw,4rem);align-items:center;width:min(1120px,92vw);margin:0 auto;padding:7.5rem 0 4rem}.access-copy{max-width:560px}.access-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;margin:0 0 1rem;color:var(--gold);font-weight:900}.access-title{margin:0 0 1rem;color:#fff4d2;font-family:"Playfair Display",serif;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.93;max-width:10ch}.access-sub{max-width:35ch;margin:0;color:#ead8c8;font-size:clamp(1rem,2vw,1.25rem);line-height:1.58}.split-words .word{display:inline-block;opacity:0;transform:translateY(32px) rotateX(16deg);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.split-words.in-view .word{opacity:1;transform:translateY(0) rotateX(0)}.reveal-depth{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.reveal-depth[data-anim="left"]{transform:translateX(-42px) scale(.98)}.reveal-depth[data-anim="right"]{transform:translateX(42px) scale(.98)}.reveal-depth.in-view{opacity:1;transform:translate(0,0) scale(1)}
.access-panel{position:relative;padding:1px;border-radius:22px;background:linear-gradient(145deg,rgba(232,201,106,.72),rgba(255,255,255,.1),rgba(232,201,106,.24));box-shadow:0 28px 80px rgba(0,0,0,.32);overflow:hidden}.access-panel::before{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent,rgba(232,201,106,.16),transparent);transform:translateX(-30%) rotate(12deg);animation:accessSheen 4.5s cubic-bezier(.22,1,.36,1) infinite}.access-tabs{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.75rem .75rem 0}.access-page .auth-tab{min-height:44px;border-radius:999px;border:1px solid rgba(232,201,106,.34);background:rgba(255,255,255,.07);color:#fff4d2;font-weight:900;cursor:pointer;transition:background .28s ease,color .28s ease,transform .28s ease}.access-page .auth-tab.active{background:var(--gold);color:#21130e;border-color:var(--gold)}.access-page .auth-tab:hover{transform:translateY(-1px)}.access-form-card{position:relative;z-index:2;margin:.75rem;padding:1rem;border-radius:18px;background:rgba(255,248,240,.96);color:var(--txt);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);animation:accessFormIn .55s cubic-bezier(.22,1,.36,1) both}.access-form-card[hidden]{display:none !important}.access-card-head{margin-bottom:.8rem}.access-card-head span{display:inline-flex;margin-bottom:.35rem;padding:.24rem .55rem;border-radius:999px;background:rgba(232,201,106,.22);border:1px solid rgba(232,201,106,.5);color:var(--brand);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.access-card-head h2{margin:0;color:var(--brand);font-size:1.85rem}.access-card-head p{margin:.28rem 0 0;color:#6b5a4a;line-height:1.45}.access-form{display:grid;gap:.62rem;padding:0;background:transparent;border:0;border-radius:0}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:.62rem}.access-form input{width:100%;min-width:0;background:#fff;border-color:rgba(74,44,29,.18)}.access-form .btn{width:100%;margin-top:.15rem;background:linear-gradient(120deg,var(--brand),var(--brand-dark));box-shadow:0 16px 30px rgba(74,44,29,.28)}.access-form.is-submitting .btn{pointer-events:none;filter:brightness(.95);transform:translateY(0) scale(.98)}.access-page .minor-fields{margin:0;padding:.65rem;background:rgba(232,201,106,.12)}
.login-transition{position:fixed;inset:0;z-index:190;display:grid;place-items:center;background:radial-gradient(circle at 50% 32%,rgba(232,201,106,.22),transparent 42%),linear-gradient(145deg,#050506,#22130e);animation:loginFadeIn .35s ease both}.login-transition[hidden]{display:none !important}.login-transition-card{display:grid;justify-items:center;gap:.75rem;color:var(--gold);animation:loginCardIn .65s cubic-bezier(.22,1,.36,1) both}.login-transition-card img{width:min(160px,42vw);height:auto;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.24))}.login-transition-card p{margin:0;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.access-leaving .access-stage,.access-leaving .access-topbar{animation:accessLeave .6s cubic-bezier(.22,1,.36,1) forwards}
@keyframes accessIntroOut{to{opacity:0;visibility:hidden;transform:scale(1.04)}}@keyframes accessBrandPulse{0%{transform:scale(.92);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes accessBgDrift{to{transform:scale(1.14) translate3d(-1.5%,1%,0)}}@keyframes accessSheen{0%,55%{transform:translateX(-60%) rotate(12deg)}100%{transform:translateX(60%) rotate(12deg)}}@keyframes accessFormIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginFadeIn{from{opacity:0}to{opacity:1}}@keyframes loginCardIn{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes accessLeave{to{opacity:0;transform:translateY(-20px) scale(.985);filter:blur(3px)}}
@media (max-width:880px){.access-stage{grid-template-columns:1fr;padding-top:6.6rem;gap:1.3rem}.access-copy{max-width:none}.access-title{max-width:12ch}.access-panel{max-width:560px;width:100%;margin:0 auto}.access-brand span{display:none}.access-brand img{width:48px;height:48px}}@media (max-width:560px){.access-stage{width:min(100% - 1rem,520px);padding-bottom:1.2rem}.access-topbar{padding:.75rem}.access-copy{text-align:left}.access-title{font-size:2.55rem}.access-grid{grid-template-columns:1fr}.access-form-card{margin:.55rem;padding:.78rem}.access-tabs{padding:.55rem .55rem 0}.access-card-head h2{font-size:1.55rem}}@media (prefers-reduced-motion:reduce){.access-bg,.access-intro-curtain,.access-intro-curtain p,.split-words .word,.reveal-depth,.access-panel::before,.access-form-card,.login-transition,.login-transition-card,.access-leaving .access-stage,.access-leaving .access-topbar{animation:none !important;transition:none !important}.access-intro-curtain{display:none !important}.split-words .word,.reveal-depth{opacity:1;transform:none !important}}


/* LOGIN AFTER ANIMATION */
.login-transition{background:radial-gradient(circle at 50% 32%,rgba(232,201,106,.26),transparent 42%),linear-gradient(145deg,#050506,#22130e) !important}.login-transition::before{content:"";position:absolute;inset:-30%;background:linear-gradient(120deg,transparent,rgba(232,201,106,.18),transparent);animation:loginTransitionSheen 1.4s cubic-bezier(.22,1,.36,1) both}.login-transition-card{position:relative;z-index:2}.login-transition-card img{animation:loginLogoPulse 1.25s cubic-bezier(.22,1,.36,1) both}.login-transition-card p::after{content:"";display:inline-block;width:1.6em;text-align:left;animation:loginDots 1s steps(4,end) infinite}
.login-arrival-curtain{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:radial-gradient(circle at 50% 32%,rgba(232,201,106,.24),transparent 42%),linear-gradient(145deg,#050506,#22130e);animation:arrivalIn .35s ease both}.login-arrival-curtain.leaving{animation:arrivalOut .68s cubic-bezier(.22,1,.36,1) forwards}.login-arrival-card{display:grid;justify-items:center;gap:.38rem;color:var(--gold);animation:arrivalCardIn .85s cubic-bezier(.22,1,.36,1) both}.login-arrival-card img{width:min(145px,38vw);height:auto;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.28))}.login-arrival-card span{margin-top:.35rem;color:#fff4d2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}.login-arrival-card strong{font-family:"Playfair Display",serif;color:var(--gold);font-size:clamp(2.4rem,8vw,5rem);line-height:.95}
@keyframes loginTransitionSheen{from{transform:translateX(-45%) rotate(12deg);opacity:0}35%{opacity:1}to{transform:translateX(45%) rotate(12deg);opacity:0}}@keyframes loginLogoPulse{0%{opacity:0;transform:translateY(18px) scale(.86)}58%{opacity:1;transform:translateY(0) scale(1.06)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginDots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}@keyframes arrivalIn{from{opacity:0}to{opacity:1}}@keyframes arrivalOut{to{opacity:0;visibility:hidden;transform:scale(1.04)}}@keyframes arrivalCardIn{from{opacity:0;transform:translateY(26px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ACCESS PAGE - LA MINA MOTION */
.access-page{
  --access-black:#121216;
  --access-off:#f6f2ea;
  --access-gold:#c9a84c;
  --access-wine:#5b1f31;
  --access-text-dark:#1e1a15;
  --access-text-light:#efebe2;
  --access-max:1180px;
  --access-ease:cubic-bezier(0.22,1,0.36,1);
  min-height:100vh;
  margin:0;
  background:var(--access-black);
  color:var(--access-text-light);
  cursor:none;
  overflow-x:hidden;
}
.access-page .intro-curtain{
  position:fixed;
  inset:0;
  z-index:130;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 30%,#d4b7771f 0%,transparent 44%),
    linear-gradient(145deg,#050506,#130f12);
  animation:introOut 1.3s var(--access-ease) 1.1s forwards;
}
.access-page .intro-curtain p{
  margin:0;
  font-family:"Playfair Display",serif;
  color:var(--access-gold);
  max-width:calc(100vw - 2rem);
  font-size:clamp(2rem,9vw,7rem);
  letter-spacing:.05em;
  text-align:center;
  animation:brandPulse 1.2s var(--access-ease) forwards;
}
@keyframes introOut{to{opacity:0;visibility:hidden}}
@keyframes brandPulse{0%{transform:scale(.92);opacity:0}100%{transform:scale(1);opacity:1}}
.access-page .topbar{
  position:fixed;
  z-index:70;
  top:0;
  left:0;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.1rem 1.4rem;
  backdrop-filter:blur(8px);
  background:color-mix(in srgb,#16161b 72%,transparent);
  border-bottom:0;
}
.access-page .topbar a{position:relative}
.access-page .topbar a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:100% 50%;
  transition:transform .4s var(--access-ease);
}
.access-page .topbar a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.access-page .brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  font:600 1.6rem "Playfair Display",serif;
  color:var(--access-gold);
}
.access-page .brand img{width:42px;height:42px;object-fit:contain}
.access-page .access-back{
  display:inline-flex;
  min-height:0;
  align-items:center;
  justify-content:center;
  border:1px solid #ffffff36;
  border-radius:0;
  background:transparent;
  color:#fff;
  padding:.5rem 1rem;
  font:700 .86rem "DM Sans",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none;
}
.access-page .access-back::after{bottom:-6px}
.access-page .access-hero{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:7rem 1.2rem 3rem;
  overflow:clip;
  background:
    radial-gradient(circle at 80% -10%,#c9a84c1f 0%,transparent 36%),
    linear-gradient(165deg,#17171d 0%,#121216 55%,#18141b 100%);
  color:var(--access-text-light);
}
.access-page #heroParticles,
.access-page .hero-overlay,
.access-page .hero-media{
  position:absolute;
  inset:0;
}
.access-page #heroParticles{z-index:2;pointer-events:none}
.access-page .hero-media{
  background:
    radial-gradient(circle at 20% 30%,#8d6c31 0%,#1a1510 36%,transparent 70%),
    radial-gradient(circle at 70% 60%,#7f2945 0%,transparent 40%),
    linear-gradient(140deg,#050506 10%,#191314 45%,#0a0a0a 90%);
  transform:scale(1.08);
}
.access-page .hero-overlay{
  z-index:1;
  background:linear-gradient(180deg,#00000024 0%,#00000078 100%);
}
.access-page .access-hero-content{
  position:relative;
  z-index:4;
  width:100%;
  max-width:var(--access-max);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px);
  gap:clamp(1rem,5vw,4rem);
  align-items:center;
}
.access-page .access-hero-content.reveal-depth{
  animation:accessHeroIn 1.1s var(--access-ease) 1.15s both;
}
.access-page .access-copy{max-width:590px}
.access-page .access-kicker{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  margin:0 0 1rem;
  color:var(--access-gold);
}
.access-page .access-title{
  margin:0 0 1rem;
  font-family:"Playfair Display",serif;
  color:var(--access-text-light);
  font-size:clamp(2.8rem,8vw,6.6rem);
  line-height:.95;
  letter-spacing:.01em;
  max-width:11ch;
}
.access-page .access-sub{
  margin:0;
  max-width:34ch;
  color:#efebe2;
  font-size:clamp(1rem,2.2vw,1.3rem);
  line-height:1.6;
}
.access-page .access-panel{
  position:relative;
  padding:1px;
  border-radius:0;
  background:linear-gradient(145deg,rgba(201,168,76,.72),rgba(255,255,255,.1),rgba(201,168,76,.24));
  box-shadow:0 28px 80px rgba(0,0,0,.32);
  overflow:hidden;
}
.access-page .access-panel.reveal-depth{
  animation:accessPanelIn 1.1s var(--access-ease) 1.35s both;
}
.access-page .access-panel::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(120deg,transparent,rgba(201,168,76,.16),transparent);
  transform:translateX(-30%) rotate(12deg);
  animation:accessSheen 4.5s var(--access-ease) infinite;
}
.access-page .access-tabs{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem;
  padding:.75rem .75rem 0;
}
.access-page .auth-tab{
  min-height:44px;
  border:1px solid rgba(201,168,76,.34);
  border-radius:0;
  background:rgba(255,255,255,.07);
  color:#fff4d2;
  font-weight:900;
  cursor:pointer;
  transition:background .28s ease,color .28s ease,transform .28s ease;
}
.access-page .auth-tab.active{background:var(--access-gold);color:#111;border-color:var(--access-gold)}
.access-page .auth-tab:hover{transform:translateY(-1px)}
.access-page .access-form-card{
  position:relative;
  z-index:2;
  margin:.75rem;
  padding:1rem;
  border-radius:0;
  background:rgba(246,242,234,.96);
  color:var(--access-text-dark);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  animation:accessFormIn .55s var(--access-ease) both;
}
.access-page .access-form-card[hidden]{display:none!important}
.access-page .access-card-head{margin-bottom:.8rem}
.access-page .access-card-head span{
  display:inline-flex;
  margin-bottom:.35rem;
  padding:.24rem .55rem;
  border:1px solid rgba(201,168,76,.5);
  border-radius:0;
  background:rgba(201,168,76,.18);
  color:#5b1f31;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.access-page .access-card-head h2{
  margin:0;
  color:#5b1f31;
  font-family:"Playfair Display",serif;
  font-size:1.85rem;
  line-height:1;
}
.access-page .access-card-head p{margin:.28rem 0 0;color:#6b5a4a;line-height:1.45}
.access-page .access-form{display:grid;gap:.62rem;padding:0;background:transparent;border:0;border-radius:0}
.access-page .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:.62rem}
.access-page .access-form input{
  width:100%;
  min-width:0;
  background:#fff;
  border-color:rgba(30,26,21,.18);
}
.access-page .access-form .btn{
  width:100%;
  margin-top:.15rem;
  border-radius:0;
  background:var(--access-gold);
  color:#111;
  box-shadow:none;
}
.access-page .access-form.is-submitting .btn{pointer-events:none;filter:brightness(.95);transform:translateY(0) scale(.98)}
.access-page .minor-fields{margin:0;padding:.65rem;background:rgba(201,168,76,.12)}
.access-page .cursor-dot,
.access-page .cursor-ring{
  position:fixed;
  top:0;
  left:0;
  display:block;
  pointer-events:none;
  z-index:120;
}
.access-page .cursor-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--access-gold);
  transform:translate(-50%,-50%);
}
.access-page .cursor-ring{
  width:34px;
  height:34px;
  border:1px solid #c9a84c99;
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width .3s var(--access-ease),height .3s var(--access-ease),border-color .3s var(--access-ease);
}
.access-page.cursor-hover .cursor-ring{width:54px;height:54px;border-color:#c9a84ce3}
.access-page .reveal-depth{
  opacity:0;
  transition:transform 1.1s var(--access-ease),opacity 1.1s var(--access-ease),filter 1.1s var(--access-ease);
  filter:blur(4px);
}
.access-page .reveal-depth[data-anim='left']{transform:translate3d(-70px,18px,-100px) rotateY(-8deg)}
.access-page .reveal-depth[data-anim='right']{transform:translate3d(70px,16px,-120px) rotateY(8deg)}
.access-page .reveal-depth[data-anim='up']{transform:translate3d(0,80px,-120px) rotateX(10deg)}
.access-page .reveal-depth[data-anim='scale']{transform:scale(.82) translateZ(-120px)}
.access-page .reveal-depth[data-anim='hero']{transform:translate3d(0,80px,-200px) scale(.94)}
.access-page .reveal-depth.in-view{
  opacity:1;
  transform:translate3d(0,0,0) rotateX(0) rotateY(0) scale(1);
  filter:blur(0);
}
.access-page .split-words .word{
  display:inline-block;
  opacity:0;
  transform:translateY(30px) rotateX(34deg);
  transform-origin:50% 100%;
  transition:transform .8s var(--access-ease),opacity .8s var(--access-ease);
}
.access-page .split-words.words-live .word,
.access-page .split-words.in-view .word{
  opacity:1;
  transform:translateY(0) rotateX(0);
}
.access-page .login-transition{z-index:190}
.access-page .login-transition[hidden]{display:none!important}
.access-page .login-transition{
  background:
    radial-gradient(circle at 50% 30%,#d4b7771f 0%,transparent 44%),
    linear-gradient(145deg,#050506,#130f12)!important;
}
.access-page .login-transition::before{display:none}
.access-leaving .access-hero-content,
.access-leaving .access-topbar{
  animation:accessLeave .6s var(--access-ease) forwards;
}
.login-arrival-curtain{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 30%,#d4b7771f 0%,transparent 44%),
    linear-gradient(145deg,#050506,#130f12);
  animation:arrivalIn .35s ease both;
}
.login-arrival-curtain.leaving{animation:introOut 1.3s var(--access-ease, cubic-bezier(0.22,1,0.36,1)) forwards}
.login-arrival-card{
  display:grid;
  justify-items:center;
  gap:.38rem;
  color:#c9a84c;
  animation:brandPulse 1.2s var(--access-ease, cubic-bezier(0.22,1,0.36,1)) forwards;
}
.login-arrival-card img{width:min(145px,38vw);height:auto;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.28))}
.login-arrival-card span{margin-top:.35rem;color:#efebe2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}
.login-arrival-card strong{font-family:"Playfair Display",serif;color:#c9a84c;font-size:clamp(2.4rem,8vw,5rem);line-height:.95}
@keyframes accessSheen{0%,55%{transform:translateX(-60%) rotate(12deg)}100%{transform:translateX(60%) rotate(12deg)}}
@keyframes accessFormIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes accessHeroIn{from{opacity:0;transform:translate3d(0,80px,-200px) scale(.94);filter:blur(4px)}to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes accessPanelIn{from{opacity:0;transform:translate3d(70px,16px,-120px) rotateY(8deg);filter:blur(4px)}to{opacity:1;transform:translate3d(0,0,0) rotateY(0);filter:blur(0)}}
@keyframes accessLeave{to{opacity:0;transform:translateY(-20px) scale(.985);filter:blur(3px)}}
@media (max-width:880px){
  .access-page{cursor:auto}
  .access-page .cursor-dot,
  .access-page .cursor-ring{display:none}
  .access-page .access-hero{padding-top:6.4rem}
  .access-page .access-hero-content{grid-template-columns:1fr;gap:1.3rem}
  .access-page .access-copy{max-width:none}
  .access-page .access-title{max-width:12ch}
  .access-page .access-panel{max-width:560px;width:100%;margin:0 auto}
  .access-page .access-brand span{display:none}
  .access-page .access-brand img{width:48px;height:48px}
}
@media (max-width:560px){
  .access-page .topbar{padding:.75rem}
  .access-page .access-hero{padding-inline:.5rem;padding-bottom:1.2rem}
  .access-page .access-copy{text-align:left}
  .access-page .access-title{font-size:2.55rem}
  .access-page .access-grid{grid-template-columns:1fr}
  .access-page .access-form-card{margin:.55rem;padding:.78rem}
  .access-page .access-tabs{padding:.55rem .55rem 0}
  .access-page .access-card-head h2{font-size:1.55rem}
}
@media (prefers-reduced-motion:reduce){
  .access-page .intro-curtain,
  .access-page .intro-curtain p,
  .access-page .hero-media,
  .access-page .split-words .word,
  .access-page .reveal-depth,
  .access-page .access-panel::before,
  .access-page .access-form-card,
  .login-arrival-curtain,
  .login-arrival-card,
  .access-leaving .access-hero-content,
  .access-leaving .access-topbar{
    animation:none!important;
    transition:none!important;
  }
  .access-page .intro-curtain{display:none!important}
  .access-page .split-words .word,
  .access-page .reveal-depth{opacity:1;transform:none!important;filter:none!important}
}

/* ACCESS PAGE - LOGIN ANIMATION FROM LA MINA SYSTEM */
.access-page{
  min-height:100vh;
  background:#120d10;
  color:#fff4d2;
  overflow:hidden;
}
.access-page .header,
.access-page .topbar,
.access-page .access-hero,
.access-page .intro-curtain,
.access-page .cursor-dot,
.access-page .cursor-ring{
  display:none!important;
}
.access-page .login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 22% 24%,rgba(232,201,106,.18),transparent 38%),
    radial-gradient(circle at 82% 72%,rgba(74,44,29,.42),transparent 42%),
    linear-gradient(145deg,#120d10,#2f1b12);
  color:#fff4d2;
}
.access-page .login-frame{
  --login-card-height:clamp(570px,76vh,650px);
  position:relative;
  width:min(90vw,580px);
  height:var(--login-card-height);
  min-height:var(--login-card-height);
  display:flex;
  border:1px solid rgba(232,201,106,.5);
  border-radius:46px;
  overflow:hidden;
  background:var(--surface);
  opacity:0;
  transform:translateY(16px);
  animation:loginRevealCard 520ms cubic-bezier(.16,1,.3,1) forwards 80ms;
  transition:width 620ms cubic-bezier(.16,1,.3,1),transform 360ms cubic-bezier(.16,1,.3,1),opacity 220ms ease;
  will-change:width,opacity,transform;
}
.access-page .login-frame.is-login{
  width:min(1040px,100%);
  opacity:1;
  transform:translateY(0);
}
.access-page .login-frame.is-intro-only{
  width:min(90vw,520px);
}
.access-page .login-frame.is-intro-only .login-editorial{
  flex:1 1 100%;
}
.access-page .login-frame.is-intro-only .login-panel{
  flex:0 0 0;
  width:0;
  max-width:0;
  padding:0;
  opacity:0;
  pointer-events:none;
}
@media (min-width:861px){
  .access-page .login-frame.is-intro-only{
    animation:
      loginRevealCard 520ms cubic-bezier(.16,1,.3,1) forwards 80ms,
      loginIntroExpandFrame 620ms cubic-bezier(.16,1,.3,1) forwards 2400ms;
  }
  .access-page .login-frame.is-intro-only .login-editorial{
    animation:loginIntroEditorial 620ms cubic-bezier(.16,1,.3,1) forwards 2400ms;
  }
  .access-page .login-frame.is-intro-only .login-panel{
    animation:loginIntroPanel 620ms cubic-bezier(.16,1,.3,1) forwards 2400ms;
  }
}
.access-page .login-frame.is-authenticating{
  width:min(90vw,490px);
  height:var(--login-card-height);
  min-height:var(--login-card-height);
  border-radius:48px;
  background:var(--brand-dark);
}
.access-page .login-frame.login-shake{
  opacity:1;
  transform:translateY(0);
  animation:loginShake 420ms ease;
}
.access-page .login-editorial{
  position:relative;
  z-index:1;
  flex:1 1 100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  text-align:center;
  padding:44px;
  background:
    radial-gradient(circle at 50% 12%,rgba(232,201,106,.16),transparent 38%),
    linear-gradient(145deg,var(--brand),var(--brand-dark));
  color:#fff4d2;
  transition:flex-basis 620ms cubic-bezier(.16,1,.3,1),opacity 260ms ease,transform 340ms cubic-bezier(.16,1,.3,1);
  will-change:flex-basis,opacity,transform;
  min-width:0;
}
.access-page .login-frame.is-login .login-editorial{flex:0 0 50%}
.access-page .login-frame.is-authenticating .login-editorial,
.access-page .login-frame.is-authenticating .login-panel{
  opacity:0;
  transform:scale(.985);
  pointer-events:none;
}
.access-page .login-logo-wrap{
  width:118px;
  height:118px;
  display:grid;
  place-items:center;
  border:1px solid rgba(232,201,106,.75);
  border-radius:999px;
  background:rgba(255,248,240,.08);
  padding:16px;
  opacity:0;
  animation:loginLogoEntrance 680ms cubic-bezier(.16,1,.3,1) forwards 260ms;
  will-change:opacity,transform;
}
.access-page .login-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  border:0;
  padding:0;
  background:transparent;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));
}
.access-page .login-kicker{
  margin:0 0 18px;
  color:var(--gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
  opacity:0;
  animation:loginRevealText 460ms ease forwards 760ms;
}
.access-page .login-heading{
  max-width:520px;
  font-family:"Playfair Display",serif;
  font-size:clamp(38px,4.8vw,62px);
  line-height:.92;
  margin:0;
  color:#fff4d2;
  opacity:0;
  animation:loginRevealText 460ms ease forwards 900ms;
}
.access-page .login-heading span{
  display:block;
}
.access-page .login-heading span:first-child{
  white-space:nowrap;
}
.access-page .login-loader-track{
  width:min(100%,230px);
  height:2px;
  margin:34px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  opacity:0;
  animation:loginRevealText 320ms ease forwards 1060ms;
}
.access-page .login-loader-fill{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(135deg,var(--gold) 0%,#fff0b5 48%,#b9953e 100%);
  box-shadow:0 0 12px rgba(232,201,106,.36);
  animation:loginFillLoader 820ms cubic-bezier(.4,0,.2,1) forwards 1220ms;
}
.access-page .login-signature{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff4d2;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  opacity:0;
  animation:loginRevealText 420ms ease forwards 1020ms;
}
.access-page .login-signature::before{
  content:"";
  width:42px;
  height:1px;
  background:var(--gold);
}
.access-page .login-panel{
  position:relative;
  z-index:1;
  flex:0 0 0;
  width:0;
  display:flex;
  align-items:center;
  padding:0;
  overflow:hidden;
  opacity:0;
  color:var(--txt);
  background:var(--surface);
  transition:opacity 420ms ease 130ms,flex-basis 620ms cubic-bezier(.16,1,.3,1),width 620ms cubic-bezier(.16,1,.3,1);
  will-change:opacity,flex-basis,width;
  min-width:0;
}
.access-page .login-frame.is-login .login-panel{
  flex-basis:50%;
  width:50%;
  padding:42px;
  opacity:1;
}
.access-page .login-frame.is-login.is-authenticating{
  width:min(90vw,490px);
}
.access-page .login-frame.is-login.is-authenticating .login-editorial,
.access-page .login-frame.is-login.is-authenticating .login-panel{
  opacity:0;
  transform:scale(.985);
  pointer-events:none;
}
.access-page .login-frame.is-login.is-authenticating .login-editorial{
  flex:1 1 100%;
}
.access-page .login-frame.is-login.is-authenticating .login-panel{
  flex-basis:0;
  width:0;
  max-height:0;
  padding:0;
  border-left:0;
}
.access-page .login-card-soft{
  width:100%;
  max-height:calc(var(--login-card-height) - 84px);
  overflow-y:auto;
  padding:30px;
  border:1px solid rgba(232,201,106,.38);
  border-radius:34px;
  background:var(--cream);
  scrollbar-width:thin;
  scrollbar-color:rgba(232,201,106,.78) rgba(74,44,29,.08);
}
.access-page .login-card-soft::-webkit-scrollbar{width:8px}
.access-page .login-card-soft::-webkit-scrollbar-track{background:rgba(74,44,29,.08);border-radius:999px}
.access-page .login-card-soft::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold),var(--brand-soft));border-radius:999px}
.access-page .login-card-soft h2{
  margin:0 0 10px;
  color:var(--brand);
  font-family:"Playfair Display",serif;
  font-size:38px;
}
.access-page .login-card-soft p{
  margin:0 0 18px;
  color:#6b5a4a;
}
.access-page .access-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 22px;
  padding:0;
}
.access-page .auth-tab{
  min-height:44px;
  border:1px solid rgba(232,201,106,.5);
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  font-weight:900;
  cursor:pointer;
  transition:background 180ms ease,color 180ms ease,transform 180ms ease;
}
.access-page .auth-tab.active{
  background:linear-gradient(120deg,var(--brand),var(--brand-dark));
  color:var(--gold);
  border-color:rgba(232,201,106,.75);
}
.access-page .auth-tab:hover{transform:translateY(-1px)}
.access-page .login-form{
  display:grid;
  gap:16px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
}
.access-page .login-field{
  display:grid;
  gap:9px;
  color:var(--brand);
  font-weight:900;
}
.access-page .login-field input,
.access-page .access-form input{
  width:100%;
  min-width:0;
  min-height:54px;
  border-radius:999px;
  border:1px solid rgba(74,44,29,.16);
  padding:0 20px;
  background:#fff;
}
.access-page .login-field input:focus,
.access-page .access-form input:focus{
  border-color:var(--gold);
  outline:0;
  box-shadow:0 0 0 3px rgba(232,201,106,.18);
}
.access-page .login-action{
  min-height:56px;
  border-radius:999px;
  margin-top:4px;
}
.access-page .login-error{
  margin:0 0 14px;
  padding:.75rem .9rem;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(138,31,31,.18);
  color:#8a1f1f;
  font-weight:800;
}
.access-page .login-error[hidden],
.access-page #register-box[hidden],
.access-page #login-box[hidden]{display:none!important}
.access-page .access-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.access-page .minor-fields{
  display:grid;
  gap:.45rem;
  margin:0;
  padding:.75rem;
  border-radius:20px;
  background:rgba(232,201,106,.13);
}
.access-page .minor-fields[hidden]{display:none!important}
.access-page .login-auth-progress{
  --login-auth-split-offset:18px;
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  align-content:center;
  gap:26px;
  opacity:0;
  pointer-events:none;
  transform:scale(.94);
  transition:opacity 460ms ease,transform 620ms cubic-bezier(.16,1,.3,1);
}
.access-page .login-frame.is-authenticating .login-auth-progress{
  opacity:1;
  transform:scale(1);
}
.access-page .login-auth-orb{
  position:relative;
  margin-top:calc(var(--login-auth-split-offset) * -1);
  width:172px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.3),transparent 26%),#fff8f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 32px rgba(232,201,106,.24),0 22px 58px rgba(0,0,0,.3);
}
.access-page .login-auth-orb::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:conic-gradient(from 0deg,rgba(232,201,106,.08),rgba(255,236,178,.98),rgba(232,201,106,.45),rgba(232,201,106,.08));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));
  animation:goldRingSpin 1100ms linear infinite;
  filter:drop-shadow(0 0 15px rgba(232,201,106,.42));
}
.access-page .login-auth-orb::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:inherit;
  border:1px solid rgba(232,201,106,.24);
  box-shadow:inset 0 0 18px rgba(232,201,106,.12);
}
.access-page .login-auth-orb img{
  position:relative;
  z-index:1;
  width:62%;
  height:62%;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(232,201,106,.18)) drop-shadow(0 10px 22px rgba(0,0,0,.14));
}
.access-page .login-auth-welcome{
  margin-top:var(--login-auth-split-offset);
  min-height:32px;
  max-width:min(82vw,430px);
  color:#fff4d2;
  font-size:clamp(1.08rem,2.2vw,1.44rem);
  line-height:1.2;
  font-weight:900;
  text-align:center;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 360ms ease,transform 460ms cubic-bezier(.16,1,.3,1);
}
.access-page .login-frame.is-authorized .login-auth-welcome:not(:empty){
  opacity:1;
  transform:translateY(0);
}
.login-arrival-curtain{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 22% 24%,rgba(232,201,106,.18),transparent 38%),
    radial-gradient(circle at 82% 72%,rgba(74,44,29,.42),transparent 42%),
    linear-gradient(145deg,#120d10,#2f1b12)!important;
  animation:arrivalIn .35s ease both;
}
.login-arrival-curtain.leaving{animation:arrivalOut .68s cubic-bezier(.16,1,.3,1) forwards!important}
.login-arrival-card{
  display:grid;
  justify-items:center;
  gap:.5rem;
  color:var(--gold);
  animation:loginLogoEntrance 680ms cubic-bezier(.16,1,.3,1) both;
}
.login-arrival-card img{
  width:min(150px,38vw);
  height:auto;
  object-fit:contain;
  padding:18px;
  border-radius:50%;
  border:1px solid rgba(232,201,106,.75);
  background:rgba(255,248,240,.08);
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.28));
}
.login-arrival-card span{margin-top:.35rem;color:#fff4d2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}
.login-arrival-card strong{font-family:"Playfair Display",serif;color:var(--gold);font-size:clamp(2.4rem,8vw,5rem);line-height:.95}
@keyframes loginRevealCard{to{opacity:1;transform:translateY(0)}}
@keyframes loginIntroExpandFrame{to{width:min(1040px,100%)}}
@keyframes loginIntroEditorial{to{flex-basis:50%}}
@keyframes loginIntroPanel{to{flex-basis:50%;width:50%;max-width:520px;padding:42px;opacity:1;pointer-events:auto}}
@keyframes loginLogoEntrance{from{opacity:0;transform:scale(.9)}70%{opacity:.88;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes loginRevealText{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes loginFillLoader{to{width:100%}}
@keyframes loginShake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}
@keyframes goldRingSpin{to{transform:rotate(360deg)}}
@media (max-width:860px){
  .access-page{overflow-y:auto;overflow-x:hidden}
  .access-page .login-page{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    width:100vw;
    max-width:100vw;
    min-height:100dvh;
    overflow:visible;
    padding:8px;
  }
  .access-page .login-frame{
    width:min(390px,calc(100vw - 16px))!important;
    max-width:min(390px,calc(100vw - 16px));
    margin-inline:auto;
    height:auto;
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    border-radius:34px;
  }
  .access-page .login-frame.is-login,
  .access-page .login-frame.is-intro-only{width:min(390px,calc(100vw - 16px))!important}
  .access-page .login-frame.is-login{
    min-height:calc(100dvh - 16px);
  }
  .access-page .login-frame.is-intro-only{
    min-height:calc(100dvh - 16px)!important;
  }
  .access-page .login-frame.is-intro-only .login-editorial{
    min-height:calc(100dvh - 16px);
    justify-content:center;
  }
  .access-page .login-frame.is-intro-only .login-panel{
    width:100%!important;
    max-width:100%!important;
    max-height:0!important;
    padding:0!important;
    opacity:0!important;
    overflow:hidden;
    pointer-events:none!important;
  }
  .access-page .login-frame.is-authenticating,
  .access-page .login-frame.is-login.is-authenticating{
    width:min(390px,calc(100vw - 16px))!important;
    max-width:min(390px,calc(100vw - 16px))!important;
    height:auto!important;
    min-height:calc(100dvh - 16px)!important;
    margin-inline:auto!important;
    border-radius:34px!important;
  }
  .access-page .login-frame.is-authenticating .login-auth-progress{
    min-height:calc(100dvh - 16px);
  }
  .access-page .login-editorial{gap:22px;padding:24px 22px 26px}
  .access-page .login-frame.is-login .login-editorial{
    min-height:250px;
    justify-content:center;
    transition:min-height 620ms cubic-bezier(.16,1,.3,1),padding 620ms cubic-bezier(.16,1,.3,1);
  }
  .access-page .login-logo-wrap{
    width:92px;
    height:92px;
    padding:12px;
  }
  .access-page .login-kicker{
    margin-bottom:10px;
    font-size:10px;
  }
  .access-page .login-loader-track{
    margin-top:20px;
    width:min(100%,190px);
  }
  .access-page .login-signature{
    font-size:10px;
  }
  .access-page .login-signature::before{
    width:34px;
  }
  .access-page .login-frame.is-login .login-editorial,
  .access-page .login-frame.is-login .login-panel{
    width:100%;
    flex-basis:auto;
  }
  .access-page .login-panel{
    width:100%;
    min-width:0;
    max-width:100%;
    max-height:0;
    padding:0 20px;
    opacity:0;
    transition:max-height 620ms cubic-bezier(.16,1,.3,1),padding 620ms cubic-bezier(.16,1,.3,1),opacity 420ms ease 130ms;
  }
  .access-page .login-frame.is-login .login-panel{
    max-height:900px;
    padding:14px;
    opacity:1;
  }
  .access-page .login-card-soft{
    max-height:none;
    width:100%;
    min-width:0;
    max-width:100%;
    padding:18px;
    border-radius:24px;
  }
  .access-page .login-heading{
    max-width:none;
    margin-inline:auto;
    font-size:clamp(28px,7.4vw,37px);
    line-height:.94;
    overflow-wrap:normal;
  }
  .access-page .login-card-soft h2{
    font-size:32px;
    margin-bottom:8px;
  }
  .access-page .login-card-soft p{
    margin-bottom:12px;
    font-size:.92rem;
    line-height:1.35;
  }
  .access-page .access-tabs{
    gap:8px;
    margin-bottom:16px;
  }
  .access-page .auth-tab{
    min-height:40px;
  }
  .access-page .login-form{
    gap:11px;
  }
  .access-page .login-field{
    gap:7px;
  }
  .access-page .login-field input,
  .access-page .access-form input{
    min-height:46px;
  }
  .access-page .login-action{
    min-height:48px;
  }
  .access-page .access-grid{grid-template-columns:1fr}
}

/* SCROLLBAR VISIBLE OVERRIDE */
html,body{
  scrollbar-width:auto!important;
  scrollbar-color:var(--gold) var(--brand-dark)!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar{
  width:14px!important;
  height:14px!important;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
*::-webkit-scrollbar-track{
  background:linear-gradient(180deg,var(--brand-dark),var(--brand))!important;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb{
  min-height:86px!important;
  background-color:var(--gold)!important;
  background-image:none!important;
  border:3px solid var(--brand-dark)!important;
  border-radius:999px!important;
  background-clip:padding-box!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(232,201,106,.35)!important;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:hover{
  background-color:#f6df8a!important;
}

/* SCROLLBAR FINAL FIX - VISIBLE DRAG BAR */
html,
body{
  overflow-y:auto!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:auto!important;
  scrollbar-color:var(--gold) var(--brand-dark)!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:16px!important;
  height:16px!important;
  -webkit-appearance:none!important;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html::-webkit-scrollbar-track-piece,
body::-webkit-scrollbar-track-piece{
  background:linear-gradient(180deg,var(--brand-dark),var(--brand))!important;
  border-left:1px solid rgba(232,201,106,.35)!important;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
  min-height:96px!important;
  background:var(--gold)!important;
  border:2px solid var(--brand-dark)!important;
  border-radius:999px!important;
  background-clip:padding-box!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(232,201,106,.35)!important;
}
html::-webkit-scrollbar-thumb:vertical,
body::-webkit-scrollbar-thumb:vertical{
  background:var(--gold)!important;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{
  background:#f6df8a!important;
}
html::-webkit-scrollbar-button,
body::-webkit-scrollbar-button{
  height:14px!important;
  width:16px!important;
  background:var(--brand-dark)!important;
}
html::-webkit-scrollbar-button:vertical:start:decrement,
body::-webkit-scrollbar-button:vertical:start:decrement{
  background:
    linear-gradient(135deg,transparent 0 42%,var(--gold) 43% 57%,transparent 58%),
    var(--brand-dark)!important;
}
html::-webkit-scrollbar-button:vertical:end:increment,
body::-webkit-scrollbar-button:vertical:end:increment{
  background:
    linear-gradient(315deg,transparent 0 42%,var(--gold) 43% 57%,transparent 58%),
    var(--brand-dark)!important;
}

.jms-scroll-track{
  position:fixed;
  z-index:2147483000;
  top:16px;
  right:4px;
  bottom:16px;
  width:8px;
  pointer-events:none;
}
.jms-scroll-thumb{
  position:absolute;
  top:0;
  left:0;
  width:8px;
  min-height:74px;
  border-radius:999px;
  background:var(--gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(232,201,106,.35);
  pointer-events:auto;
  cursor:grab;
}
.jms-scroll-thumb:active,
.jms-scroll-dragging .jms-scroll-thumb{
  cursor:grabbing;
  background:#f6df8a;
}
@media (max-width:899px){
  .jms-scroll-track{display:none!important}
}

.loyalty-feature{
  display:grid;
  grid-template-columns:minmax(260px,.95fr) minmax(280px,1.05fr);
  gap:1rem;
  align-items:stretch;
  margin:.1rem 0 1rem;
  border:1px solid rgba(232,201,106,.55);
  border-radius:16px;
  overflow:hidden;
  background:#fffaf2;
}
.loyalty-feature>img{width:100%;height:100%;min-height:300px;object-fit:cover}
.loyalty-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:1rem 1.1rem 1rem .2rem}
.loyalty-feature-copy h3{margin:0 0 .65rem;color:var(--brand);font-family:"Playfair Display",serif;font-size:1.35rem}
.loyalty-feature-copy p{margin:.28rem 0;color:#5f4a3b;line-height:1.5}
.loyalty-reward-status{margin:0 0 .75rem;color:var(--brand);font-weight:800}
.loyalty-reward-status[hidden]{display:none!important}
@media (max-width:900px){
  .loyalty-feature{grid-template-columns:1fr}
  .loyalty-feature>img{min-height:220px;max-height:340px}
  .loyalty-feature-copy{padding:1rem}
}

body{overflow-y:visible!important}
body::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.loyalty-reader{max-height:none;overflow:hidden;padding:0}
.loyalty-reader[hidden]{display:none!important}
.loyalty-reader video{width:100%!important;height:auto!important;object-fit:cover;border-radius:14px}
.loyalty-reader img{display:none!important}
.client-area .client-qr-art{position:relative;width:min(168px,44vw);aspect-ratio:1}
.client-area .client-qr-art #loyalty-qr{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;border-radius:10px}
.client-area .qr-panel .client-qr-logo{position:absolute;left:50%;top:50%;width:28%;height:28%;padding:3.5%;border-radius:50%;border:1px solid rgba(232,201,106,.78);background:#2f1b12;transform:translate(-50%,-50%);object-fit:contain}
@media (max-width:700px){
  .client-area .client-qr-art{grid-row:1 / span 2;width:96px}
  .client-area .client-qr-art #loyalty-qr{width:100%;height:100%}
}
.client-area .tool-list .client-receipt-item{display:grid;gap:.65rem;align-content:start}
.client-receipt-info{display:grid;gap:.16rem}
.client-receipt-info span{display:block}
.client-area .client-receipt-item .mini-btn{justify-self:start;margin-top:.1rem}

/* Scrollbar cleanup */
html,
body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto!important;
  scrollbar-color:auto!important;
}
.jms-scroll-track,
.jms-scroll-thumb{
  display:none!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  display:initial!important;
  width:12px!important;
  height:12px!important;
  background:transparent!important;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html::-webkit-scrollbar-track-piece,
body::-webkit-scrollbar-track-piece{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
  min-height:48px!important;
  background:rgba(74,44,29,.36)!important;
  border:3px solid transparent!important;
  border-radius:999px!important;
  background-clip:padding-box!important;
  box-shadow:none!important;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{
  background:rgba(74,44,29,.52)!important;
}
html::-webkit-scrollbar-button,
body::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}

/* Mobile access register scroll fix */
.access-page #reg-address-fields{margin-top:0}
.access-page #reg-address-fields[hidden]{display:none!important}
.access-page #reg-address-fields.is-open{display:block}
@media (max-width:860px){
  html,
  body.access-page{
    height:auto!important;
    min-height:100%!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .access-page{
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .access-page .login-page{
    min-height:100dvh!important;
    height:auto!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    padding:8px 8px 72px!important;
  }
  .access-page .login-frame.is-login,
  .access-page .login-frame.is-register-mode,
  .access-page .login-frame.is-register-expanded{
    height:auto!important;
    min-height:calc(100dvh - 16px)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .access-page .login-frame.is-register-mode .login-panel,
  .access-page .login-frame.is-register-expanded .login-panel{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    padding:14px!important;
  }
  .access-page .login-frame.is-register-mode .login-card-soft,
  .access-page .login-frame.is-register-expanded .login-card-soft{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    padding-bottom:32px!important;
  }
  .access-page .login-frame.is-register-mode #register-box,
  .access-page .login-frame.is-register-expanded #register-box,
  .access-page .login-frame.is-register-mode #register-form,
  .access-page .login-frame.is-register-expanded #register-form{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
  }
  .access-page #reg-address-fields{
    overflow:visible!important;
    scroll-margin-top:90px;
  }
}
