/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.absolute{position:absolute}.relative{position:relative}.static{position:static}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.container{width:100%}.m-\[0\.3rem_0_1rem\]{margin:.3rem 0 1rem}.m-\[0\.55rem_0_0\]{margin:.55rem 0 0}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.w-\[98\%\]{width:98%}.w-full{width:100%}.max-w-\[800px\]{max-width:800px}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-\[5px\]{gap:5px}.overflow-hidden{overflow:hidden}.rounded-\[999px\]{border-radius:999px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.p-\[0\.4rem_0\.75rem\]{padding:.4rem .75rem}.p-\[0\.5rem_1\.1rem\]{padding:.5rem 1.1rem}.p-\[0\.45rem_0\.85rem\]{padding:.45rem .85rem}.p-\[0\.85rem\]{padding:.85rem}.p-\[0\.85rem_0\.5rem\]{padding:.85rem .5rem}.p-\[1rem_1\.25rem_1\.5rem\]{padding:1rem 1.25rem 1.5rem}.text-center{text-align:center}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[1\.25rem\]{font-size:1.25rem}.text-\[1\.125rem\]{font-size:1.125rem}.text-\[2\.2rem\]{font-size:2.2rem}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[2rem\]{font-size:2rem}.text-\[3\.5rem\]{font-size:3.5rem}.text-\[clamp\(1\.8rem\,3vw\,2\.4rem\)\]{font-size:clamp(1.8rem,3vw,2.4rem)}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.font-\[var\(--font-display\)\]{--tw-font-weight:var(--font-display);font-weight:var(--font-display)}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.whitespace-nowrap{white-space:nowrap}.text-\[\#4a457e\]{color:#4a457e}.text-\[\#6b66a6\]{color:#6b66a6}.no-underline{text-decoration-line:none}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media not all and (width>=980px){.max-\[980px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (width>=760px){.max-\[760px\]\:flex{display:flex}.max-\[760px\]\:flex-col{flex-direction:column}.max-\[760px\]\:items-stretch{align-items:stretch}.max-\[760px\]\:gap-\[0\.9rem\]{gap:.9rem}.max-\[760px\]\:overflow-visible{overflow:visible}}@media not all and (width>=640px){.max-\[640px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}:root{--font-body:"Nunito", system-ui, sans-serif;--font-display:"Baloo 2", "Nunito", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #ffd666f2}#root{min-height:100dvh}@media (pointer:coarse){a,button,input,textarea,select{touch-action:manipulation}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}[data-theme=lightsandsound]{--color-bg:#18181c;--color-bg-alt:#11111a;--color-primary:#a855f7;--color-secondary:#6b21a8;--color-card:#232136;--color-card-border:#a855f7;--color-accent:#fff;--color-text:#f3f3f7}[data-theme=blueorange]{--color-bg:#e3f0ff;--color-bg-alt:#b3d8fd;--color-primary:#1976d2;--color-secondary:#1565c0;--color-card:#fafdff;--color-card-border:#90caf9;--color-accent:gold;--color-text:#183153}:root{--color-bg:#e3f0ff;--color-bg-alt:#b3d8fd;--color-primary:#1976d2;--color-secondary:#1565c0;--color-card:#fff;--color-card-border:#90caf9;--color-accent:#ffd27a;--color-text:#1976d2}[data-theme=dark]{--color-bg:#0a1833;--color-bg-alt:#14224a;--color-primary:#e0b347;--color-secondary:#f6c453;--color-card:#1a2947;--color-card-border:#f6c453;--color-accent:#f6c453;--color-text:#e6e6f0}[data-theme=playful]{--color-bg:#fff7e6;--color-bg-alt:#ffe8a8;--color-primary:#ff7eb9;--color-secondary:#4ecdc4;--color-card:#fff0f6;--color-card-border:#ffb3c6;--color-accent:#f6e05e;--color-text:#2d2e4a}body{background:var(--color-bg);color:var(--color-text);transition:background .3s,color .3s}html{scroll-behavior:smooth;height:100%}body{height:100%;color:var(--color-text);background-attachment:fixed;background:#000!important}.app-shell{min-height:100dvh;color:var(--color-text);background-attachment:fixed;background:#000!important}@media (pointer:coarse){body,.app-shell{background-attachment:scroll}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:10px auto 0;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.app-main>*{margin:20px}.app-main>:first-child{margin-top:10px}.app-main>:last-child{margin-bottom:0}.hero-title,.services-title,.gallery-title,.contact-form-title,.booking-title,.floating-signup-title,.faq-header h2{font-family:var(--font-display);letter-spacing:.02em}.services-title,.gallery-title,.contact-form-title,.booking-title{color:#6255bd;text-shadow:0 2px #ffffffb8}.app-section{color:#4a457e;background:radial-gradient(circle at 22% 18%,#fffffff5,#ffffff80 24%,#e6f1ff7a 45%,#c1dcff61 66%,#a89bff33 100%),linear-gradient(155deg,#ffffffe6,#eff3ffe0);border:1px solid #fff9;border-radius:1.35rem;padding:1rem 1rem 1.05rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff57,inset -18px -24px 42px #725fc629,inset 14px 12px 24px #ffffff8a,0 14px 34px #1f18422e}@media (width<=767px){#book-us{margin-top:20px}}.back-to-top-wrap{justify-content:center;margin:.85rem 0 .25rem;display:flex}.back-to-top-link{color:#fff;letter-spacing:.02em;background:radial-gradient(circle at 28% 24%,#fff6,#0000 34%),linear-gradient(135deg,#ff8655 0%,#ffc266 100%);border:1px solid #ffffff85;border-radius:999px;padding:.62rem 1.15rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:inset 0 1px #ffffff80,0 10px 22px #fc8b4747}.back-to-top-link:hover{filter:saturate(1.08)brightness(1.03);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff94,0 14px 28px #fc8b4757}@media (width<=768px){.back-to-top-wrap{margin-top:.6rem}.back-to-top-link{padding:.58rem 1rem;font-size:.94rem}}.site-credits{justify-content:center;padding:.4rem 1rem 1.2rem;display:flex}.site-credits-copy{color:#ffffffeb;text-align:center;margin:0;font-size:.9rem;font-weight:600}.site-credits-link{color:#fff5bf;text-underline-offset:3px;text-decoration:underline}.site-credits-link:hover{color:#fff}.site-credits-link:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #ffffffdb}@media (width<=768px){.site-credits{padding:.25rem .85rem 1rem}.site-credits-copy{font-size:.82rem;line-height:1.35}}.app-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#fffc,#ffffff0a 72%);border-radius:50%;width:34%;height:16%;animation:8.5s ease-in-out infinite app-section-glide;position:absolute;top:.8rem;left:1.2rem}.app-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#b2e5ff38,#b2e5ff05 74%);border-radius:50%;width:24%;height:22%;animation:9.5s ease-in-out infinite app-section-glide-secondary;position:absolute;bottom:10%;right:8%}@keyframes app-section-glide{0%{opacity:.92;transform:translate(0,0)scale(1)}50%{opacity:.7;transform:translate(10px,8px)scale(1.05)}to{opacity:.92;transform:translate(0,0)scale(1)}}@keyframes app-section-glide-secondary{0%{opacity:.5;transform:translate(0,0)scale(1)}50%{opacity:.8;transform:translate(-12px,-6px)scale(1.08)}to{opacity:.5;transform:translate(0,0)scale(1)}}@media (width<=768px){.app-section{border-radius:1.1rem;padding:.85rem .85rem .95rem}}@media (prefers-reduced-motion:reduce){.app-section:before,.app-section:after{animation:none}.back-to-top-link{transition:none}}.navbar-inner{justify-content:flex-start;align-items:center;width:100%;max-width:600px;margin-left:0;margin-right:0;display:flex}.navbar{z-index:50;border-bottom:1px solid #ffffff2e;margin-top:0;padding:1rem 0;position:relative;box-shadow:0 10px 28px #1913372e;background:#000!important}.navbar-logo{position:relative}.navbar-logo .navbar-menu{background:linear-gradient(#ffffff2e,#ffffff17);border:1px solid #ffffff24;border-radius:9999px;flex-shrink:1;max-width:70vw;box-shadow:inset 0 1px #ffffff2e,0 10px 24px #1c173d29;gap:.5rem!important;padding:.7rem 1rem!important}.navbar-logo-img{z-index:1;position:relative}.navbar-menu{background:linear-gradient(#ffffff2e,#ffffff17);border:1px solid #ffffff24;border-radius:9999px;box-shadow:inset 0 1px #ffffff2e,0 10px 24px #1c173d29;gap:1.5rem!important;padding:.7rem 2rem!important}.navbar-menu-item{appearance:none;color:var(--color-primary);font-family:var(--font-display);text-align:center;vertical-align:middle;margin:0 .15rem;font-size:1.05rem;font-weight:600;line-height:1.1;transition:color .2s,background .2s,transform .2s;padding:.45rem .85rem!important}.navbar-linklike-button{background:0 0;border:0;margin:0}.navbar-menu-item:focus-visible,.navbar-menu-item:active{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-primary);background:#ffffff24;outline:none;gap:1rem;transform:translateY(-1px)}@media (hover:hover){.navbar-menu-item:hover{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-primary);background:#ffffff24;transform:translateY(-1px)}}.navbar-action-button{color:var(--color-primary);border:1.2px solid var(--color-primary);font-family:var(--font-display);text-align:center;vertical-align:middle;cursor:pointer;box-shadow:none;background:0 0;border-radius:999px;padding:.35rem .85rem;font-size:1.05rem;font-weight:600;line-height:1.1;transition:color .2s,background .2s,box-shadow .2s,transform .2s}.navbar-action-button:hover,.navbar-action-button:focus-visible{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-primary);background:#ffffff24;outline:none;transform:translateY(-1px)}.navbar-hamburger{background:0 0;border:none}.navbar-hamburger-bar{background-color:#fff;border-radius:2px;width:24px;height:2px;transition:transform .25s,opacity .25s;display:block}.navbar-hamburger-bar.open:first-child{transform:translateY(7px)rotate(45deg)}.navbar-hamburger-bar.open:nth-child(2){opacity:0}.navbar-hamburger-bar.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-mobile-menu{background:linear-gradient(#39345ffa,#332e56fa);border-top:1px solid #ffffff14;animation:.2s slide-down;box-shadow:0 18px 36px #14102a3d}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.navbar-mobile-item{appearance:none;color:#f9f6ff;font-family:var(--font-display);text-align:left;font-size:1.15rem;font-weight:700;line-height:1.2;transition:background .15s}.navbar-mobile-item:focus-visible,.navbar-mobile-item:active{color:#fff3bf;background:#ffffff14;outline:none;box-shadow:inset 0 0 0 1px #9966ffe6}@media (hover:hover){.navbar-mobile-item:hover{color:#fff3bf;background:#ffffff14;box-shadow:inset 0 0 0 1px #9966ffe6}}.navbar-mobile-item{width:100%}@media (width<=600px){.navbar-menu,.navbar-action-desktop,.navbar-logo{display:none!important}.navbar-hamburger{display:flex!important}}@media (pointer:coarse){.navbar-menu-item,.navbar-mobile-item,.navbar-action-button,.navbar-hamburger{min-height:44px}}.weather-widget-mobile{min-width:80px!important;max-width:110px!important;height:22px!important;min-height:22px!important;padding:0 4px!important;font-size:8px!important}.weather-widget-mobile h3{font-size:7px!important}.weather-widget-mobile .weather-stats{font-size:8px!important}.weather-widget-mobile .temperature{margin:0 2px 0 0!important;font-size:10px!important}.weather-widget-mobile .location{margin-top:2px!important;font-size:7px!important}.weather-sunny{background:linear-gradient(135deg,#ffe259 0%,#ffa751 100%);box-shadow:0 0 24px #ffdf4640}.weather-cloudy{background:linear-gradient(135deg,#757f9a 0%,#d7dde8 100%);box-shadow:0 0 24px #7882962e}.weather-rainy{background:linear-gradient(135deg,#314755 0%,#26a0da 100%);box-shadow:0 0 24px #26a0da2e}.weather-windy{background:linear-gradient(135deg,#74ebd5 0%,#acb6e5 100%);box-shadow:0 0 24px #74ebd52e}.weather-thunder{background:linear-gradient(135deg,#232526 0%,#414345 100%);box-shadow:0 0 24px #ffff002e}.weather-foggy{background:linear-gradient(135deg,#bdc3c7 0%,#2c3e50 100%);box-shadow:0 0 24px #bdc3c72e}.weather-widget{color:#fff;text-align:left;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(135deg,#1e5799 0%,#2989d8 50%,#7db9e8 100%);border:1px solid #ffffff4d;border-radius:12px;justify-content:space-between;align-items:center;min-width:220px;max-width:340px;height:48px;min-height:48px;margin:0;padding:0 28px;font-family:Helvetica Neue,Arial,sans-serif;display:flex;position:relative;box-shadow:0 0 20px #00b7ff99,inset 0 0 10px #fff3}.weather-widget h3{text-transform:uppercase;letter-spacing:2px;opacity:.9;border-bottom:none;margin-bottom:0;padding-bottom:0;font-size:12px}.weather-stats{font-size:14px;font-weight:700}.temperature{margin:0 8px 0 0;font-size:24px;display:inline-block}.location{letter-spacing:1px;color:#e0f2ff;margin-top:10px;font-size:16px;font-weight:300;display:block}@keyframes glow-pulse{0%{box-shadow:0 0 15px #00b7ff80}50%{box-shadow:0 0 25px #00b7ffcc}to{box-shadow:0 0 15px #00b7ff80}}.weather-widget:hover{animation:2s ease-in-out infinite glow-pulse}.digital-sign{color:#f30;text-transform:uppercase;text-shadow:0 0 5px #f30,0 0 10px #f30;background-color:#000;background-image:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 2px,3px 100%;font-family:Courier New,Courier,monospace}.weather-widget{-webkit-backdrop-filter:blur(10px);letter-spacing:1px;color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:15px 25px;font-family:Orbitron,sans-serif;box-shadow:0 8px 32px #0000005e,0 0 15px #8a2be24d}.weather-excellent{color:#fff;background:linear-gradient(135deg,#1e3a1a 60%,#256029 100%);border-color:#4ade80;box-shadow:0 2px 12px #22c55e2e}.weather-good{color:#222;background:linear-gradient(135deg,#b58104 60%,#facc15 100%);border-color:#fde047;box-shadow:0 2px 12px #facc152e}.weather-fair{color:#fff;background:linear-gradient(135deg,#a34d0e 60%,#fb923c 100%);border-color:#fdba74;box-shadow:0 2px 12px #fb923c2e}.weather-poor{color:#fff;background:linear-gradient(135deg,#7f1d1d 60%,#ef4444 100%);border-color:#f87171;box-shadow:0 2px 12px #ef44442e}.weather-loading{opacity:.7;font-size:2rem}.weather-error{opacity:.6;color:#ffffff80;font-size:1.8rem}.weather-status{text-shadow:0 1px 2px #0003}.weather-score{text-shadow:0 1px 3px #00000040}.weather-meta{text-shadow:0 1px 2px #0003}@media (width<=768px){.weather-widget{gap:.25rem;width:85px;height:85px;top:.8rem;right:.8rem}.weather-score{font-size:1.5rem}.weather-status{font-size:.65rem}.weather-meta{font-size:.6rem}.weather-widget--prompt{width:160px;padding:.55rem}.weather-prompt-text{font-size:.63rem}}@media (prefers-reduced-motion:reduce){.weather-widget{transition:none}}.faq-modal{--faq-origin-screen-x:50vw;--faq-origin-screen-y:64px;z-index:140;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c16389e;place-items:center;animation:.36s forwards faq-backdrop-in;display:grid;position:fixed;inset:0}.faq-modal-closing{animation:.42s forwards faq-backdrop-out}.faq-modal-panel{--faq-general-size:min(88vmin, 820px);width:var(--faq-general-size);height:var(--faq-general-size);transform-origin:var(--faq-origin-x,50%) var(--faq-origin-y,8%);background:radial-gradient(circle at 26% 20%,#fffffff2,#fff6 26%,#dff2ff47 42%,#99cdff33 62%,#7872ff2e 100%),radial-gradient(circle at 78% 82%,#a8e5ff2e,#8a70ff21 65%,#6c4ccc33 100%);border:1px solid #ffffffb8;border-radius:1.5rem;padding:2.7rem 2.15rem 1.8rem;animation:.56s cubic-bezier(.16,1,.3,1) forwards faq-liquid-open;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff61,inset -32px -36px 70px #6a56ba3d,inset 24px 20px 44px #ffffff94,0 30px 80px #14172a57}.faq-modal-panel-circle{border-radius:50%}.faq-content{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;padding:2.7rem 2.15rem 2.1rem;position:relative;overflow:auto}.faq-modal-panel:before,.faq-modal-panel:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.faq-modal-panel:before{filter:blur(1.4px);background:radial-gradient(circle at 30% 40%,#ffffffd6,#ffffff14 72%);width:34%;height:20%;top:8%;left:14%}.faq-modal-panel:after{background:radial-gradient(circle,#a4e4ff5c,#a4e4ff05 74%);width:25%;height:14%;bottom:11%;right:12%}.faq-modal-closing .faq-modal-panel{animation:.42s cubic-bezier(.7,0,.84,0) forwards faq-liquid-close}.faq-modal-goo{z-index:0;pointer-events:none;filter:blur(12px);background:radial-gradient(circle at 15% 20%,#92dfff73,#0000 48%),radial-gradient(circle at 80% 14%,#bfa4ff66,#0000 52%),radial-gradient(circle at 68% 85%,#ffc7a259,#0000 42%);border-radius:56% 44% 52% 48%/44% 61% 39% 56%;animation:4.8s ease-in-out infinite faq-goo-morph;position:absolute;inset:-20px}.faq-liquid-burst{left:var(--faq-origin-screen-x);top:var(--faq-origin-screen-y);pointer-events:none;filter:blur(1px);background:radial-gradient(circle at 30% 30%,#ffffffeb,#aee4ffb8 45%,#a47cff5c 72%,#754bd600 100%);border-radius:50%;width:26px;height:26px;margin-top:-13px;margin-left:-13px;animation:.58s cubic-bezier(.15,1,.31,1) forwards faq-burst-open;position:fixed;transform:scale(.2)}.faq-modal-closing .faq-liquid-burst{animation:.42s cubic-bezier(.74,0,.84,0) forwards faq-burst-close}.faq-close-button{color:#fff;cursor:pointer;z-index:3;background:#3f3a70;border:none;border-radius:999px;width:2.4rem;height:2.4rem;margin-right:2.1rem;font-size:1rem;font-weight:700;position:absolute;top:2rem;right:2rem}@media (pointer:coarse){.faq-close-button{min-width:44px;min-height:44px}}.faq-close-button:focus-visible{box-shadow:0 0 0 4px #ffd666eb}.faq-header h2{color:#6255bd;text-align:center;text-shadow:0 2px #ffffffb8;margin:0;font-size:clamp(1.6rem,2.8vw,2.3rem)}.faq-header p{color:#fff;text-align:center;text-shadow:-1px -1px #1b1634f2,1px -1px #1b1634f2,-1px 1px #1b1634f2,1px 1px #1b1634f2;margin:.4rem 0 1rem;font-size:19px;font-weight:700}.faq-list{gap:.85rem;padding-bottom:.6rem;display:grid}.faq-section{gap:.35rem;display:grid}.faq-section-title{text-align:center;color:#5d5790;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.18rem}.faq-end-spacer{height:clamp(7rem,16vh,11rem)}.faq-item{background:#ffffffd1;border:1px solid #615c9938;border-radius:1rem;padding:.9rem 1rem}.faq-item h4{color:#352d63;margin:0;font-size:1.02rem}.faq-item p{color:#3f4465;margin:.45rem 0 0;line-height:1.45}.faq-mobile-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.7rem;padding-bottom:.2rem;display:flex;overflow:auto hidden}.faq-item-mobile-snap{scroll-snap-align:start;flex:0 0 100%;align-content:start;gap:.35rem;min-height:210px;display:grid}.faq-item-mobile-snap .faq-section-title{margin-bottom:.25rem}@keyframes faq-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes faq-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes faq-liquid-open{0%{opacity:0;border-radius:70% 30% 65% 35%/40% 70% 30% 60%;transform:translateY(-10px)scale(.25)}45%{opacity:1;border-radius:42% 58% 53% 47%/59% 41% 61% 39%;transform:translateY(6px)scale(1.03)}to{opacity:1;border-radius:50%;transform:translateY(0)scale(1)}}@keyframes faq-liquid-close{0%{opacity:1;border-radius:50%;transform:translateY(0)scale(1)}to{opacity:0;border-radius:66% 34% 61% 39%/44% 68% 32% 56%;transform:translateY(4px)scale(.24)}}@keyframes faq-goo-morph{0%{border-radius:56% 44% 52% 48%/44% 61% 39% 56%}50%{border-radius:44% 56% 46% 54%/62% 40% 60% 38%}to{border-radius:56% 44% 52% 48%/44% 61% 39% 56%}}@keyframes faq-burst-open{0%{opacity:.95;transform:scale(.2)}85%{opacity:.42;transform:scale(26)}to{opacity:0;transform:scale(30)}}@keyframes faq-burst-close{0%{opacity:0;transform:scale(30)}35%{opacity:.4;transform:scale(24)}to{opacity:.9;transform:scale(.2)}}@media (width<=768px){.faq-modal-panel{border-radius:1.5rem;width:min(92vw,540px);height:auto;max-height:76vh;padding:1.2rem .8rem .9rem}.faq-content{padding:2.7rem .8rem .7rem}.faq-close-button{margin-right:.5rem;top:.45rem;right:.45rem}.faq-header h2{font-size:1.55rem}.faq-header p{margin:.38rem 0 .72rem;font-size:.98rem}.faq-mobile-scroll{max-height:calc(76vh - 170px);padding-right:.15rem}.faq-item-mobile-snap{min-height:165px}.faq-end-spacer{height:1.1rem}.faq-item{padding:.78rem .82rem}}@media (prefers-reduced-motion:reduce){.faq-modal,.faq-modal-panel,.faq-modal-goo,.faq-liquid-burst,.faq-modal-closing,.faq-modal-closing .faq-modal-panel,.faq-modal-closing .faq-liquid-burst{animation:none}}.hero-content{z-index:1;flex-direction:column;align-items:center;gap:.5rem;min-height:170px;padding:72px .5rem .5rem;display:flex;position:relative}.hero-orb-glow{z-index:0;pointer-events:none;filter:blur(24px)brightness(1.1);opacity:.51;background:radial-gradient(circle,#ffffff8c 0%,#ffffff2e 60%,#ffffff03 100%);border-radius:50%;width:700px;height:170px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero{color:#fff;text-align:center;background:url(/assets/herobackground-16lrxhdL.jpg) 50%/cover no-repeat;border:1px solid #ffffff8c;border-radius:1.5rem;margin:10px 1.5rem 20px 20px;padding:2.5rem 1.5rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff38,inset 0 24px 48px #ffffff14,0 18px 42px #1b143a38}.hero:before{content:"";background:linear-gradient(#39296d2e,#16122c33);position:absolute;inset:0}.hero-weather-cta{color:#2f2a58;background:radial-gradient(circle at 22% 26%,#ffffffd1,#0000 36%),linear-gradient(135deg,#ffe39c 0%,#ffd071 48%,#ffbf54 100%);border-radius:999px;margin-top:1rem;padding:.62rem 1.15rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .2s;display:inline-block;box-shadow:inset 0 1px #ffffffe0,0 10px 20px #27184a42}.hero-weather-cta:hover,.hero-weather-cta:focus-visible{filter:saturate(1.06);outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #fffffff0,0 12px 24px #27184a52}@media (width<=768px){.hero-weather-cta{margin-top:.75rem;padding:.55rem .9rem;font-size:.86rem}}#weatherCard{z-index:999;position:relative}.stage-lights-overlay{pointer-events:none;z-index:3;justify-content:space-between;align-items:flex-start;width:100%;max-width:100%;height:0;padding-left:0;padding-right:0;display:flex;position:absolute;top:0;left:0}.stage-light{opacity:.8;box-sizing:border-box;border:4px solid #181818;border-radius:50%;width:60px;height:60px;margin-top:10px;animation:2.2s infinite alternate stage-light-flash,7s linear infinite stage-light-color;box-shadow:0 0 32px 8px #ffe06699}.stage-light-1{animation-delay:0s,0s}.stage-light-2{animation-delay:.5s,1.4s}.stage-light-3{animation-delay:1s,2.8s}.stage-light-4{animation-delay:1.5s,4.2s}.stage-light-5{animation-delay:2s,5.6s}@keyframes stage-light-flash{0%{opacity:.8;filter:brightness(1.1)}to{opacity:.2;filter:brightness(.7)}}@keyframes stage-light-color{0%{background:radial-gradient(circle,#fffbe6 0%,#ffe066 60%,#ffb700 100%,#0000 100%);box-shadow:0 0 32px 8px #ffe06699}20%{background:radial-gradient(circle,#e6f7ff 0%,#66d9ff 60%,#09f 100%,#0000 100%);box-shadow:0 0 32px 8px #66d9ff99}40%{background:radial-gradient(circle,#ffe6fa 0%,#ff66d9 60%,#f09 100%,#0000 100%);box-shadow:0 0 32px 8px #ff66d999}60%{background:radial-gradient(circle,#e6ffe6 0%,#6f9 60%,#0f9 100%,#0000 100%);box-shadow:0 0 32px 8px #6f99}80%{background:radial-gradient(circle,#fffbe6 0%,#ffe066 60%,#ffb700 100%,#0000 100%);box-shadow:0 0 32px 8px #ffe06699}to{background:radial-gradient(circle,#fffbe6 0%,#ffe066 60%,#ffb700 100%,#0000 100%);box-shadow:0 0 32px 8px #ffe06699}}.search-light-overlay{pointer-events:none;z-index:9999;width:100vw;height:100vh;position:fixed;top:0;left:0}.search-light-beam{filter:blur(1.2px)brightness(1.25);opacity:.93;width:400px;height:100vh;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute}.search-light-beam-purple{clip-path:polygon(45% 0%,55% 0%,100% 100%,0% 100%);filter:blur(.8px)brightness(1.18)contrast(1.18);opacity:.48;pointer-events:none;z-index:9999;background:conic-gradient(from 180deg at 50% 0,#b400ff52 0deg,#b400ff7a 10deg,#b400ff2e 40deg,#0000 70deg 360deg);width:220px;height:160vh;transition:transform .2s cubic-bezier(.4,0,.2,1);position:fixed}.search-light-beam-center{transform-origin:50% 0;top:0;left:50%;transform:translate(-50%)rotate(0)}.services-grid{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2rem 1.2rem;padding:0 1.5rem 2.5rem;display:flex;overflow-x:visible}.service-item{text-align:center;cursor:pointer;width:100%;max-width:320px;font:inherit;color:inherit;appearance:none;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1.5px solid #cfcbe6;border-radius:1.25rem;outline:none;flex-direction:column;align-items:center;min-height:0;margin:0 .5rem 1.5rem;padding:1.1rem .8rem 1rem;transition:transform .25s,box-shadow .25s,background .25s;display:flex;overflow:visible;box-shadow:0 4px 24px #503ca01a,0 1.5px 6px #503ca014}.service-item.is-active{z-index:2;background:linear-gradient(140deg,#fff 0%,#ece9fb 100%);border-color:#a89ee6;transform:translateY(-4px)scale(1.025);box-shadow:0 16px 40px #503ca02e,0 2px 8px #503ca01a}.service-title{color:#4a457e;overflow-wrap:anywhere;width:100%;margin:.4rem 0 0;font-size:1.35rem;font-weight:600}.service-description{color:#6c757d;overflow-wrap:anywhere;-webkit-line-clamp:2;margin:.65rem 0 0;line-height:1.45;display:-webkit-box;overflow:hidden}.service-details{opacity:0;overflow-wrap:anywhere;color:#4e4a77;-webkit-line-clamp:3;-webkit-box-orient:vertical;width:100%;max-height:0;margin:0;line-height:1.5;transition:max-height .26s,opacity .2s,margin-top .2s;display:-webkit-box;overflow:hidden;transform:translateY(0)}.service-book-button{color:#2f2a58;cursor:pointer;background:radial-gradient(circle at 28% 24%,#fffc,#0000 34%),linear-gradient(135deg,#ffe8a8 0%,#ffd27a 48%,#ffbd59 100%);border:none;border-radius:999px;align-self:center;width:clamp(170px,72%,220px);max-width:100%;margin-top:auto;padding:.62rem .95rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .2s;box-shadow:inset 0 1px #ffffffd1,0 8px 16px #cd872e47}.service-book-button:hover,.service-book-button:focus-visible{filter:saturate(1.04);outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffeb,0 10px 18px #cd872e57}.service-item:hover .service-details,.service-item:focus-visible .service-details,.service-item.is-active .service-details{opacity:1;-webkit-line-clamp:unset;max-height:180px;margin-top:.55rem}.service-thumb-wrap{aspect-ratio:1;border:1px solid #6b66a640;border-radius:.75rem;flex:none;width:min(75%,250px);overflow:hidden;box-shadow:0 6px 16px #493f832e}.service-thumb{object-fit:cover;width:100%;height:100%;display:block}.service-item:last-child{margin-right:1.5rem}@media (width<=760px){.service-item{box-sizing:border-box;scroll-snap-align:none;width:min(100%,430px);max-width:430px;min-height:0;aspect-ratio:unset;opacity:1;border-radius:1.1rem;flex:none;margin-inline:auto;padding:1.15rem 1rem 1rem;overflow:visible;transform:none}.service-thumb-wrap{width:min(82%,200px)}.service-title{font-size:1.2rem}.service-description{-webkit-line-clamp:unset;overflow-wrap:anywhere;width:100%;display:block;overflow:visible}.service-details{-webkit-line-clamp:unset;overflow-wrap:anywhere;width:100%;max-height:none;display:block;overflow:visible}.service-item:hover,.service-item:focus-visible{transform:none}.service-item.is-active{background:linear-gradient(140deg,#fff 0%,#ece9fb 100%);transform:scale(1.01);box-shadow:0 15px 35px #00000026}.service-item.is-active .service-details{opacity:1;max-height:none}.service-book-button{align-self:center;width:auto;max-width:100%;margin-top:.8rem;padding-inline:1rem}}@media (width<=430px){.service-item{width:100%;max-width:100%;padding:1rem .85rem .9rem}.service-title{font-size:1.1rem}.service-description,.service-details{font-size:.95rem;line-height:1.4}.service-book-button{padding:.55rem .9rem;font-size:.92rem}}.gallery-subtitle{text-shadow:none}.booking-input,.booking-select{background:linear-gradient(#ffffffeb,#f3f6ffeb);border:1px solid #b7c2ebbf;border-radius:.85rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s,box-shadow .3s,background .3s,transform .2s;box-shadow:inset 0 1px #fffc,inset 0 -8px 16px #8b98d614}.booking-conversion-strip{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.85rem 0 1.1rem;display:flex}.booking-conversion-pill{color:#3f3a74;background:#ebeeffe6;border:1px solid #a19cd999;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.booking-conversion-pill--notice{color:#7c5000;background:#fff4c8f0;border-color:#eab22780}.booking-input:focus,.booking-select:focus{background:#fffffffa;border-color:#6b66a6b8;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #6b66a61f,inset 0 1px #ffffffeb}.booking-button{color:#fff;cursor:pointer;background:radial-gradient(circle at 30% 24%,#ffffff59,#0000 32%),linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);border:none;border-radius:999px;width:100%;margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:inset 0 1px #ffffff59,0 10px 24px #ee5a2442}.booking-button:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff6b,0 14px 28px #ff6b6b52}.booking-note{text-align:center;color:#6c757d;margin-top:1rem;font-size:.875rem;font-style:italic}.booking-status{color:#4a457e;text-align:center;background:#f0efff;border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem}.booking-status--success{color:#065f46;background:#d1fae5}.booking-status--error{color:#991b1b;background:#fee2e2}.booking-input--available{background:linear-gradient(#f0fff7f5,#def8ebf5);border-color:#22a05fa6;box-shadow:inset 0 1px #ffffffe6,inset 0 -8px 16px #22a05f24}.booking-input--available:focus{border-color:#22a05fd9;box-shadow:0 0 0 4px #22a05f33,inset 0 1px #ffffffeb}.booking-input--unavailable{background:linear-gradient(#fff2f4f7,#ffe2e7f7);border-color:#c82f47bf;box-shadow:inset 0 1px #ffffffe6,inset 0 -8px 16px #c82f4729}.booking-input--unavailable:focus{border-color:#c82f47e6;box-shadow:0 0 0 4px #c82f4733,inset 0 1px #ffffffeb}.booking-availability-check{color:#6b66a6;margin-top:.25rem;font-size:.82rem}.booking-availability-available{color:#13643c;margin-top:.25rem;font-size:.82rem}.booking-availability-unavailable{color:#991b1b;margin-top:.25rem;font-size:.82rem}.booking-input[type=textarea],textarea.booking-input{resize:vertical;min-height:80px;font-family:inherit}.cal-picker{background:linear-gradient(#fffffff5,#f6f8fff5);border:1px solid #b7c2ebbf;border-radius:.85rem;padding:1rem .75rem .85rem;box-shadow:inset 0 1px #ffffffd9,inset 0 -8px 16px #8b98d612}.cal-picker--native{padding:.85rem}.cal-native-label{color:#6b66a6;margin-bottom:.45rem;font-size:.8rem;font-weight:700;display:block}.cal-native-input{color:#4a457e;background:#fff;border:1px solid #b7c2ebcc;border-radius:.75rem;width:100%;padding:.68rem .78rem;font-family:inherit;font-size:1rem}.cal-native-input:focus{border-color:#6b66a6b8;outline:none;box-shadow:0 0 0 3px #6b66a624}.cal-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.cal-month-label{color:#4a457e;font-size:1rem;font-weight:700}.cal-nav{cursor:pointer;color:#6b66a6;background:0 0;border:1px solid #b7c2eb99;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.2rem;line-height:1;transition:background .2s;display:flex}.cal-nav:hover:not(:disabled){background:#6b66a61a}.cal-nav:disabled{opacity:.28;cursor:not-allowed}.cal-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.cal-day-label{text-align:center;color:#9b98c2;text-transform:uppercase;letter-spacing:.04em;padding:.3rem 0 .1rem;font-size:.68rem;font-weight:700}.cal-cell{aspect-ratio:1;cursor:pointer;color:#4a457e;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:100%;max-width:2.3rem;margin:0 auto;padding:0;font-family:inherit;font-size:.82rem;font-weight:500;transition:background .15s,transform .12s,box-shadow .15s;display:flex}.cal-cell--blank{pointer-events:none}.cal-cell--past{color:#cac7dc;cursor:not-allowed;pointer-events:none}.cal-cell--checking{color:#a9a6cc;cursor:default;background:#b7c2eb4d;animation:1.4s ease-in-out infinite cal-pulse}.cal-cell--available{color:#186b40;background:#22a05f1f;border-color:#22a05f52}.cal-cell--short-notice{color:#8a5600;background:#ffd05247;border-color:#eca92575}.cal-cell--short-notice:hover:not(:disabled){background:#ffd05266;transform:scale(1.12);box-shadow:0 2px 8px #eca92547}.cal-cell--available:hover:not(:disabled){background:#22a05f3d;transform:scale(1.12);box-shadow:0 2px 8px #22a05f40}.cal-cell--unavailable{color:#b02540;cursor:not-allowed;opacity:.75;background:#c82f4717;border-color:#c82f4738;text-decoration:line-through}.cal-cell--error{color:#a05c07;cursor:not-allowed;opacity:.82;background:#f5a73a1f;border-color:#f5a73a47}.cal-cell--selected{font-weight:700;box-shadow:0 3px 10px #6255bd66;color:#fff!important;background:#6255bd!important;border-color:#6255bd!important}.cal-cell--today:not(.cal-cell--selected){font-weight:700;box-shadow:inset 0 0 0 1.5px #6255bd73}.cal-selected-label{color:#6b66a6;text-align:center;margin-top:.7rem;font-size:.8rem}.cal-selected-label-wrap{margin-top:.7rem}.cal-selected-label-wrap .cal-selected-label{margin-top:0}.cal-selected-status{text-align:center;color:#7b77a9;margin:.35rem 0 0;font-size:.76rem}.cal-selected-status--available{color:#186b40}.cal-selected-note{text-align:center;color:#9a6308;margin:.3rem 0 0;font-size:.74rem}.cal-selected-status--unavailable{color:#b02540}.cal-selected-status--checking{color:#8a88ad}.cal-selected-status--error{color:#a05c07}.cal-selected-status--unknown{color:#6f6b99}.cal-legend{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.65rem;display:flex}.cal-legend-item{color:#8b88b2;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.cal-legend-dot{border-radius:50%;width:.65rem;height:.65rem}.cal-legend-dot--available{background:#22a05f8c;border:1px solid #22a05f80}.cal-legend-dot--short-notice{background:#ffd052b3;border:1px solid #eca92599}.cal-legend-dot--unavailable{background:#c82f4766;border:1px solid #c82f4766}@keyframes cal-pulse{0%,to{opacity:1}50%{opacity:.35}}.floating-signup{right:calc(1rem + var(--safe-right));bottom:calc(1rem + var(--safe-bottom));z-index:60;color:#312f56;background:radial-gradient(circle at 24% 18%,#fffffff0,#ffffff80 26%,#e8f1ff6b 48%,#b1c2ff47 72%,#987cff24 100%),linear-gradient(#fffffff5,#f3f7fff0);border:1px solid #ffffffa8;border-radius:1.2rem;width:min(24rem,100vw - 2rem);margin:20px;padding:1rem;animation:.24s ease-out floating-signup-in;position:fixed;box-shadow:inset 0 0 0 1px #ffffff57,inset -18px -18px 36px #7062bf1f,inset 12px 12px 20px #ffffff7a,0 18px 40px #28225433}@keyframes floating-signup-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floating-signup-close{color:#5f5a89;cursor:pointer;background:#ffffffb3;border:1px solid #7b74b842;border-radius:999px;width:2.3rem;height:2.3rem;font-size:.95rem;position:absolute;top:.7rem;right:.7rem}.floating-signup-close:focus-visible,.floating-signup-button:focus-visible,.floating-signup-later:focus-visible,.floating-signup-input:focus-visible{box-shadow:0 0 0 4px #ffd666eb}.floating-signup-input{background:linear-gradient(#fffffff0,#f3f6fff0);border:1px solid #b7c2ebc7;border-radius:.85rem;padding:.6rem .75rem;font-size:.95rem;box-shadow:inset 0 1px #fffc,inset 0 -8px 16px #8b98d614}.floating-signup-button{color:#fff;cursor:pointer;background:radial-gradient(circle at 30% 24%,#ffffff59,#0000 32%),linear-gradient(135deg,#6b66a6 0%,#4a457e 100%);border:none;border-radius:999px;padding:.6rem .9rem;font-weight:700;box-shadow:inset 0 1px #ffffff59,0 10px 22px #4a457e40}@media (width<=640px){.floating-signup{right:calc(.75rem + var(--safe-right));left:calc(.75rem + var(--safe-left));bottom:calc(.75rem + var(--safe-bottom));width:auto;margin:0}}@media (prefers-reduced-motion:reduce){.floating-signup{animation:none}}@media (pointer:coarse){.floating-signup-button,.floating-signup-close,.floating-signup-later{min-height:44px}}.contact-form-input,.contact-form-textarea{background:linear-gradient(#ffffffeb,#f3f6ffeb);border:1px solid #b7c2ebbf;border-radius:.85rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s,box-shadow .3s,background .3s,transform .2s;box-shadow:inset 0 1px #fffc,inset 0 -8px 16px #8b98d614}.contact-form-input:focus,.contact-form-textarea:focus{background:#fffffffa;border-color:#6b66a6b8;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #6b66a61f,inset 0 1px #ffffffeb}.contact-form-textarea{resize:vertical;min-height:100px}.contact-form-button{color:#fff;cursor:pointer;background:radial-gradient(circle at 30% 24%,#ffffff6b,#0000 32%),linear-gradient(135deg,#ff7a5c 0%,#ffb347 50%,orange 100%);border:none;border-radius:999px;margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:inset 0 1px #fff6,0 10px 24px #ff7a5c52}.contact-form-button:hover{filter:saturate(1.1)brightness(1.05);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff7a,0 14px 28px #ff7a5c66}.contact-form-status{text-align:center;color:#4a457e;background:#f0efffeb;border:1px solid #b0a7e773;border-radius:.85rem;margin:.9rem 0 0;padding:.8rem 1rem;font-size:.92rem}.contact-modal{--contact-origin-screen-x:50vw;--contact-origin-screen-y:64px;z-index:140;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c16389e;place-items:center;animation:.32s forwards contact-backdrop-in;display:grid;position:fixed;inset:0}.contact-modal-closing{animation:.36s forwards contact-backdrop-out}.contact-modal-panel{width:min(86vmin,690px);max-height:88vh;transform-origin:var(--contact-origin-x,50%) var(--contact-origin-y,8%);background:radial-gradient(circle at 26% 20%,#fffffff2,#fff6 26%,#dff2ff47 42%,#99cdff33 62%,#7872ff2e 100%),radial-gradient(circle at 78% 82%,#a8e5ff2e,#8a70ff21 65%,#6c4ccc33 100%);border:1px solid #ffffffb8;border-radius:1.5rem;padding:2.6rem 2rem 1.7rem;animation:.52s cubic-bezier(.16,1,.3,1) forwards contact-liquid-open;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff61,inset -28px -32px 64px #6a56ba3b,inset 22px 18px 36px #ffffff8f,0 26px 70px #14172a52}.contact-modal-panel-circle{border-radius:50%}.contact-modal-closing .contact-modal-panel{animation:.38s cubic-bezier(.7,0,.84,0) forwards contact-liquid-close}.contact-modal-content{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(88vh - 5.5rem);padding:2.7rem 2.05rem 1.25rem;position:relative;overflow:auto}.contact-modal-goo{z-index:0;pointer-events:none;filter:blur(12px);background:radial-gradient(circle at 15% 20%,#92dfff73,#0000 48%),radial-gradient(circle at 80% 14%,#bfa4ff66,#0000 52%),radial-gradient(circle at 68% 85%,#ffc7a259,#0000 42%);border-radius:56% 44% 52% 48%/44% 61% 39% 56%;animation:4.8s ease-in-out infinite contact-goo-morph;position:absolute;inset:-20px}.contact-liquid-burst{left:var(--contact-origin-screen-x);top:var(--contact-origin-screen-y);pointer-events:none;filter:blur(1px);background:radial-gradient(circle at 30% 30%,#ffffffeb,#aee4ffb8 45%,#a47cff5c 72%,#754bd600 100%);border-radius:50%;width:26px;height:26px;margin-top:-13px;margin-left:-13px;animation:.56s cubic-bezier(.15,1,.31,1) forwards contact-burst-open;position:fixed;transform:scale(.2)}.contact-modal-closing .contact-liquid-burst{animation:.38s cubic-bezier(.74,0,.84,0) forwards contact-burst-close}.contact-close-button{color:#fff;cursor:pointer;z-index:3;background:#3f3a70;border:none;border-radius:999px;width:2.4rem;height:2.4rem;font-size:1rem;font-weight:700;position:absolute;top:1.6rem;right:2.25rem}.contact-close-button:focus-visible{box-shadow:0 0 0 4px #ffd666eb}.contact-modal .contact-form{padding:0}.contact-modal .contact-form-title{margin-bottom:.9rem}@keyframes contact-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes contact-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes contact-liquid-open{0%{opacity:0;border-radius:70% 30% 65% 35%/40% 70% 30% 60%;transform:translateY(-10px)scale(.25)}45%{opacity:1;border-radius:42% 58% 53% 47%/59% 41% 61% 39%;transform:translateY(6px)scale(1.03)}to{opacity:1;border-radius:50%;transform:translateY(0)scale(1)}}@keyframes contact-liquid-close{0%{opacity:1;border-radius:50%;transform:translateY(0)scale(1)}to{opacity:0;border-radius:66% 34% 61% 39%/44% 68% 32% 56%;transform:translateY(4px)scale(.24)}}@keyframes contact-goo-morph{0%{border-radius:56% 44% 52% 48%/44% 61% 39% 56%}50%{border-radius:44% 56% 46% 54%/62% 40% 60% 38%}to{border-radius:56% 44% 52% 48%/44% 61% 39% 56%}}@keyframes contact-burst-open{0%{opacity:.95;transform:scale(.2)}85%{opacity:.42;transform:scale(24)}to{opacity:0;transform:scale(28)}}@keyframes contact-burst-close{0%{opacity:0;transform:scale(28)}35%{opacity:.4;transform:scale(22)}to{opacity:.9;transform:scale(.2)}}@media (width<=768px){.contact-modal-panel{border-radius:1.4rem;width:min(94vw,620px);max-height:86vh;padding:1.1rem .75rem .85rem}.contact-modal-content{max-height:calc(86vh - 2.7rem);padding:2.5rem .78rem .7rem}.contact-close-button{top:.55rem;right:.95rem}}@media (prefers-reduced-motion:reduce){.contact-modal,.contact-modal-panel,.contact-modal-goo,.contact-liquid-burst,.contact-modal-closing,.contact-modal-closing .contact-modal-panel,.contact-modal-closing .contact-liquid-burst{animation:none}}@media (pointer:coarse){.contact-close-button{min-width:44px;min-height:44px}}.analytics-consent{z-index:140;background:radial-gradient(circle at 18% 14%,#ffffffa6,#0000 28%),linear-gradient(165deg,#fffffff5,#ecf1fff0);border:1px solid #aba3eca6;border-radius:.95rem;max-width:320px;padding:.75rem .85rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 14px 34px #261c4e3d}.analytics-consent-text{color:#3f3a74;margin:0;font-size:.88rem;font-weight:650;line-height:1.4}.analytics-consent-actions{gap:.5rem;margin-top:.65rem;display:flex}.analytics-consent-button{cursor:pointer;border:none;border-radius:999px;padding:.45rem .75rem;font-weight:700}.analytics-consent-button--allow{color:#2f2a58;background:linear-gradient(135deg,#ffe8a8 0%,#ffd27a 45%,#ffbe58 100%)}.analytics-consent-button--deny{color:#4a457e;background:#e2e8fff2}.analytics-consent-manage{z-index:140;color:#4a457e;cursor:pointer;background:#f1f4fff5;border:1px solid #aba3ecb3;border-radius:999px;padding:.45rem .75rem;font-weight:700;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 20px #261c4e33}.analytics-consent-manage--enabled{color:#1f7248;background:#e2fff0f5;border-color:#2f99628c}@media (width<=768px){.analytics-consent{max-width:none;left:.75rem;right:.75rem}.analytics-consent-actions{flex-direction:column}}.theme-selector{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.theme-btn{background:var(--color-card,#fff);color:var(--color-text,#222);border:1px solid var(--color-card-border,#ccc);cursor:pointer;opacity:.7;border-radius:.7em;margin:0 .1em;padding:.3em .9em;font-weight:500;transition:background .2s,color .2s,opacity .2s}.theme-btn.selected{background:var(--color-primary,#6255bd);color:#fff;opacity:1;border-color:var(--color-primary,#6255bd)}.theme-btn:hover{opacity:1}
