/*! 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-outline-style:solid;--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}}}.\@container{container-type:inline-size}.visible{visibility:visible}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.container{width:100%}.m-\[0\.55rem_0_0\]{margin:.55rem 0 0}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.list-item{display:list-item}.table{display:table}.min-h-screen{min-height:100vh}.w-\[90\%\]{width:90%}.w-full{width:100%}.max-w-\[800px\]{max-width:800px}.max-w-\[1300px\]{max-width:1300px}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.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}.list-none{list-style-type:none}.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}.flex-wrap{flex-wrap:wrap}.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}.rounded-\[999px\]{border-radius:999px}.border{border-style:var(--tw-border-style);border-width:1px}.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}.p-\[0\.4rem_0\.75rem\]{padding:.4rem .75rem}.p-\[0\.45rem_0\.85rem\]{padding:.45rem .85rem}.p-\[0\.65rem_1\.5rem\]{padding:.65rem 1.5rem}.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\.7rem\]{font-size:.7rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.56rem\]{font-size:.56rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[1\.25rem\]{font-size:1.25rem}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[2rem\]{font-size:2rem}.text-\[3\.5rem\]{font-size:3.5rem}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-none{--tw-leading:1;line-height:1}.font-\[var\(--font-display\)\]{--tw-font-weight:var(--font-display);font-weight:var(--font-display)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.03em\]{--tw-tracking:.03em;letter-spacing:.03em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.whitespace-nowrap{white-space:nowrap}.text-\[\#4a457e\]{color:#4a457e}.text-\[\#6b66a6\]{color:#6b66a6}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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,)}.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)}.\[xml\:lang\]{xml:lang}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}[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{background:var(--color-bg);height:100%;color:var(--color-text);background-attachment:fixed}.app-shell{background:var(--color-bg);min-height:100dvh;color:var(--color-text);background-attachment:fixed}@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,#ffffffd9 0%,#e6f1ff52 80%,#e6f1ff2e 100%),linear-gradient(90deg,#fffffff2 0%,#eff3ffeb 100%);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: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{background:radial-gradient(circle,#ffffffd9 0%,#e6f1ff52 80%,#e6f1ff2e 100%),linear-gradient(90deg,#fffffff2 0%,#eff3ffeb 100%);border-radius:1.1rem;padding:.85rem .85rem .95rem}}@media (prefers-reduced-motion:reduce){.app-section:after{animation:none}.back-to-top-link{transition:none}}.navbar{z-index:50;background:radial-gradient(circle at 18% 24%,#ffffff2e,#0000 24%),linear-gradient(#4a457eeb,#3f3a70f5);border-bottom:1px solid #ffffff2e;min-height:48px;max-height:64px;margin-top:0;padding:1rem 0;position:relative;overflow:visible;box-shadow:0 10px 28px #1913372e}.navbar-logo{z-index:100;align-items:center;width:128px;max-width:128px;height:48px;max-height:48px;display:flex;position:relative;overflow:visible}.navbar-logo-img{z-index:101;object-fit:contain;width:170px;max-width:none;height:58px;max-height:58px;margin-left:-26px;position:relative;transform:scale(1.2)}.navbar-menu{background:linear-gradient(#ffffff2e,#ffffff17);border:1px solid #ffffff24;border-radius:9999px;box-shadow:inset 0 1px #ffffff2e,0 10px 24px #1c173d29}.navbar-menu-item{appearance:none;color:var(--color-primary);font-family:var(--font-display);text-align:center;vertical-align:middle;font-size:1.35rem;font-weight:700;line-height:1.15;transition:color .2s,background .2s,transform .2s}.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;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.5px 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:.45rem 1.2rem;font-size:1.35rem;font-weight:700;line-height:1.15;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<=768px){.navbar-menu,.navbar-action-desktop{display:none}.navbar-hamburger{display:flex}}@media (pointer:coarse){.navbar-menu-item,.navbar-mobile-item,.navbar-action-button,.navbar-hamburger{min-height:44px}}.hero-rotator-fade{opacity:1;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.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:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero{color:#fff;text-align:center;background:url(/assets/herobackground-B82tZQ6Z.png) 50%/cover no-repeat;border:1px solid #ffffff8c;border-radius:1.5rem;margin:10px 20px 20px;padding:.75rem .8rem;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-title{text-shadow:0 2px 8px #00000061,0 1px #0000002e,0 .5px #0000001f;font-size:2rem!important}.hero-subtitle{text-shadow:0 1.5px 6px #00000052,0 .5px #00000024;font-size:1rem!important}.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}}@media (width<=767px){.weather-widget{display:none!important}}.weather-widget{border:1px solid var(--color-card-border,#cfcbe6);background:var(--color-card,#fff);width:100px;height:100px;color:var(--color-primary,#15305b);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;border-radius:.6rem;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;font-weight:700;transition:all .3s;display:flex;position:absolute;top:1.2rem;right:1.2rem;box-shadow:0 8px 20px #1b143a1f}.weather-widget--prompt{background:var(--color-card,#fff);width:180px;height:auto;color:var(--color-primary,#15305b);align-items:stretch;gap:.5rem;padding:.65rem}.weather-prompt-button{cursor:pointer;color:var(--color-on-accent,#fff);background:var(--color-accent,gold);border:none;border-radius:999px;padding:.32rem .55rem;font-size:.65rem;font-weight:700;box-shadow:0 4px 10px #2a1a501f}.weather-prompt-button--secondary{color:var(--color-primary,#15305b);background:var(--color-bg-alt,#b3d8fd)}.weather-prompt-button:hover{filter:brightness(1.05)}.weather-excellent{background:linear-gradient(135deg,#22c55e66,#16a34a4d);border-color:#4ade8099;box-shadow:inset 0 0 0 1px #4ade804d,inset 0 8px 16px #4ade8014,0 8px 20px #22c55e4d}.weather-good{background:linear-gradient(135deg,#eab30866,#ca8a044d);border-color:#facc1599;box-shadow:inset 0 0 0 1px #facc154d,inset 0 8px 16px #facc1514,0 8px 20px #eab3084d}.weather-fair{background:linear-gradient(135deg,#fb923c66,#ea580c4d);border-color:#fda56199;box-shadow:inset 0 0 0 1px #fda5614d,inset 0 8px 16px #fda56114,0 8px 20px #fb923c4d}.weather-poor{background:linear-gradient(135deg,#ef444466,#b91c1c4d);border-color:#f8717199;box-shadow:inset 0 0 0 1px #f871714d,inset 0 8px 16px #f8717114,0 8px 20px #ef44444d}.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}}.trust-card{text-align:center;background:linear-gradient(120deg,#f7f5ff 60%,#e9f3ff 100%);border:1.5px solid #e0d8f7;border-radius:1.2rem;max-width:540px;margin:.7rem auto 1.2rem;padding:1.1rem 1.5rem 1.2rem;box-shadow:0 4px 24px #503ca01a,0 1.5px 6px #503ca014}.trust-title{color:#4a457e;letter-spacing:.01em;margin-bottom:.5rem;font-size:1.28rem;font-weight:800}.trust-list{text-align:left;color:#2d2a4a;max-width:420px;margin:.5rem auto 0;padding:0;font-size:1.13rem;font-weight:500;list-style:none}.trust-list li{background:#ffffffb3;border-radius:.7rem;align-items:center;gap:.7em;margin-bottom:.45rem;padding:.38rem .1rem;display:flex;box-shadow:0 1px 4px #503ca00a}.trust-icon{flex-shrink:0;margin-right:.3em;font-size:1.25em}.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}@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}}.glass-bg{-webkit-backdrop-filter:blur(8px)saturate(1.2);backdrop-filter:blur(8px)saturate(1.2);background:#ffffff73;border:2.5px solid #e3e0f7;border-radius:1.2rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #503c7821,inset 0 0 0 2px #e3e0f7}.shi-gallery-frame{box-shadow:none}.main-active{background:#ffffff1f;border-radius:1.1rem;transition:box-shadow .32s cubic-bezier(.7,.2,.3,1),transform .32s cubic-bezier(.7,.2,.3,1),opacity .32s cubic-bezier(.7,.2,.3,1);box-shadow:0 0 0 3px #bdb7e6,0 2px 16px #503c781a}.preview-blur{filter:blur(1.1px)grayscale(.18)brightness(.94);opacity:.85;transition:filter .32s cubic-bezier(.7,.2,.3,1),opacity .32s cubic-bezier(.7,.2,.3,1),transform .32s cubic-bezier(.7,.2,.3,1)}.shi-gallery-preview:hover .preview-blur,.shi-gallery-preview:focus .preview-blur{filter:blur(.5px)grayscale(.1)brightness();opacity:1}.slide-left .shi-gallery-main,.slide-left .shi-gallery-img-preview{animation:.32s cubic-bezier(.7,.2,.3,1) slideLeft}.slide-right .shi-gallery-main,.slide-right .shi-gallery-img-preview{animation:.32s cubic-bezier(.7,.2,.3,1) slideRight}@keyframes slideLeft{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.shi-gallery>h2{text-align:center;width:100%}.gallery-subtitle{text-shadow:none}.shi-gallery{padding:0}.shi-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.shi-gallery-item{background:#f8f8f8;border-radius:8px;flex-direction:column;align-items:center;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000f}.shi-gallery-slider{justify-content:center;align-items:center;gap:2.2rem;max-width:720px;margin:2.5rem auto 2rem;display:flex}.shi-gallery-preview{cursor:pointer;opacity:.65;justify-content:center;align-items:center;margin:0 .2rem;transition:opacity .2s,transform .2s;display:flex}.shi-gallery-aspect-preview{aspect-ratio:16/9;background:#f8f8f8;border:2.5px solid #e3e0f7;border-radius:.9rem;justify-content:center;align-items:center;width:90px;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 6px 24px #503c782e,0 1.5px 8px #503c781a}.shi-gallery-preview:hover .shi-gallery-aspect-preview,.shi-gallery-preview:focus .shi-gallery-aspect-preview{transform:translateY(-6px)scale(1.08);box-shadow:0 12px 32px #503c7838,0 2.5px 12px #503c7821}.shi-gallery-frame{background:linear-gradient(135deg,#f7f6ff 0%,#e3e0f7 60%,#dbeafe 100%);border:2.5px solid #e3e0f7;border-radius:1.2rem;justify-content:center;align-items:center;gap:.4rem;width:100%;min-width:48vw;max-width:60vw;padding:.4rem;display:flex;position:relative;box-shadow:0 8px 32px #503c7821}.shi-gallery-main{aspect-ratio:16/9;z-index:2;flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:900px;min-height:340px;margin:0 .1rem;display:flex}.shi-gallery-img{object-fit:contain;border-radius:.9rem;width:100%;height:100%}.shi-gallery-preview{aspect-ratio:16/9;cursor:pointer;opacity:.7;z-index:1;flex:0 0 18vw;justify-content:center;align-items:center;min-width:120px;max-width:220px;margin:0 -32px;transition:opacity .2s,transform .2s;display:flex;position:relative}.shi-gallery-preview:hover,.shi-gallery-preview:focus{opacity:1;outline:2px solid #bdb7e6;transform:translateY(-4px)scale(1.08)}.shi-gallery-img-preview{object-fit:contain;width:100%;height:100%;box-shadow:none;border-radius:.7rem}.shi-gallery-arrow:hover,.shi-gallery-arrow:focus-visible{background:#edeafd;border-color:#8e7fdc}.shi-gallery-indicator{text-align:center;color:#7a74b7;margin-top:1.1rem;font-size:1.1rem;font-weight:600}.shi-gallery-caption{color:#555;text-align:center;word-break:break-all;font-size:.95rem}.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}}.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.testimonial-card{background:linear-gradient(160deg,#ffffffeb,#f0f4ffe6);border:1px solid #a9a4e680;border-radius:.95rem;padding:.95rem 1rem;box-shadow:0 10px 24px #3e358124}.testimonial-quote{color:#3f3a74;margin:0;font-weight:600;line-height:1.5}.testimonial-meta{flex-direction:column;gap:.15rem;margin:.75rem 0 0;display:flex}.testimonial-author{color:#4a457e;font-weight:700}.testimonial-context{color:#6f6a9e;font-size:.85rem}.testimonials-cta{color:#2f2a58;background:linear-gradient(135deg,#ffe8a8 0%,#ffd27a 45%,#ffbe58 100%);border-radius:999px;margin:1rem auto 0;padding:.6rem 1.15rem;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 10px 20px #cd872e47}@media (width<=980px){.testimonials-grid{grid-template-columns:1fr}}.service-areas-map-bg{position:relative;overflow:hidden}.service-area-map-bg-img{opacity:.18;z-index:0;pointer-events:none;filter:blur(.5px)drop-shadow(0 4px 24px #503c7821);width:600px;max-width:90vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.service-area-slider{z-index:2;position:relative}.enhanced-service-areas{background:linear-gradient(120deg,#f7f6ff 0%,#e3e0f7 60%,#dbeafe 100%);border-radius:1.5rem;padding-bottom:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #503c7817}.glass-card{background:#e6e8f08c;border:1.5px solid #aaa5e82e;border-radius:1.1rem;transition:box-shadow .25s,background .25s;box-shadow:0 8px 32px #503c7821}.service-area-card--simple{text-align:center;min-width:220px;transition:box-shadow .25s,background .25s,transform .35s cubic-bezier(.4,0,.2,1);position:relative}.service-area-card--simple:active,.service-area-card--simple:focus-within{background:#ffffffd1;box-shadow:0 0 0 4px #bdb7e6}.service-area-city{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:1.3rem;display:flex}.service-area-pin{color:#ff9800;vertical-align:middle;filter:drop-shadow(0 1px 2px #e3e0f7);font-size:1.2em}@keyframes slideIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-slide{animation:.55s cubic-bezier(.4,0,.2,1) slideIn}.service-area-flex-wrap{flex-direction:row;justify-content:center;align-items:flex-start;gap:2.2rem;margin:2.2rem 0 1.5rem;display:flex}.service-area-map-wrap{flex-direction:column;justify-content:center;align-items:center;display:flex}.service-area-map-wrap img{border:2px solid #e3e0f7;border-radius:1.1rem;width:100%;max-width:340px;box-shadow:0 4px 24px #503c7821}.service-area-slider{justify-content:center;align-items:center;gap:1.7rem;min-width:320px;max-width:540px;display:flex}.service-area-card--simple{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:320px;max-width:420px;min-height:180px;padding:2.2rem 1.5rem 1.7rem;font-size:1.18rem;display:flex}@media (width<=900px){.service-area-flex-wrap{flex-direction:column;align-items:center;gap:1.5rem}}.service-area-map-wrap img{border:2px solid #e3e0f7;margin-bottom:1.2rem}.service-area-slider{margin-top:1.2rem}.service-area-slider-arrow{color:#5146b2;cursor:pointer;background:#f7f6ff;border:1.5px solid #bdb7e6;border-radius:999px;width:2.3rem;height:2.3rem;font-size:1.5rem;font-weight:700;transition:background .18s,border-color .18s}.service-area-slider-arrow:hover,.service-area-slider-arrow:focus-visible{background:#edeafd;border-color:#8e7fdc}.service-area-slider-indicator{font-size:1.05rem}.service-areas-subtitle{color:#5b568f;font-weight:600}.service-areas-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.service-area-card{background:0 0;border:1px solid #aaa5e880;border-radius:.95rem;padding:.9rem 1rem;box-shadow:0 9px 20px #3a327b24}.service-area-city{color:#48427d;margin:0;font-size:1.1rem}.service-area-text{color:#5b568f;margin:.55rem 0 0;line-height:1.45}.service-area-link{color:#5146b2;margin-top:.75rem;font-weight:800;text-decoration:none;display:inline-block}.service-area-link:hover,.service-area-link:focus-visible{outline:none;text-decoration:underline}@media (width<=980px){.service-areas-grid{grid-template-columns:1fr}}.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}}.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{width:min(90vw,480px);min-width:320px;max-width:98vw;height:min(90vw,480px);min-height:320px;max-height:92vh;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:1rem;padding:2rem 1.2rem 1rem;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-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}}.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(92vw,420px);min-width:320px;max-width:98vw;min-height:320px;max-height:92vh;transform-origin:var(--contact-origin-x,50%) var(--contact-origin-y,8%);background:linear-gradient(#fffffffa 80%,#f3f6ffeb 100%);border:1px solid #b7c2eb61;border-radius:.7rem;padding:1.3rem 1.1rem 1rem;animation:.52s cubic-bezier(.16,1,.3,1) forwards contact-liquid-open;position:relative;overflow:hidden;box-shadow:0 8px 32px #1b143a21,0 1.5px 6px #7872ff14}.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-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}
