.spinner{display:inline-block;border-radius:var(--radius-full);border:2px solid var(--color-overlay-light);border-top-color:var(--color-accent);animation:spinnerRotate .7s linear infinite;vertical-align:middle}.spinner--sm{width:16px;height:16px}.spinner--md{width:24px;height:24px}.spinner--inline{margin-right:.5rem;border-color:color-mix(in srgb,var(--color-white) 35%,transparent);border-top-color:var(--color-text)}@keyframes spinnerRotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;font-family:var(--font-body);font-weight:700;text-align:center;cursor:pointer;transition:transform .15s;border:none;text-decoration:none}.btn-primary{position:relative;overflow:hidden;z-index:0;background:var(--color-accent);color:var(--color-on-accent);padding:.75rem 2rem;border-radius:var(--radius-md);font-size:var(--font-size-base)}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--color-shine-light) 0%,var(--color-shine-mid) 50%,var(--color-shine-subtle) 100%);mask-image:linear-gradient(to right,black 50%,transparent 50%);-webkit-mask-image:linear-gradient(to right,black 50%,transparent 50%);mask-size:200% 100%;-webkit-mask-size:200% 100%;mask-position:0% 0%;-webkit-mask-position:0% 0%;z-index:-1;transition:mask-position .5s ease,-webkit-mask-position .5s ease}.btn-primary:focus-visible,.btn-outline:focus-visible,.btn-danger:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:hover:not(:disabled):before{mask-position:100% 0%;-webkit-mask-position:100% 0%}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);padding:.75rem 2rem;border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s,background .2s,transform .15s}.btn-secondary:hover{border-color:var(--color-accent);background:var(--color-overlay-light);transform:translateY(-1px)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:var(--color-text);border:1px solid var(--color-text-muted);padding:.5rem 1.5rem;border-radius:var(--radius-md);font-size:var(--font-size-md)}.btn-outline:hover{background:var(--color-overlay-light)}.btn-danger{background:var(--color-red);color:var(--color-white);border:1px solid var(--color-red);padding:.75rem 2rem;border-radius:var(--radius-md);font-size:var(--font-size-base);transition:background .2s,transform .15s}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-red) 85%,var(--color-black));transform:translateY(-1px)}.btn-danger:disabled,.btn-outline:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-block{display:flex;width:100%}.btn-loading{cursor:progress}.btn-sm{padding:.5rem 1.25rem;font-size:var(--font-size-md)}.auth-gate-section{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:var(--section-pad);padding-top:calc(60px + 3rem)}.auth-gate-inner{max-width:500px}.auth-gate-heading{font-family:var(--font-title);font-size:var(--font-size-title);font-weight:700;margin-bottom:1rem}.auth-gate-message{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.6;margin-bottom:2rem}.auth-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.auth-gate-loading{color:var(--color-text-muted);font-size:var(--font-size-base)}@media(max-width:640px){.auth-gate-section{padding:var(--section-pad-mobile);padding-top:calc(56px + 2rem);min-height:70vh}}.skeleton{display:block;background:var(--color-surface);border-radius:var(--radius-sm);animation:skeletonPulse 1.6s ease-in-out infinite}.skeleton--text{height:.85rem;width:100%;margin-bottom:.5rem}.skeleton--title{height:1.1rem;width:60%;margin-bottom:.75rem}.skeleton--image{width:100%;aspect-ratio:16 / 9;border-radius:0}.skeleton--block{width:100%;height:100%}@keyframes skeletonPulse{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;opacity:.7}}.loading-lines{position:relative;display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:32rem;margin:.75rem auto;padding:.25rem 0}td>.loading-lines{max-width:none;margin:.5rem 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-overlay-dark-heavy);display:flex;align-items:center;justify-content:center;padding:1rem;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem 2rem;width:100%;max-width:420px;position:relative;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-2xl);cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:var(--radius-sm);transition:color .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--color-text)}.modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-form{display:flex;flex-direction:column}.modal-title{font-family:var(--font-title);font-size:var(--font-size-2xl);font-weight:700;margin-bottom:.5rem}.modal-subtitle{color:var(--color-text-muted);font-size:var(--font-size-md);margin-bottom:1.5rem;line-height:1.5}.modal-label{font-size:var(--font-size-md);font-weight:700;margin-bottom:.5rem;color:var(--color-text-muted)}.modal-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-field-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);margin-bottom:1rem;transition:border-color .2s}.modal-input::placeholder{color:var(--color-text-muted);opacity:.5}.modal-input:focus{outline:none;border-color:var(--color-accent)}.modal-input-code{text-align:center;font-size:var(--font-size-2xl);letter-spacing:.5em;padding-left:1.5rem}.modal-error{color:var(--color-red-text);font-size:var(--font-size-md);margin-bottom:1rem}.modal-google-hint{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.modal-google-hint p{font-size:var(--font-size-md);color:var(--color-text-muted)}.google-login-btn--sm{font-size:var(--font-size-md);padding:.5rem .75rem;min-height:40px}.modal-form .btn{width:100%;text-align:center;margin-top:.5rem}.modal-form .btn:disabled{opacity:.5;cursor:not-allowed}.modal-back{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-md);cursor:pointer;margin-top:1rem;text-align:center;padding:.5rem;transition:color .2s;font-family:var(--font-body)}.modal-back:hover{color:var(--color-text)}.modal-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;min-height:44px}.google-login-btn:hover{background:var(--color-surface-mid);border-color:var(--color-text-muted)}.google-login-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0}.modal-divider:before,.modal-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.modal-divider span{color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.modal-guest-hint{margin:.5rem 0 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.honeypot-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden}@media(max-width:640px){.modal-content{padding:2rem 1.5rem}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:var(--color-overlay-dark-heavy);display:flex;align-items:center;justify-content:center;padding:1rem;animation:confirmFadeIn .2s ease}.confirm-overlay--top{z-index:1100}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:400px;animation:confirmSlideIn .2s ease}@keyframes confirmSlideIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-title{font-family:var(--font-title);font-size:var(--font-size-xl);font-weight:700;margin-bottom:.75rem}.confirm-message{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6;margin-bottom:1.5rem;white-space:pre-line}.confirm-actions{display:flex;gap:.75rem;flex-wrap:wrap}.confirm-btn{font-family:var(--font-body);font-size:var(--font-size-md);font-weight:600;padding:.6rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;transition:background .2s,color .2s;min-height:44px;border:1px solid transparent}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.confirm-btn--danger{background:none;border-color:var(--color-red);color:var(--color-red-text)}.confirm-btn--danger:hover:not(:disabled){background:var(--color-red);color:var(--color-text)}.confirm-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-dark)}.confirm-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}@media(max-width:640px){.confirm-content{padding:1.5rem}}.section-heading{font-family:var(--font-title);font-weight:700;line-height:1.15;color:var(--color-text);text-wrap:balance}.section-heading-md{font-size:var(--font-size-title)}.section-heading-sm{font-size:var(--font-size-2xl)}.play-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left}.play-options-card{position:relative;display:flex;align-items:flex-end;min-height:340px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;color:var(--color-text);text-align:left;background:var(--color-surface);transition:transform .25s ease,box-shadow .25s ease}.play-options-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.play-options-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.play-options-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;transition:transform .4s ease}.play-options-card:hover .play-options-card-bg{transform:scale(1.08)}.play-options-card-bg--adventure{background-image:url(/images/adventure-800.webp)}.play-options-card-bg--campaign{background-image:url(/images/campaign-800.webp)}.play-options-card-bg--arc{background-image:url(/images/arc-800.webp)}.play-options-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-black) 15%,transparent),color-mix(in srgb,var(--color-black) 55%,transparent) 55%,color-mix(in srgb,var(--color-black) 85%,transparent))}.play-options-card-body{position:relative;z-index:2;display:flex;flex-direction:column;gap:.3rem;padding:1.5rem}.play-options-card-tag{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-xl);letter-spacing:.02em;color:var(--color-text)}.play-options-card-duration{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-gold);margin-bottom:.5rem}.play-options-card-desc{font-size:var(--font-size-md);line-height:1.6;color:color-mix(in srgb,var(--color-white) 85%,transparent)}.play-options-card-cta{margin-top:.85rem;font-weight:700;font-size:var(--font-size-md);color:var(--color-gold)}@media(max-width:900px){.play-options-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}@media(max-width:640px){.play-options-grid--compact{gap:.75rem}.play-options-grid--compact .play-options-card{min-height:132px}.play-options-grid--compact .play-options-card-body{padding:1rem 1.25rem}.play-options-grid--compact .play-options-card-duration{margin-bottom:0}.play-options-grid--compact .play-options-card-desc{display:none}.play-options-grid--compact .play-options-card-cta{margin-top:.35rem}}.booknow-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:var(--color-overlay-modal);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:booknowFadeIn .2s ease}@keyframes booknowFadeIn{0%{opacity:0}to{opacity:1}}.booknow-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem 2rem;width:100%;max-width:1040px;max-height:90vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;position:relative;animation:booknowSlideIn .2s ease;color:var(--color-text);text-align:center}.booknow-content::-webkit-scrollbar{display:none}@keyframes booknowSlideIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.booknow-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-2xl);cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:var(--radius-sm);transition:color .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.booknow-close:hover{color:var(--color-text)}.booknow-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.booknow-heading{margin-bottom:2rem}@media(max-width:640px){.booknow-content{padding:2rem 1.25rem 1.5rem}.booknow-heading{margin-bottom:1.25rem}}.booknow-gift{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:left}.booknow-gift svg{flex:none;color:var(--color-gold)}.booknow-gift a{color:var(--color-gold)}.impersonation-banner{position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--color-accent);color:var(--color-text-dark);box-shadow:0 -4px 16px color-mix(in srgb,var(--color-black) 35%,transparent);border-top:2px solid var(--color-accent-dark)}.impersonation-banner-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}.impersonation-banner-icon{display:inline-flex;flex-shrink:0}.impersonation-banner-text{flex:1;margin:0;font-family:var(--font-body);font-size:var(--font-size-md);line-height:1.35;min-width:0;overflow-wrap:anywhere}.impersonation-banner-text strong{font-weight:700}.impersonation-banner-exit{flex-shrink:0;min-height:44px;padding:.4rem 1rem;border:2px solid var(--color-text-dark);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.impersonation-banner-exit:hover:not(:disabled){background:var(--color-text-dark);color:var(--color-accent)}.impersonation-banner-exit:focus-visible{outline:3px solid var(--color-text-dark);outline-offset:2px}.impersonation-banner-exit:disabled{opacity:.6;cursor:default}.app--impersonating{padding-bottom:4rem}@media(max-width:640px){.impersonation-banner-inner{flex-wrap:wrap;gap:.5rem .75rem}.impersonation-banner-text{flex:1 1 60%;font-size:var(--font-size-md)}.impersonation-banner-exit{flex:1 1 100%}.app--impersonating{padding-bottom:6rem}}@media(prefers-reduced-motion:reduce){.impersonation-banner-exit{transition:none}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:160;background:var(--color-overlay-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border);padding:1rem 2rem;animation:cookieBannerSlideUp .4s ease forwards}@keyframes cookieBannerSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.cookie-banner{animation:none}}.cookie-banner-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.cookie-banner-text{font-size:var(--font-size-md);color:var(--color-text-muted);line-height:1.5;flex:1}.cookie-banner-link{color:var(--color-accent);text-decoration:underline;transition:color .2s}.cookie-banner-link:hover{color:var(--color-text)}.cookie-banner-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.cookie-banner-opt-out{background:none;border:none;color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--font-size-md);cursor:pointer;padding:.5rem .75rem;transition:color .2s;white-space:nowrap;text-decoration:underline}.cookie-banner-opt-out:hover{color:var(--color-text)}.cookie-banner-opt-out:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:900px){.cookie-banner-inner{flex-direction:column;text-align:center;gap:1rem}.cookie-banner-text{font-size:var(--font-size-sm)}}@media(max-width:640px){.cookie-banner{padding:.875rem 1rem}.cookie-banner-inner{gap:.75rem}.cookie-banner-actions{width:100%;justify-content:center}}.exit-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-overlay-dark-heavy);display:flex;align-items:center;justify-content:center;padding:1rem;animation:exitPopupFadeIn .25s ease}@keyframes exitPopupFadeIn{0%{opacity:0}to{opacity:1}}.exit-popup-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem 2rem;width:100%;max-width:420px;position:relative;animation:exitPopupSlideIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes exitPopupSlideIn{0%{transform:translateY(-24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.exit-popup-form{display:flex;flex-direction:column}.exit-popup-icon{display:flex;justify-content:center;margin-bottom:.75rem;color:var(--color-gold)}.exit-popup-title{font-family:var(--font-title);font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:.5rem}.exit-popup-subtitle{color:var(--color-text-muted);font-size:var(--font-size-md);text-align:center;margin-bottom:1.5rem;line-height:1.5}.exit-popup-label{font-size:var(--font-size-md);font-weight:700;margin-bottom:.5rem;color:var(--color-text-muted)}.exit-popup-input{padding:.75rem 1rem;border:1px solid var(--color-field-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);margin-bottom:1rem;transition:border-color var(--transition-base)}.exit-popup-input::placeholder{color:var(--color-text-muted);opacity:.5}.exit-popup-input:focus{outline:none;border-color:var(--color-accent)}.exit-popup-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.exit-popup-input-code{text-align:center;font-size:var(--font-size-2xl);letter-spacing:.5em;padding-left:1.5rem}.exit-popup-error{color:var(--color-red-text);font-size:var(--font-size-md);margin-bottom:1rem}.exit-popup-form .btn{width:100%;text-align:center;margin-top:.5rem}.exit-popup-form .btn:disabled{opacity:.5;cursor:not-allowed}.exit-popup-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-md);font-family:var(--font-body);cursor:pointer;margin-top:1rem;text-align:center;padding:.5rem;transition:color var(--transition-base)}.exit-popup-dismiss:hover{color:var(--color-text)}.exit-popup-dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.exit-popup-back{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-md);font-family:var(--font-body);cursor:pointer;margin-top:1rem;text-align:center;padding:.5rem;transition:color var(--transition-base)}.exit-popup-back:hover{color:var(--color-text)}.exit-popup-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:640px){.exit-popup-content{padding:2rem 1.5rem}}.mobile-book-bar{display:none}@media(max-width:1024px){.mobile-book-bar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:150;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--color-overlay-dark-heavy);border-top:1px solid var(--color-border);box-shadow:var(--shadow-md)}.mobile-book-bar-btn{width:100%;min-height:44px}.app--book-bar{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}}.account-name{display:inline-block;max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-boundary{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.error-boundary__inner{max-width:36rem;text-align:center;color:var(--color-text)}.error-boundary__inner h1{font-size:var(--font-size-2xl);margin-bottom:.75rem}.error-boundary__inner p{color:var(--color-text-muted);margin-bottom:1.5rem}.error-boundary__button{background:var(--color-accent);color:var(--color-bg);border:none;border-radius:var(--radius-sm, 6px);padding:.65rem 1.25rem;font-weight:600;cursor:pointer;min-height:44px;min-width:44px}.error-boundary__button:hover,.error-boundary__button:focus-visible{filter:brightness(1.1);outline:2px solid var(--color-accent);outline-offset:2px}.error-boundary__details{margin-top:1.5rem;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-muted);background:color-mix(in srgb,var(--color-black) 25%,transparent);padding:.75rem;border-radius:var(--radius-sm, 6px);overflow-x:auto;white-space:pre-wrap}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarala;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarala-latin-ext-400-normal-BbR2s5w2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarala;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarala-latin-400-normal-BMj0G0Sx.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarala;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarala-latin-ext-700-normal-WGMJkCKz.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarala;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarala-latin-700-normal-BJgmVjvn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--color-bg: #15100c;--color-bg-dark: #0d0a07;--color-bg-card: #231c16;--color-surface: #2d241d;--color-surface-mid: #3a2f26;--color-surface-light: #f5ebe0;--color-accent: #FB6107;--color-accent-hover: #e25706;--color-on-accent: #1a1a1a;--color-gold: #e9b25a;--color-red: #c0392b;--color-red-text: #f07a6c;--color-drop-in: var(--color-text);--color-drop-in-hover: #e0d8ce;--color-drop-in-subtle: color-mix(in srgb, var(--color-text) 12%, transparent);--color-accent-subtle: color-mix(in srgb, var(--color-accent) 12%, transparent);--color-text: #f6f0e6;--color-text-muted: #c3b4a2;--color-text-dark: #1a1a1a;--color-text-secondary: #555555;--color-border: #4d4034;--color-field-border: #86735f;--color-white: #ffffff;--color-black: #000000;--color-overlay-light: color-mix(in srgb, var(--color-white) 10%, transparent);--color-overlay-light-subtle: color-mix(in srgb, var(--color-white) 4%, transparent);--color-overlay-modal: color-mix(in srgb, var(--color-black) 60%, transparent);--color-overlay-dark: color-mix(in srgb, var(--color-bg-dark) 85%, transparent);--color-overlay-dark-heavy: color-mix(in srgb, var(--color-bg-dark) 97%, transparent);--color-overlay-dark-top: color-mix(in srgb, var(--color-black) 55%, transparent);--color-overlay-dark-mid: color-mix(in srgb, var(--color-black) 50%, transparent);--color-overlay-dark-bottom: color-mix(in srgb, var(--color-bg-dark) 90%, transparent);--color-accent-glow: color-mix(in srgb, var(--color-black) 15%, transparent);--color-map-terracotta: #c1694f;--map-bg: #14202a;--map-region-fill: #2c3a23;--map-region-stroke: #45593a;--map-coastline: #8aa6b4;--map-border: #c79a52;--map-river: #4f86ad;--map-road: #c1694f;--map-label: #ece0cb;--map-edit-accent: #FB6107;--color-bg-image-fallback: #0a0a0a;--color-purple: #8b5cf6;--color-discord: #5865f2;--color-discord-text: #8b93f8;--color-info: #7cc4e8;--chart-pink: #e86fa8;--chart-teal: #3fb8a8;--chart-grey: #8a7c6e;--chart-public: var(--color-accent);--chart-private: var(--color-info);--chart-arc: var(--color-purple);--chart-campaign: var(--color-text-muted);--chart-special: var(--color-gold);--chart-friend: var(--color-success);--chart-kids: var(--chart-pink);--chart-credits: var(--color-gold);--chart-gifts: var(--chart-pink);--chart-store: var(--chart-teal);--chart-other: var(--chart-grey);--chart-previous: color-mix(in srgb, var(--color-text) 45%, transparent);--color-success: #4caf50;--color-success-subtle: color-mix(in srgb, var(--color-success) 10%, transparent);--color-gold-subtle: color-mix(in srgb, var(--color-gold) 10%, transparent);--color-gold-light: color-mix(in srgb, var(--color-gold) 15%, transparent);--color-red-subtle: color-mix(in srgb, var(--color-red) 10%, transparent);--color-red-light: color-mix(in srgb, var(--color-red) 15%, transparent);--color-muted-subtle: color-mix(in srgb, var(--color-text-muted) 10%, transparent);--color-discord-subtle: color-mix(in srgb, var(--color-discord) 10%, transparent);--color-danger: #e74c3c;--color-danger-subtle: color-mix(in srgb, var(--color-danger) 10%, transparent);--color-danger-light: color-mix(in srgb, var(--color-danger) 15%, transparent);--color-danger-hover: color-mix(in srgb, var(--color-danger) 20%, transparent);--color-orange: #e8742a;--color-orange-subtle: color-mix(in srgb, var(--color-orange) 10%, transparent);--color-orange-light: color-mix(in srgb, var(--color-orange) 15%, transparent);--color-orange-hover: color-mix(in srgb, var(--color-orange) 20%, transparent);--color-accent-dark: #d45306;--color-accent-border: color-mix(in srgb, var(--color-accent) 30%, transparent);--color-accent-glow-subtle: color-mix(in srgb, var(--color-accent) 8%, transparent);--color-accent-glow-light: color-mix(in srgb, var(--color-accent) 10%, transparent);--color-shine-light: color-mix(in srgb, var(--color-white) 15%, transparent);--color-shine-mid: rgba(255, 138, 61, .4);--color-shine-subtle: color-mix(in srgb, var(--color-white) 5%, transparent);--color-atmos-rain: #aec2e0;--color-atmos-snow: #ffffff;--color-atmos-ember: #ff6a1a;--color-atmos-dust: #fff4d6;--color-atmos-fog: #d2dae2;--color-promo-dark: #1a130e;--color-promo-mid: #241a12;--color-promo-light: #2e2016;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-pill: 24px;--radius-full: 9999px;--shadow-md: 0 8px 24px color-mix(in srgb, var(--color-black) 30%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, var(--color-black) 50%, transparent);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--font-title: "Sarala", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-3xs: .5625rem;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-lead: clamp(1rem, 1.8vw, 1.125rem);--font-size-title: clamp(1.75rem, 3.5vw, 2.5rem);--font-size-display: clamp(2.25rem, 6vw, 4.5rem);--font-size-jumbo: clamp(5rem, 15vw, 9rem);--max-width: 1200px;--max-width-wide: 1680px;--header-height: 81px;--staff-nav-height: 46px;--section-pad: 5rem 2rem;--section-pad-mobile: 3rem 1rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}main:focus{outline:none}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:1100;padding:.75rem 1rem;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-md);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.placeholder-img{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-border) 50%,var(--color-surface) 100%);width:100%;min-height:280px;border-radius:var(--radius-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes revealFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0}.reveal.is-visible{animation:revealFadeIn .7s ease forwards}.reveal-stagger>*{opacity:0}.reveal-stagger.is-visible>*{animation:revealFadeIn .6s ease forwards}.reveal-stagger.is-visible>*:nth-child(1){animation-delay:.05s}.reveal-stagger.is-visible>*:nth-child(2){animation-delay:.13s}.reveal-stagger.is-visible>*:nth-child(3){animation-delay:.21s}.reveal-stagger.is-visible>*:nth-child(4){animation-delay:.29s}.reveal-stagger.is-visible>*:nth-child(5){animation-delay:.37s}.reveal-stagger.is-visible>*:nth-child(6){animation-delay:.45s}.reveal-stagger.is-visible>*:nth-child(7){animation-delay:.53s}.reveal-stagger.is-visible>*:nth-child(n+8){animation-delay:.6s}@media(prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1}.reveal.is-visible,.reveal-stagger.is-visible>*{animation:none}}.clickable-card{position:relative}.card-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--color-accent);color:var(--color-on-accent);padding:.5rem 1.25rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:700;text-align:center;border:none;cursor:pointer;transition:background var(--transition-base)}.card-cta.card-stretch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.card-cta:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.clickable-card:hover .card-cta{background:var(--color-accent-hover)}.card-cta--quiet{background:transparent;color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-text-muted)}.clickable-card:hover .card-cta--quiet{background:var(--color-surface-mid)}.clickable-card:focus-within{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-xl)}.card-cta:focus{outline:none}@media(prefers-reduced-motion:reduce){.card-cta{transition:none}}@keyframes routeFadeIn{0%{opacity:0}to{opacity:1}}.route-fade{animation:routeFadeIn .25s ease}@media(prefers-reduced-motion:reduce){.route-fade{animation:none}}.form-group{display:flex;flex-direction:column}.form-label{font-size:var(--font-size-md);font-weight:700;margin-bottom:.5rem;color:var(--color-text-muted)}.form-input{padding:.75rem 1rem;border:1px solid var(--color-field-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);transition:border-color .2s}.form-input::placeholder{color:var(--color-text-muted);opacity:.5}.form-input:focus{outline:none;border-color:var(--color-accent)}.form-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-input--invalid{border-color:var(--color-red)}.form-input--disabled{opacity:.5;cursor:not-allowed}.field-error{color:var(--color-red-text);font-size:var(--font-size-sm);margin-top:.35rem}.field-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:.35rem}.form-error{color:var(--color-red-text);font-size:var(--font-size-md)}.form-success{color:var(--color-success);font-size:var(--font-size-md)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-overlay-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-overlay-light)}.site-nav{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;padding:.875rem 2rem;gap:2rem}.logo{display:flex;align-items:center;white-space:nowrap;text-decoration:none;flex-shrink:0}.logo-img{height:52px;width:auto;display:block;transition:transform .25s ease}.logo:hover .logo-img{transform:scale(.92)}.nav-links{display:flex;gap:2rem;margin-left:auto}.nav-links a{position:relative;color:var(--color-text-muted);font-size:var(--font-size-base);transition:color .2s;white-space:nowrap}.nav-links a:hover{color:var(--color-text)}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:var(--radius-xs);background:var(--color-accent);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a.active{color:var(--color-text)}.logo:focus-visible,.nav-links a:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-xs)}@media(prefers-reduced-motion:reduce){.nav-links a:after{transition:none}}@media(max-width:1280px){.site-nav,.nav-links{gap:1.5rem}}.nav-cta,.nav-account{white-space:nowrap;flex-shrink:0}.nav-links a.nav-link--phone,.nav-cta--mobile,.nav-account--mobile{display:none}.menu-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:auto}.hamburger{display:block;width:24px;height:2px;background:var(--color-text);position:relative;transition:background .2s}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:24px;height:2px;background:var(--color-text);transition:transform .3s}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.open{background:transparent}.hamburger.open:before{transform:rotate(45deg);top:0}.hamburger.open:after{transform:rotate(-45deg);top:0}.site-footer{background:var(--color-bg-dark);border-top:1px solid var(--color-border);padding:4rem 2rem 2rem}.site-footer.site-footer--slim{padding:1rem 2rem}.site-footer--slim .footer-legal{margin-top:0;padding-top:0;border-top:none}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1.5fr 2fr auto;gap:3rem;align-items:start}.footer-brand .logo{margin-bottom:1rem}.footer-tagline{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6;max-width:280px;margin-bottom:1.25rem}.footer-contact{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;font-style:normal}.footer-contact a{display:inline-flex;align-items:flex-start;gap:.5rem;color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.5;transition:color .2s}.footer-contact a:hover{color:var(--color-text)}.footer-contact .icon{flex-shrink:0;margin-top:.15rem;color:var(--color-gold)}.footer-columns{display:flex;gap:4rem}.footer-col{display:flex;flex-direction:column;gap:.5rem}.footer-col-title{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-base);margin-bottom:.5rem}.footer-col a{color:var(--color-text-muted);font-size:var(--font-size-md);transition:color .2s}.footer-col a:hover{color:var(--color-text)}.footer-social{display:flex;gap:1rem;align-items:flex-start}.social-link{color:var(--color-text-muted);transition:color .2s}.social-link:hover{color:var(--color-text)}.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-bottom:.75rem}.footer-legal-links a{color:var(--color-text-muted);transition:color .2s}.footer-legal-links a:hover{color:var(--color-text)}.footer-legal{max-width:var(--max-width);margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.6;text-align:center}@media(max-width:1024px){.menu-toggle{display:inline-flex}.site-header--menu-open{background:var(--color-bg);backdrop-filter:none;-webkit-backdrop-filter:none}.nav-links{position:fixed;top:var(--header-height);left:0;right:0;height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;background:var(--color-bg);flex-direction:column;align-items:stretch;margin-left:0;padding:.5rem 1.5rem calc(2rem + env(safe-area-inset-bottom));gap:0;transform:translateY(-.5rem);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s,opacity .2s,visibility 0s linear .2s}.nav-links.nav-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .2s,opacity .2s,visibility 0s}.nav-links a{font-family:var(--font-title);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);padding:.875rem 0;border-bottom:1px solid var(--color-border)}.nav-links a:after{display:none}.nav-links a.nav-link--phone{display:block}.nav-links a.active{color:var(--color-accent)}.nav-cta--desktop,.nav-account--desktop{display:none}.nav-cta--mobile,.nav-account--mobile{display:inline-flex;width:100%;padding:.875rem 1rem;font-size:var(--font-size-base)}.nav-cta--mobile{margin-top:1.5rem}.nav-account--mobile{margin-top:.75rem}}@media(max-width:1024px)and (prefers-reduced-motion:reduce){.nav-links,.nav-links.nav-open{transform:none;transition:none}}@media(max-width:900px){.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-social{order:-1}}@media(max-width:640px){:root{--section-pad: 3rem 1rem;--header-height: 77px}.site-nav{padding:.75rem 1rem}.site-footer{padding:2.5rem 1rem 1.5rem}.footer-columns{flex-direction:column;gap:1.5rem}}@media(pointer:coarse){.footer-col a,.footer-contact a,.footer-legal-links a{display:inline-flex;align-items:center;min-height:44px}.footer-col,.footer-contact{gap:0}.footer-contact .icon{margin-top:0}.social-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}}.nav-links a.nav-bag{display:inline-flex;align-items:center;gap:.35rem}[data-theme=halloween]{--color-bg: #140c05;--color-bg-dark: #0a0603;--color-bg-card: #1b1007;--color-surface: #2b1809;--color-surface-mid: #42200a;--color-accent: #ff7518;--color-accent-hover: #e66306;--color-gold: #f2b134;--color-text-muted: #c3ab92;--color-border: #4a2a12}[data-theme=christmas]{--color-bg: #0a120e;--color-bg-dark: #050b08;--color-bg-card: #0c1712;--color-surface: #0e2119;--color-surface-mid: #102e20;--color-accent: #e8b04b;--color-accent-hover: #d09a36;--color-gold: #f0d08a;--color-text-muted: #b3c4b6;--color-border: #24422f}.page-section{padding:var(--section-pad);text-align:center}.page-section--base{background:var(--color-bg)}.page-section--dark{background:var(--color-bg-dark)}.page-section-header{max-width:640px;margin:0 auto 2.5rem}.page-section-header .section-heading:not(:last-child){margin-bottom:.75rem}.page-section-intro{color:var(--color-text-muted);font-size:var(--font-size-lead);line-height:1.6}@media(max-width:640px){.page-section{padding:var(--section-pad-mobile)}}.card-grid{display:grid;gap:1.5rem;max-width:var(--max-width);margin:0 auto}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}}@media(max-width:900px){.card-grid--3{grid-template-columns:minmax(0,1fr);max-width:520px}}@media(max-width:640px){.card-grid--2,.card-grid--4{grid-template-columns:minmax(0,1fr);max-width:520px}}.fade-img{opacity:0;transition:opacity .5s ease}.fade-img--loaded{opacity:1}@media(prefers-reduced-motion:reduce){.fade-img{opacity:1;transition:none}}.card{display:flex;flex-direction:column;height:100%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;text-align:left;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card--center{text-align:center}.card.clickable-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-field-border)}.card-media{aspect-ratio:16 / 10;overflow:hidden;background:var(--color-surface)}.card-media--custom{aspect-ratio:auto;background:none;display:flex;justify-content:center;padding:1.5rem 1.5rem 0}.card-img{display:block;width:100%;height:100%;object-fit:cover}.card-body{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:1.5rem}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-full);background:var(--color-gold-subtle);border:1px solid color-mix(in srgb,var(--color-gold) 30%,transparent);color:var(--color-gold);margin-bottom:.5rem}.card--center .card-icon{margin-inline:auto}.card-eyebrow{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold)}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.card--center .card-title-row{justify-content:center}.card-title{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-lg);line-height:1.3;color:var(--color-text);text-wrap:balance}.card-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.card--center .card-meta{justify-content:center}.card-text{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6}.card-text p+p{margin-top:.5rem}.card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem}.card--center .card-actions{justify-content:center}.card-cta:disabled{opacity:.55;cursor:not-allowed}@media(min-width:768px){.card--horizontal{flex-direction:row}.card--horizontal .card-media{flex:0 0 40%;aspect-ratio:auto;min-height:260px}}@media(max-width:640px){.card-body{padding:1.25rem}}@media(prefers-reduced-motion:reduce){.card{transition:none}.card.clickable-card:hover{transform:none}}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;max-width:960px;margin:0 auto;padding:2.5rem 2rem}.feature-text .section-heading{margin-bottom:.75rem}.feature-row-reverse{direction:rtl}.feature-row-reverse>*{direction:ltr}.feature-text p{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.7;max-width:450px}.feature-image{overflow:hidden;border-radius:var(--radius-xl)}.feature-placeholder{aspect-ratio:3 / 2;min-height:0}img.feature-img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;display:block}@keyframes featureFadeIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.feature-row{opacity:0}.feature-row.visible{animation:featureFadeIn .7s ease forwards}@media(max-width:900px){.feature-row{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:2rem 1rem}.feature-row-reverse{direction:ltr}}@media(max-width:640px){.feature-image{order:-1}}.review-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;text-align:left;transition:transform .2s ease,border-color .2s ease}.review-card:hover{transform:translateY(-2px);border-color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.review-card{transition:none}.review-card:hover{transform:none}}.review-avatar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-surface);flex-shrink:0}.avatar-img{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.review-meta{display:flex;flex-direction:column;gap:.1rem}.review-name{font-weight:700;font-size:var(--font-size-base)}.review-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.review-stars{display:flex;gap:.25rem;margin-bottom:.75rem;color:var(--color-gold)}.review-star{flex-shrink:0;fill:currentColor}.review-card p{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6}.blog-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:transform .2s ease,border-color .2s ease}.blog-card:hover{transform:translateY(-2px);border-color:var(--color-accent)}.blog-card:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.blog-card-link{display:block;text-decoration:none;color:inherit}.blog-card-link:focus{outline:none}.blog-card-image-wrap{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-surface-mid)}.blog-card-fallback{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 60%,var(--color-accent-glow) 0%,transparent 65%),var(--color-surface-mid)}.blog-card-fallback-badge{width:64px;height:auto;opacity:.9}.blog-card-image{width:100%;height:100%;object-fit:cover;display:block}.blog-card-body{padding:1.25rem}.blog-card-title{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-lg);line-height:1.3;margin-bottom:.5rem;color:var(--color-text)}.blog-card-excerpt{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:var(--font-size-xs)}.blog-card-author{opacity:.8}@media(max-width:640px){.blog-card-body{padding:1rem}.blog-card-title{font-size:var(--font-size-base)}}@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}}.genre-pill{display:inline-block;padding:.2rem .65rem;font-size:var(--font-size-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold);border:1px solid color-mix(in srgb,var(--color-gold) 60%,transparent);border-radius:var(--radius-pill);line-height:1.4;white-space:nowrap}.next-up-countdown{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;color:var(--color-gold);font-weight:600;font-variant-numeric:tabular-nums}.next-up-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1.5rem;text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.next-up-empty p{max-width:480px;color:var(--color-text-muted)}.next-up-skeleton{min-height:260px;border-radius:var(--radius-xl)}.community-stats{color:var(--color-text-muted);font-size:var(--font-size-lead)}.community-stats strong{color:var(--color-gold);font-family:var(--font-title);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.hero{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--color-bg);padding-top:60px}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--color-overlay-dark-top) 0%,var(--color-overlay-dark-mid) 50%,var(--color-overlay-dark-bottom) 100%),radial-gradient(ellipse at center 40%,var(--color-accent-glow) 0%,transparent 70%);pointer-events:none;z-index:1}.hero-content{position:relative;z-index:2;max-width:960px;padding:2rem}.hero-content h1{font-family:var(--font-title);font-size:var(--font-size-display);font-weight:700;line-height:1.1;margin-bottom:1.25rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);text-wrap:balance}.hero-nowrap{white-space:nowrap}.hero-content p{font-size:var(--font-size-lead);color:var(--color-text);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.hero-rating{display:flex;align-items:center;justify-content:center;gap:.5rem;width:fit-content;margin:1.25rem auto 0;padding:.25rem 0;min-height:44px;color:var(--color-text);font-size:var(--font-size-md);font-weight:600}.hero-rating-star{flex-shrink:0;color:var(--color-gold);fill:currentColor}.hero-rating-text{text-decoration:underline;text-decoration-color:var(--color-field-border);text-underline-offset:4px}.hero-rating:hover .hero-rating-text{text-decoration-color:currentColor}.hero-rating:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-xs)}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-content h1,.hero-content p,.hero-content .btn,.hero-content .hero-rating{opacity:0;animation:heroFadeIn .7s ease forwards}.hero-content h1{animation-delay:.15s}.hero-content p{animation-delay:.4s}.hero-content .btn{animation-delay:.65s}.hero-content .hero-rating{animation-delay:.85s}.hero-embers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.ember{position:absolute;bottom:-12px;width:6px;height:6px;border-radius:var(--radius-full);background:radial-gradient(circle,var(--color-gold) 0%,var(--color-accent) 55%,transparent 72%);filter:blur(.5px);opacity:0;animation:emberRise 7s ease-in infinite}.ember:nth-child(1){left:12%;animation-delay:0s;animation-duration:7s}.ember:nth-child(2){left:26%;animation-delay:1.6s;animation-duration:8.5s}.ember:nth-child(3){left:40%;animation-delay:3.1s;animation-duration:6.5s}.ember:nth-child(4){left:55%;animation-delay:.8s;animation-duration:9s}.ember:nth-child(5){left:68%;animation-delay:2.4s;animation-duration:7.5s}.ember:nth-child(6){left:81%;animation-delay:4s;animation-duration:8s}.ember:nth-child(7){left:92%;animation-delay:1.2s;animation-duration:6.8s}@keyframes emberRise{0%{transform:translateY(0) scale(.8);opacity:0}12%{opacity:.9}70%{opacity:.6}to{transform:translateY(-76vh) translate(18px) scale(1.1);opacity:0}}@media(prefers-reduced-motion:reduce){.hero-embers{display:none}.hero{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 40%,var(--color-surface-mid) 70%,var(--color-bg) 100%)}.hero-content h1,.hero-content p,.hero-content .btn,.hero-content .hero-rating{opacity:1;animation:none}}.home-play-inner{max-width:1040px;margin:0 auto}.promo-banner{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--color-promo-dark) 0%,var(--color-promo-mid) 40%,var(--color-promo-light) 70%,var(--color-promo-dark) 100%);padding:1rem}.promo-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,var(--color-accent-glow-subtle) 0%,transparent 70%);pointer-events:none}.promo-inner{position:relative;max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem 1.25rem;text-align:center}.promo-deal{font-size:var(--font-size-md);color:var(--color-text)}.promo-countdown{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gold);font-variant-numeric:tabular-nums}.home-more{margin-top:2rem}.home-more a{color:var(--color-text);font-size:var(--font-size-md);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-field-border);text-underline-offset:3px}.home-more a:hover{color:var(--color-accent)}.home-more a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}.home-next-up-inner{display:flex;flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto}.home-features{padding:2.5rem 0}.home-blog-grid{text-align:left}@media(max-width:640px){.hero{min-height:70vh}.hero-content h1{font-size:var(--font-size-3xl)}.home-features{padding:1rem 0}}@media(max-width:640px){.home-audience-grid.card-grid{display:flex;align-items:stretch;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:1rem;margin-inline:-1rem;padding-inline:1rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.home-audience-grid.card-grid>*{flex:0 0 82%;scroll-snap-align:start}}.page-hero{position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg-image-fallback);padding:calc(var(--header-height) + 3rem) 2rem 4rem;text-align:center}.page-hero--tall{min-height:70vh}.page-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.page-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--color-black) 70%,transparent),color-mix(in srgb,var(--color-black) 60%,transparent),color-mix(in srgb,var(--color-bg) 92%,transparent));pointer-events:none}.page-hero--split .page-hero-scrim{background:linear-gradient(90deg,color-mix(in srgb,var(--color-black) 80%,transparent),color-mix(in srgb,var(--color-black) 55%,transparent) 55%,color-mix(in srgb,var(--color-black) 35%,transparent)),linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--color-bg) 92%,transparent) 100%)}.page-hero-inner{position:relative;z-index:1;width:100%;max-width:720px;margin:0 auto}.page-hero--split .page-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:var(--max-width);text-align:left}.page-hero-title{font-family:var(--font-title);font-size:var(--font-size-display);font-weight:700;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);text-wrap:balance;margin-bottom:1rem}.page-hero-tagline{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-md);color:var(--color-gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.page-hero-desc{font-size:var(--font-size-lead);color:var(--color-text);line-height:1.7;max-width:560px;margin:0 auto}.page-hero--split .page-hero-desc{margin:0;max-width:480px}.page-hero-desc p+p{margin-top:.75rem}.page-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2rem}.page-hero--split .page-hero-actions{justify-content:flex-start}.page-hero-aside{display:flex;align-items:center;justify-content:center;min-width:0}.page-hero-text>*,.page-hero-aside{opacity:0;animation:pageHeroFadeIn .7s ease forwards}.page-hero-title{animation-delay:.15s}.page-hero-tagline{animation-delay:.3s}.page-hero-desc,.page-hero-aside{animation-delay:.4s}.page-hero-actions{animation-delay:.5s}@keyframes pageHeroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.page-hero--split .page-hero-inner{grid-template-columns:1fr;text-align:center}.page-hero--split .page-hero-desc{margin:0 auto}.page-hero--split .page-hero-actions{justify-content:center}.page-hero--split .page-hero-scrim{background:linear-gradient(180deg,color-mix(in srgb,var(--color-black) 75%,transparent),color-mix(in srgb,var(--color-black) 60%,transparent),color-mix(in srgb,var(--color-bg) 92%,transparent))}}@media(max-width:640px){.page-hero,.page-hero--tall{min-height:auto;padding:calc(var(--header-height) + 2rem) 1rem 3rem}.page-hero-title{font-size:var(--font-size-3xl)}}@media(prefers-reduced-motion:reduce){.page-hero-text>*,.page-hero-aside{animation:none;opacity:1}}.step-list{list-style:none;display:grid;grid-template-columns:repeat(var(--step-count, 3),minmax(0,1fr));gap:2rem;max-width:var(--max-width);margin:0 auto;padding:0}.step-list-item{text-align:center;padding:1rem 1.5rem}.step-list-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-title);font-weight:700;font-size:var(--font-size-xl);margin-bottom:1.25rem}.step-list-title{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-lg);line-height:1.3;margin-bottom:.75rem}.step-list-body{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.6;max-width:320px;margin:0 auto}.step-list-body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}@media(max-width:900px){.step-list{grid-template-columns:minmax(0,1fr);max-width:420px;gap:1rem}}.cta-band{position:relative;overflow:hidden;padding:var(--section-pad);text-align:center}.cta-band--base{background:var(--color-bg)}.cta-band--dark{background:var(--color-bg-dark)}.cta-band--image{background-color:var(--color-bg-image-fallback)}.cta-band-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.cta-band--image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse 640px 300px at center,color-mix(in srgb,var(--color-black) 76%,transparent),color-mix(in srgb,var(--color-black) 68%,transparent) 60%,color-mix(in srgb,var(--color-black) 40%,transparent));pointer-events:none}@media(max-width:900px){.cta-band--image:before{background:color-mix(in srgb,var(--color-black) 68%,transparent)}}.cta-band-inner{position:relative;z-index:2;max-width:600px;margin:0 auto}.cta-band-heading{margin-bottom:1rem}.cta-band-text{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.6}.cta-band--image .cta-band-text{color:var(--color-text)}.cta-band-text p+p{margin-top:.5rem}.cta-band-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2rem}@media(max-width:640px){.cta-band{padding:var(--section-pad-mobile)}}.accordion{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:0}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:first-child{border-top:1px solid var(--color-border)}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem .5rem;background:none;border:none;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:600;text-align:left;cursor:pointer;gap:1rem;transition:color .2s ease}.accordion-trigger:hover{color:var(--color-accent)}.accordion-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.accordion-trigger-text{flex:1}.accordion-icon{position:relative;flex-shrink:0;width:20px;height:20px}.accordion-icon:before,.accordion-icon:after{content:"";position:absolute;background:var(--color-text-muted);transition:transform .25s ease,opacity .25s ease}.accordion-icon:before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}.accordion-icon:after{top:0;left:50%;width:2px;height:100%;transform:translate(-50%)}.accordion-item--open .accordion-icon:after{transform:translate(-50%) rotate(90deg);opacity:0}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.accordion-item--open .accordion-panel{grid-template-rows:1fr}.accordion-panel-inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility .28s ease;padding:0 .5rem 1.5rem;color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.7}.accordion-item--open .accordion-panel-inner{visibility:visible}@media(prefers-reduced-motion:reduce){.accordion-panel,.accordion-panel-inner{transition:none}}.accordion-panel-inner a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.accordion-panel-inner a:hover{color:var(--color-accent-hover)}.accordion-panel-inner a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}.booking-calendar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;width:100%;max-width:380px}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cal-month-label{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-base);letter-spacing:.02em}.cal-nav-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-2xl);line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.cal-nav-btn:hover:not(:disabled){background:var(--color-surface)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-nav-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cal-table{width:100%;border-collapse:collapse;table-layout:fixed}.cal-weekday{font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.5rem;text-align:center}.cal-cell{text-align:center;padding:2px}.cal-day-btn{width:38px;height:38px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background .15s,color .15s,transform .15s}.cal-day-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cal-cell--studio .cal-day-btn{background:var(--color-accent);color:var(--color-on-accent);font-weight:700}.cal-cell--studio .cal-day-btn:hover{background:var(--color-accent-hover);transform:scale(1.08)}.cal-cell--other .cal-day-btn{background:var(--color-surface-mid);color:var(--color-text);font-weight:600}.cal-cell--other .cal-day-btn:hover{background:var(--color-surface);transform:scale(1.08)}.cal-cell--drop-in .cal-day-btn{background:var(--color-drop-in);color:var(--color-bg);font-weight:700}.cal-cell--drop-in .cal-day-btn:hover{background:var(--color-drop-in-hover);transform:scale(1.08)}.cal-cell--arc .cal-day-btn{background:var(--color-gold);color:var(--color-bg);font-weight:700}.cal-cell--arc .cal-day-btn:hover{transform:scale(1.08)}.cal-arc-dot{position:absolute;bottom:3px;right:4px;width:5px;height:5px;border-radius:var(--radius-full);background:var(--color-gold)}.cal-private-dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:var(--radius-full);background:var(--color-accent)}.cal-day-btn{position:relative}.cal-cell--disabled .cal-day-btn{color:var(--color-text-muted);opacity:.3;cursor:not-allowed}.cal-cell--disabled .cal-day-btn:hover{transform:none}.cal-cell--today .cal-day-btn{box-shadow:inset 0 0 0 2px var(--color-gold)}.cal-legend{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--color-border);text-align:left}.cal-legend-item{display:flex;align-items:flex-start;gap:.6rem}.cal-legend-swatch{width:14px;height:14px;margin-top:.15rem;border-radius:var(--radius-xs);flex-shrink:0}.cal-legend-swatch--private{background:var(--color-accent)}.cal-legend-swatch--drop-in{background:var(--color-drop-in)}.cal-legend-swatch--arc{background:var(--color-gold)}.cal-legend-text{flex:1;display:flex;flex-direction:column;gap:.1rem}.cal-legend-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 .75rem}.cal-legend-price{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);white-space:nowrap}.cal-legend-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:700}.cal-legend-detail{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45}.cal-loading{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);padding:.5rem 0}@media(max-width:900px){.booking-calendar{max-width:100%}}@media(max-width:640px){.booking-calendar{padding:.75rem}.cal-day-btn{width:min(44px,100%);height:44px;font-size:var(--font-size-sm)}.cal-nav-btn{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.cal-day-btn{transition:none}.cal-cell--drop-in .cal-day-btn:hover,.cal-cell--studio .cal-day-btn:hover,.cal-cell--other .cal-day-btn:hover{transform:none}.cal-nav-btn{transition:none}}.carousel{--carousel-visible: 1;--carousel-gap: 1rem;position:relative;max-width:var(--max-width);margin-inline:auto}.carousel-viewport{display:flex;gap:var(--carousel-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.5rem .25rem .75rem;margin:-.5rem -.25rem -.75rem;border-radius:var(--radius-xl)}.carousel-viewport::-webkit-scrollbar{display:none}.carousel-viewport:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.carousel-slide{flex:0 0 calc((100% - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible));min-width:0;scroll-snap-align:start;display:flex}.carousel-slide>*{flex:1;min-width:0}@media(min-width:641px){.carousel--few .carousel-viewport{justify-content:center}}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem}.carousel-btn{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-card);border:1px solid var(--color-field-border);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),opacity var(--transition-fast)}.carousel-btn:hover:not(:disabled){background:var(--color-surface)}.carousel-btn:disabled{opacity:.4;cursor:default}.carousel-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.carousel-dots{display:flex;align-items:center}.carousel-dot{width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.carousel-dot:before{content:"";width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-surface-mid);border:1px solid var(--color-field-border);transition:background var(--transition-fast),transform var(--transition-fast)}.carousel-dot:hover:before{background:var(--color-text-muted)}.carousel-dot--active:before{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.2)}.carousel-dot:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-full)}@media(max-width:900px){.carousel--multi .carousel-slide{flex-basis:calc((100% - var(--carousel-gap)) / 2)}}@media(max-width:640px){.carousel--multi .carousel-slide{flex-basis:85%}}@media(prefers-reduced-motion:reduce){.carousel-btn,.carousel-dot:before{transition:none}}@media(pointer:coarse){.carousel-dot{width:32px;height:44px}}.adventures-calendar{display:flex;flex-direction:column;align-items:center;gap:.75rem;scroll-margin-top:calc(var(--header-height) + 1rem)}#upcoming{scroll-margin-top:var(--header-height)}.adventures-calendar:focus{outline:none}.adventures-calendar:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-xl)}.adventures-calendar-heading{font-family:var(--font-title);font-weight:700;font-size:var(--font-size-xl);color:var(--color-text);text-align:center}.adventures-calendar .booking-calendar{max-width:400px}.adventures-empty{color:var(--color-text-muted);text-align:center}.adventures-upcoming{display:flex;flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto}.adventures-upcoming-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.adventures-dates{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.adventures-date{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.adventures-date-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.adventures-date-when{font-weight:700;color:var(--color-text)}.adventures-date-detail{font-size:var(--font-size-sm);color:var(--color-text-muted)}.adventures-date-seats{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}@media(max-width:640px){.adventures-date{grid-template-columns:minmax(0,1fr) auto}.adventures-date-seats{grid-column:1;grid-row:2}.adventures-date .btn{grid-column:2;grid-row:1 / span 2}}.adventures-open-link{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;margin-top:.5rem;color:var(--color-gold);font-size:var(--font-size-md);font-weight:600;text-decoration:underline;text-underline-offset:3px}.adventures-open-link:hover{color:var(--color-text)}.detail-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem;text-align:left}.detail-list li{display:flex;gap:.75rem;align-items:flex-start}.detail-list .icon{flex-shrink:0;color:var(--color-gold);margin-top:.15rem}.detail-list-label{display:block;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.15rem}.detail-list-value{color:var(--color-text);font-size:var(--font-size-md);line-height:1.5}.detail-list-value a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-field-border);text-underline-offset:3px}.detail-list-value a:hover{color:var(--color-accent);text-decoration-color:currentColor}.detail-panel{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;text-align:left}.detail-panel-title{font-family:var(--font-title);font-size:var(--font-size-lg);font-weight:700}.players-visit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:880px;margin:0 auto}@media(max-width:760px){.players-visit{grid-template-columns:minmax(0,1fr)}}.news-optin{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.4;text-align:left;cursor:pointer}.news-optin input{margin-top:.15rem;accent-color:var(--color-accent)}.contact-form{display:flex;flex-direction:column;gap:1rem}.contact-form-group{display:flex;flex-direction:column;gap:.375rem}.contact-form-label{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-muted)}.contact-form-input,.contact-form-textarea{padding:.75rem 1rem;border:1px solid var(--color-field-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);transition:border-color .2s}.contact-form-input::placeholder,.contact-form-textarea::placeholder{color:var(--color-text-muted);opacity:.5}.contact-form-input:focus,.contact-form-textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form-textarea{resize:vertical;min-height:140px;line-height:1.6}.contact-form-error{color:var(--color-red-text);font-size:var(--font-size-md)}.contact-form-success{text-align:center;padding:1rem 0;animation:contactSuccessIn .5s ease both}.contact-form-success-icon{font-size:var(--font-size-3xl);margin-bottom:.75rem;line-height:1;color:var(--color-success);display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-full);background:var(--color-success-subtle);animation:contactSuccessPop .45s cubic-bezier(.34,1.56,.64,1) .12s both}@keyframes contactSuccessIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes contactSuccessPop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.contact-form-success,.contact-form-success-icon{animation:none}}.contact-form-success h2,.contact-form-success h3{font-family:var(--font-title);font-size:var(--font-size-2xl);font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.contact-form-success p{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.6}.contact-form .btn{width:100%;text-align:center;margin-top:.5rem}.contact-form .btn:disabled{opacity:.5;cursor:not-allowed}.contact-form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.contact-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.contact-form-optional{font-weight:400}.contact-char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-top:.25rem}.contact-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden}.corporate-features{padding:5rem 0;background:var(--color-bg)}.corporate-enquire{scroll-margin-top:var(--header-height)}.corporate-enquire-card{max-width:720px;margin:0 auto;text-align:left;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem}@media(max-width:640px){.corporate-features{padding:3rem 0}.corporate-enquire-card{padding:1.25rem}}.privacy-page{padding:var(--section-pad);padding-top:8rem;min-height:80vh}.privacy-inner{max-width:720px;margin:0 auto}.privacy-inner h1{font-family:var(--font-title);font-size:var(--font-size-title);font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.privacy-updated{font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:2.5rem}.privacy-inner h2{font-family:var(--font-title);font-size:var(--font-size-xl);font-weight:700;margin-top:2rem;margin-bottom:.75rem;color:var(--color-text)}.privacy-inner h3{font-family:var(--font-title);font-size:var(--font-size-lg);font-weight:700;margin-top:1.25rem;margin-bottom:.5rem;color:var(--color-text)}.privacy-inner p{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.75;margin-bottom:1rem}.privacy-inner ul{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}.privacy-inner li{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.75;margin-bottom:.5rem}.privacy-inner a{color:var(--color-accent);text-decoration:underline;transition:color .2s}.privacy-inner a:hover{color:var(--color-accent-hover)}.privacy-inner a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}.privacy-review-note{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:var(--font-size-md);font-style:italic}@media(max-width:640px){.privacy-page{padding:var(--section-pad-mobile);padding-top:6rem}}.privacy-cookie-preferences{background:none;border:1px solid var(--color-accent);border-radius:var(--radius-sm, 6px);color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--font-size-base);min-height:44px;padding:.6rem 1.2rem;transition:color .2s,border-color .2s}.privacy-cookie-preferences:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.privacy-cookie-preferences:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.terms-page{padding:var(--section-pad);padding-top:8rem;min-height:80vh}.terms-inner{max-width:720px;margin:0 auto}.terms-inner h1{font-family:var(--font-title);font-size:var(--font-size-title);font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.terms-updated{font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:2.5rem}.terms-inner h2{font-family:var(--font-title);font-size:var(--font-size-xl);font-weight:700;margin-top:2rem;margin-bottom:.75rem;color:var(--color-text)}.terms-inner h3{font-family:var(--font-title);font-size:var(--font-size-lg);font-weight:700;margin-top:1.25rem;margin-bottom:.5rem;color:var(--color-text)}.terms-inner p{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.75;margin-bottom:1rem}.terms-inner ul,.terms-inner ol{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}.terms-inner ol{list-style:decimal}.terms-inner li{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.75;margin-bottom:.5rem}.terms-inner a{color:var(--color-accent);text-decoration:underline;transition:color .2s}.terms-inner a:hover{color:var(--color-accent-hover)}.terms-inner a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}.terms-review-note{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:var(--font-size-md);font-style:italic}@media(max-width:640px){.terms-page{padding:var(--section-pad-mobile);padding-top:6rem}}.contact-page{padding:var(--section-pad);padding-top:calc(var(--header-height) + 3rem);min-height:80vh}.contact-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}.contact-main h1{font-family:var(--font-title);font-size:var(--font-size-title);font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.contact-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}.contact-aside{margin-top:.5rem}@media(max-width:900px){.contact-inner{grid-template-columns:minmax(0,1fr);max-width:560px;gap:2rem}.contact-aside{margin-top:0}}@media(max-width:640px){.contact-page{padding:var(--section-pad-mobile);padding-top:calc(var(--header-height) + 2rem)}}.notice-strip{background:var(--color-accent-subtle);border-block:1px solid var(--color-accent-border)}.notice-strip-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .75rem;margin:0;padding:0 1rem;font-size:var(--font-size-md);color:var(--color-text);text-align:center}.notice-strip-link{display:inline-flex;align-items:center;gap:.25rem;min-height:44px;font-weight:600;color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.notice-strip-link:hover{color:var(--color-accent-hover)}.notice-strip-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.about-mission{max-width:700px;margin:0 auto}.about-mission p{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.7}.about-mission p+p{margin-top:1.25rem}.about-studio{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2rem;align-items:center;max-width:var(--max-width);margin:0 auto}.about-studio-photos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:.75rem;aspect-ratio:16 / 10}.about-studio-photo{overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface)}.about-studio-photo:first-child{grid-row:span 2}.about-studio-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-avatar{display:block;width:100px;height:100px;border-radius:var(--radius-full);object-fit:cover}.about-avatar--empty{background:var(--color-accent-glow-subtle);border:2px dashed var(--color-accent-border)}.about-join-card{background:var(--color-accent-subtle);border:1px dashed var(--color-accent-border)}@media(max-width:900px){.about-studio{grid-template-columns:minmax(0,1fr);max-width:640px}}@media(max-width:640px){.about-studio-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;aspect-ratio:auto}.about-studio-photo{aspect-ratio:4 / 3}.about-studio-photo:first-child{grid-row:auto;grid-column:span 2;aspect-ratio:16 / 10}}.not-found-section{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:var(--section-pad);padding-top:calc(60px + 3rem)}.not-found-inner{max-width:500px}.not-found-code{font-family:var(--font-title);font-size:var(--font-size-jumbo);font-weight:700;line-height:1;background:linear-gradient(to bottom,var(--color-accent),var(--color-gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.not-found-heading{font-family:var(--font-title);font-size:var(--font-size-title);font-weight:700;margin-bottom:1rem}.not-found-message{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.6;margin-bottom:2rem}.not-found-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.not-found-home{color:var(--color-text);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-field-border);text-underline-offset:3px}.not-found-home:hover{color:var(--color-accent)}.not-found-home:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}@media(max-width:640px){.not-found-section{padding:var(--section-pad-mobile);padding-top:calc(56px + 2rem);min-height:70vh}}
