:root{color-scheme:light;--color-bg: #ffffff;--color-bg-alt: #f7f4fa;--color-bg-card: #ffffff;--color-text: #1c1c28;--color-text-muted: #6b7280;--color-heading: #0d0d1a;--color-accent: #862d9e;--color-accent-h: #6b1d82;--color-accent2: #1a6b2e;--color-accent2-h: #14531f;--color-border: #e4d9f0;--color-shadow: rgba(134, 45, 158, .07);--color-shadow-h: rgba(134, 45, 158, .16);--font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--max-w: 1200px;--section-py: 5rem;--section-px: 1.5rem;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--t-theme: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;--t-fast: .18s ease;--t-med: .32s ease;--header-h: 68px;--header-h-mobile: 59px;--bp-xs: 480px;--bp-sm: 768px;--bp-md: 1024px;--bp-lg: 1280px;--bp-xl: 1536px}[data-theme=dark]{color-scheme:dark;--color-bg: #0d0914;--color-bg-alt: #140d1f;--color-bg-card: #1c1428;--color-text: #dde1ec;--color-text-muted: #8892a4;--color-heading: #f0f2f8;--color-accent: #9b42cc;--color-accent-h: #b35fe0;--color-accent2: #2da44e;--color-accent2-h: #3ec862;--color-border: #2e1e3a;--color-shadow: rgba(0, 0, 0, .35);--color-shadow-h: rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font);font-size:1rem;line-height:1.65;color:var(--color-text);background-color:var(--color-bg);transition:var(--t-theme);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:var(--font)}.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}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--color-accent);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-sm);z-index:1000;font-weight:700;transition:top var(--t-fast)}.skip-link:focus{top:.75rem}.maintenance-banner{background:#fff8e1;color:#7a5b00;border-bottom:1px solid #f0d98c;text-align:center;font-size:.875rem;font-weight:600;padding:.65rem 1.25rem}[data-theme=dark] .maintenance-banner{background:#3a2f0a;color:#f5d879;border-bottom-color:#5c4a10}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--section-px)}h1,h2,h3,h4{color:var(--color-heading);line-height:1.18;font-weight:700;letter-spacing:-.025em}.accent{color:var(--color-accent)}.accent2{color:var(--color-accent2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.78rem 1.875rem;border-radius:var(--radius-pill);font-size:.9375rem;font-weight:600;letter-spacing:.01em;border:2px solid transparent;white-space:nowrap;transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--color-accent-h);border-color:var(--color-accent-h);transform:translateY(-2px);box-shadow:0 8px 22px #862d9e61}.btn-outline{background-color:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn-outline:hover,.btn-outline:focus-visible{background-color:var(--color-accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px #862d9e47}.btn-green{background-color:var(--color-accent2);color:#fff;border-color:var(--color-accent2)}.btn-green:hover,.btn-green:focus-visible{background-color:var(--color-accent2-h);border-color:var(--color-accent2-h);transform:translateY(-2px);box-shadow:0 8px 22px #1a6b2e59}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.section{padding:var(--section-py) var(--section-px)}.section--alt{background-color:var(--color-bg-alt)}.section-header{text-align:center;margin-bottom:3rem}.section-eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.625rem}.section-title{font-size:clamp(1.75rem,4vw,2.625rem);margin-bottom:.875rem}.section-desc{color:var(--color-text-muted);font-size:1.0625rem;max-width:560px;margin-inline:auto;line-height:1.7}.site-header{position:sticky;top:0;z-index:200;height:var(--header-h);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);transition:var(--t-theme),box-shadow var(--t-fast);padding-top:env(safe-area-inset-top)}.site-header.scrolled{box-shadow:0 4px 24px var(--color-shadow)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.logo-text{font-size:1.375rem;font-weight:800;letter-spacing:-.035em;transition:opacity var(--t-fast)}.logo-bes{color:#862d9e}.logo-tcg{color:#1a6b2e}.logo-expo{color:var(--color-text-muted);font-weight:600}.logo:hover .logo-text{opacity:.8}.logo-img{height:36px;width:auto}.logo:hover .logo-img{opacity:.8}.footer-brand .logo-img{height:44px;margin-bottom:.875rem}.nav-list{display:flex;align-items:center;gap:.125rem}.nav-link{display:block;padding:.5rem .9rem;font-size:.9375rem;font-weight:500;color:var(--color-text);border-radius:var(--radius-sm);transition:color var(--t-fast),background-color var(--t-fast)}.nav-link:hover,.nav-link.active{color:var(--color-accent);background-color:var(--color-bg-alt)}.nav-link.active{font-weight:600}.header-controls{display:flex;align-items:center;gap:.5rem}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--t-fast),background-color var(--t-fast)}@media (hover: hover){.dark-mode-toggle:hover{background-color:var(--color-bg-alt);color:var(--color-accent)}}.dark-mode-toggle .icon{width:24px;height:24px}[data-theme=dark] .icon-moon{display:none}[data-theme=dark] .icon-sun{display:block}[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon,.icon-sun,.icon-moon{display:block}.nav-hamburger{display:none;flex-direction:column;justify-content:space-between;width:44px;height:44px;padding:13px 11px;border-radius:var(--radius-sm);transition:background-color var(--t-fast)}@media (hover: hover){.nav-hamburger:hover{background-color:var(--color-bg-alt)}}.nav-hamburger span{display:block;height:2px;background-image:linear-gradient(var(--color-text),var(--color-text));background-color:var(--color-text);border-radius:2px;transition:transform var(--t-med),opacity var(--t-fast)}.nav-hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}@media (max-width: 768px){:root{--header-h: var(--header-h-mobile)}.nav-hamburger{display:flex}.nav{position:absolute;top:var(--header-h);left:0;right:0;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);max-height:0;overflow:hidden;transition:max-height var(--t-med),opacity var(--t-med);opacity:0;pointer-events:none;z-index:190;padding-bottom:env(safe-area-inset-bottom)}.nav.open{max-height:600px;opacity:1;pointer-events:auto}.nav-list{flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1rem 1rem}.nav-link{padding:.85rem 1rem;font-size:1rem;border-radius:var(--radius-sm);min-height:44px;display:flex;align-items:center}}@media (min-width: 769px){.nav{position:static;overflow:visible;max-height:none;opacity:1;pointer-events:auto;background:none;border:none;box-shadow:none}}@media (prefers-reduced-motion: reduce){.nav{transition:none}}.hero{position:relative;min-height:calc(100dvh - var(--header-h));display:flex;align-items:center;overflow:hidden;padding:5rem var(--section-px)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(134,45,158,.12) 0%,rgba(26,107,46,.06) 50%,transparent 100%);z-index:0}.hero-cards{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.card-shape{position:absolute;width:180px;height:252px;border-radius:10px;border:1.5px solid rgba(155,66,204,.22);background-size:cover;background-position:center;opacity:.65;box-shadow:0 6px 20px #00000038,0 2px 8px #862d9e1f;animation:cardFloat 9s ease-in-out infinite;will-change:transform}.card-shape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(160deg,#862d9e26,#0d091459);pointer-events:none}.card-shape--1{--rot: 12deg;top:12%;right:8%;background-image:url(/assets/images/cards/pokemon-bg.png);animation-delay:0s;animation-duration:9s}.card-shape--2{--rot: -6deg;top:45%;right:18%;width:140px;height:196px;background-image:url(/assets/images/cards/one-piece-bg.png);animation-delay:-3s;animation-duration:11s}.card-shape--3{--rot: 20deg;bottom:15%;right:5%;width:120px;height:168px;background-image:url(/assets/images/cards/riftbound-bg.png);animation-delay:-6s;animation-duration:13s}.card-shape--4{--rot: -14deg;top:28%;right:-1%;width:130px;height:182px;background-image:url(/assets/images/cards/sports-bg.png);animation-delay:-9s;animation-duration:10s}@keyframes cardFloat{0%{transform:rotate(var(--rot)) translateY(0)}25%{transform:rotate(calc(var(--rot) + 3deg)) translateY(-18px)}55%{transform:rotate(calc(var(--rot) - 2deg)) translateY(-10px)}80%{transform:rotate(calc(var(--rot) + 1.5deg)) translateY(-20px)}to{transform:rotate(var(--rot)) translateY(0)}}.hero-content{position:relative;z-index:1;max-width:680px}.hero-heading{font-size:clamp(2.1rem,5vw,3.75rem);line-height:1.1;color:var(--color-heading);margin-bottom:1.25rem;animation:fadeUp .7s ease both .15s;text-wrap:balance}.hero-sub{font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--color-text-muted);margin-bottom:2.25rem;max-width:640px;animation:fadeUp .7s ease both .25s;display:flex;flex-direction:column;gap:.85rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;animation:fadeUp .7s ease both .35s}@media (prefers-reduced-motion: reduce){.card-shape,.hero-heading,.hero-sub,.hero-actions{animation:none}}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}@media (max-width: 768px){.hero{flex-direction:column;align-items:stretch;justify-content:flex-start;padding-top:1.5rem;padding-bottom:2.5rem;min-height:calc(100dvh - var(--header-h))}.hero-cards{position:relative;height:190px;width:100%;flex-shrink:0;overflow:visible}.card-shape{width:80px;height:112px}.card-shape--1{--rot: -5deg;top:35px;bottom:auto;right:auto;left:calc(50% - 50px);animation-duration:9s}.card-shape--2{--rot: 14deg;top:40px;bottom:auto;right:auto;left:calc(50% + 26px);animation-duration:11s}.card-shape--3{--rot: -20deg;top:30px;bottom:auto;right:auto;left:calc(50% - 124px);animation-duration:13s}.card-shape--4{--rot: 26deg;top:45px;bottom:auto;right:auto;left:calc(50% + 90px);animation-duration:10s}.hero-content{flex:1;padding-top:.25rem}}@media (max-width: 600px){.hero-actions{gap:.5rem}.hero-actions .btn{padding:.6rem 1.2rem;font-size:.875rem;flex:1;min-width:0}.event-card__hero{min-height:160px}.events-grid{grid-template-columns:1fr}}.event-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px var(--color-shadow);transition:transform var(--t-med),box-shadow var(--t-med);container-type:inline-size}.event-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px var(--color-shadow-h)}.event-card__hero{position:relative;background:linear-gradient(135deg,#3d0a52,#1a6b2e);min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.75rem;overflow:hidden;text-align:center}.event-card__hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000c7,#0000002e 55%,#0006);z-index:0}.event-card__badge{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .85rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;background:#1a6b2ed1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;letter-spacing:.08em;text-transform:uppercase;z-index:2;border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 8px #00000040}.event-card__badge:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#eafff0d9}.event-card__badge--soon{background:#c98a0cd9;border-color:#ffe08a73;box-shadow:0 2px 10px #c98a0c59}.event-card__badge--soon:before{background:#ffecb3f2;animation:badge-pulse 1.6s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.event-card__dates{position:relative;z-index:1;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.1rem}.event-card__date-row{display:flex;align-items:baseline;gap:.35rem}.event-card__month{font-size:1.35rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}.event-card__month--stacked{font-size:1.6rem;margin-top:1.6rem;margin-bottom:.1rem}.event-card__date-row--multi{gap:.6rem}.event-card__day-amp{font-size:2.4rem;font-weight:700;line-height:1;align-self:center;opacity:.92;text-shadow:0 4px 16px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.55)}.event-card__day{font-size:4.25rem;font-weight:900;line-height:1;letter-spacing:-.04em;text-shadow:0 4px 16px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.55);font-variant-numeric:tabular-nums}.event-card__day-suffix{font-size:1.5rem;font-weight:700;vertical-align:super;text-shadow:0 2px 8px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}.event-card__year{font-size:1.1rem;font-weight:600;opacity:.85;text-shadow:0 2px 8px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}.event-card__schedule{display:flex;flex-direction:column;gap:.35rem;margin-top:.8rem;width:auto}.event-card__schedule-row{display:flex;align-items:stretch;gap:0;background:#0a0a0a8c;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px #0000004d;overflow:hidden}.event-card__schedule-day{display:flex;align-items:center;justify-content:center;padding:.32rem .85rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--color-accent),#862d9e)}.event-card__schedule-hours{display:flex;align-items:center;padding:.32rem 1rem;white-space:nowrap;font-size:.9rem;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:#fffffff2}.event-card__host{position:relative;z-index:1;color:#ffffffa6;font-size:.78rem;margin-top:.6rem}.event-card__info{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.event-card__title{font-size:1.375rem;font-weight:800;letter-spacing:-.035em;text-transform:uppercase}.event-card__title .logo-bes{font-weight:400}.event-card__title .logo-expo{color:#862d9e}.event-card__venue{display:flex;align-items:flex-start;gap:.4rem;font-size:.875rem;color:var(--color-text-muted);transition:color var(--t-fast)}.event-card__venue:hover{color:var(--color-accent)}.inline-icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}.event-card__bst-banner{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.event-card__features{display:flex;flex-wrap:wrap;gap:.4rem}.event-card__features li{padding:.2rem .65rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:500;background-color:var(--color-bg-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.event-card__btn{margin-top:.5rem;align-self:flex-start}.parking-note{display:flex;align-items:flex-start;gap:.875rem;background-color:#1a6b2e14;border:1px solid rgba(26,107,46,.25);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:2.5rem;font-size:.9375rem;max-width:680px;margin-inline:auto}.parking-note svg{flex-shrink:0;color:var(--color-accent2);margin-top:1px}.parking-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.parking-step{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;position:relative;transition:transform var(--t-med),box-shadow var(--t-med)}.parking-step:hover{transform:translateY(-4px);box-shadow:0 10px 30px var(--color-shadow-h)}.parking-step__num{position:absolute;top:1rem;right:1.1rem;font-size:2.5rem;font-weight:800;color:var(--color-accent);opacity:.12;line-height:1;letter-spacing:-.05em}.parking-step__icon-svg{width:36px;height:36px;margin-bottom:.875rem;color:var(--color-accent)}.parking-step h3{font-size:1rem;margin-bottom:.5rem}.parking-step p{font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.find-us{padding:var(--section-py) var(--section-px);background-color:var(--color-bg-alt)}.find-us__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:var(--max-w);margin-inline:auto}.find-us__info{display:flex;flex-direction:column;gap:1.5rem}.find-us__tagline{font-size:1.0625rem;color:var(--color-text-muted);line-height:1.7}.find-us__details{display:flex;flex-direction:column;gap:.875rem}.find-us__detail-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem}.find-us__detail-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-accent);margin-top:2px}.find-us__detail-text strong{display:block;font-weight:600;color:var(--color-heading);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.2rem}.find-us__detail-text span,.find-us__detail-text a{color:var(--color-text-muted);font-size:.9375rem}.find-us__detail-text a:hover{color:var(--color-accent)}.find-us__map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);box-shadow:0 4px 20px var(--color-shadow);aspect-ratio:4 / 3}.find-us__map iframe{display:block;width:100%;height:100%;border:none}@media (max-width: 768px){.find-us__inner{grid-template-columns:1fr;gap:2rem}}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);padding:3.5rem var(--section-px) 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;max-width:var(--max-w);margin-inline:auto;margin-bottom:2.5rem}.footer-brand .logo-text{font-size:1.25rem;display:inline-block;margin-bottom:.875rem}.footer-desc{font-size:.9rem;color:var(--color-text-muted);line-height:1.7;max-width:320px}.footer-col-title{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem}.footer-links{display:flex;flex-direction:column;gap:.5rem}.footer-links a{font-size:.9rem;color:var(--color-text-muted);transition:color var(--t-fast)}.footer-links a:hover{color:var(--color-accent)}.footer-address{font-style:normal;font-size:.9rem;color:var(--color-text-muted);line-height:1.7}.footer-address a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.footer-address a:hover{color:var(--color-accent-h)}.footer-bottom{max-width:var(--max-w);margin-inline:auto;border-top:1px solid var(--color-border);padding-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.footer-bottom p{font-size:.85rem;color:var(--color-text-muted)}.footer-bottom a{color:var(--color-accent)}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr;gap:2rem}}.page-hero{background:linear-gradient(135deg,#1f0a2d,#0b2e14);padding:5rem var(--section-px) 4.5rem;text-align:center;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 100%,rgba(134,45,158,.3) 0%,transparent 65%)}.page-hero__content{position:relative;z-index:1;max-width:700px;margin-inline:auto;animation:fadeUp .65s ease both}.page-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.25rem);margin-bottom:1rem}.page-hero p{font-size:1.125rem;color:#ffffffc7;line-height:1.7}@media (prefers-reduced-motion: reduce){.page-hero__content{animation:none}}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.info-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.75rem;transition:transform var(--t-med),box-shadow var(--t-med)}.info-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px var(--color-shadow-h)}.info-card__icon{width:44px;height:44px;border-radius:var(--radius-sm);background-color:#862d9e1a;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--color-accent)}.info-card__icon svg{width:22px;height:22px}.info-card h3{font-size:1rem;margin-bottom:.5rem}.info-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.65}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.pricing-card{background-color:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:2rem;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med);container-type:inline-size}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px var(--color-shadow-h);border-color:var(--color-accent)}.pricing-card__label{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem}.pricing-card__price{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;color:var(--color-heading);margin-bottom:.25rem;font-variant-numeric:tabular-nums}.pricing-card__sub{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem}.pricing-card__features{text-align:left;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.pricing-card__features li{font-size:.9rem;color:var(--color-text-muted);display:flex;align-items:flex-start;gap:.5rem}.pricing-card__features li:before{content:"";display:inline-block;width:16px;height:16px;flex-shrink:0;margin-top:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23862d9e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat}.pricing-card__btn{width:100%;margin-top:auto}.pricing-card__phase{position:absolute;top:22px;right:-34px;width:130px;margin:0;background:var(--color-accent2, var(--color-accent));color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-align:center;white-space:nowrap;padding:6px 0;transform:rotate(45deg);transform-origin:center;z-index:2;box-shadow:0 2px 8px #00000040}.pricing-card__phase[hidden],.pricing-card--sold-out .pricing-card__phase{display:none}.pricing-phase-notice{font-weight:600}.pricing-phase-notice--ended{color:#e53935}.countdown{margin:0 auto 2.5rem;max-width:540px;text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem 1.25rem;box-shadow:0 4px 24px var(--color-shadow)}.countdown[hidden]{display:none}.countdown__label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem}.countdown__clock{display:flex;align-items:flex-start;justify-content:center;gap:.5rem}.countdown__unit{display:flex;flex-direction:column;align-items:center;min-width:64px}.countdown__value{display:block;width:100%;font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--color-heading);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .25rem}.countdown__value.is-tick{animation:countdown-tick .5s ease}@keyframes countdown-tick{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-3px) scale(1.08);color:var(--color-accent)}to{transform:translateY(0) scale(1)}}.countdown__name{margin-top:.45rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.countdown__sep{font-size:2rem;font-weight:700;line-height:1;color:var(--color-text-muted);padding-top:.5rem}@media (max-width: 480px){.countdown__unit{min-width:0;flex:1}.countdown__value{font-size:1.6rem}.countdown__sep{font-size:1.4rem}}@media (prefers-reduced-motion: reduce){.countdown__value.is-tick{animation:none}}.booking-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;align-items:center;justify-content:center;padding:1.25rem}.booking-modal.active{display:flex}.booking-modal__content{position:relative;width:100%;max-width:480px;max-height:94vh;max-height:94dvh;overflow-y:auto;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.25rem 1.75rem 1.75rem;text-align:center;animation:modalFadeIn .3s ease-out;box-shadow:0 24px 60px #00000073;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.booking-modal__content::-webkit-scrollbar{width:8px}.booking-modal__content::-webkit-scrollbar-track{background:transparent}.booking-modal__content::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-pill)}@media (min-width: 1024px){.booking-modal__content{max-width:640px}}.booking-modal__close{position:absolute;top:10px;right:10px;background:transparent;border:none;color:var(--color-text-muted);font-size:1.9rem;line-height:1;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:transform .2s ease,background-color .2s ease,color .2s ease}.booking-modal__close:hover{transform:scale(1.1);background-color:var(--color-bg-alt);color:var(--color-heading)}.booking-modal__title{font-size:1.6rem;margin:.25rem 0 .75rem;color:var(--color-heading)}.booking-modal__intro{font-size:.95rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1rem}.booking-modal__price{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:var(--color-accent);margin-bottom:1rem;font-variant-numeric:tabular-nums}.booking-modal__note{font-size:.9rem;font-weight:600;color:var(--color-heading);margin-bottom:.9rem}.booking-modal__payments{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.payment-option{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.8rem 1rem;border-radius:var(--radius);font-size:.95rem;font-weight:700;border:2px solid var(--color-border);background-color:var(--color-bg-alt);color:var(--color-heading);text-decoration:none;transition:transform var(--t-fast),border-color var(--t-fast),background-color var(--t-fast)}.payment-option:hover{transform:translateY(-2px);border-color:var(--color-accent)}.payment-option--disabled{opacity:.55;cursor:not-allowed;pointer-events:none;font-weight:600}.payment-option--selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.payment-option__tag{font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.booking-modal__fineprint{font-size:.8rem;color:var(--color-text-muted);margin:0}.booking-steps{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.25rem 0 1.25rem}.booking-step{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:var(--color-text-muted)}.booking-step__num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:var(--color-bg-alt);border:2px solid var(--color-border);font-size:.78rem;color:var(--color-text-muted)}.booking-step.is-active{color:var(--color-heading)}.booking-step.is-active .booking-step__num{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.booking-step__divider{width:28px;height:2px;background-color:var(--color-border)}.booking-form{text-align:left;display:flex;flex-direction:column;gap:.85rem}.booking-form__field{display:flex;flex-direction:column;gap:.3rem}.booking-form__field>label,.booking-form__fieldset>legend{font-size:.85rem;font-weight:700;color:var(--color-heading);padding:0}.booking-form__field input,.booking-form__field textarea{width:100%;padding:.65rem .8rem;border-radius:var(--radius);border:2px solid var(--color-border);background-color:var(--color-bg-alt);color:var(--color-heading);font-size:16px;font-family:inherit;transition:border-color var(--t-fast)}.booking-form__field input:focus,.booking-form__field textarea:focus{outline:none;border-color:var(--color-accent)}.booking-form__field textarea{resize:vertical;min-height:56px}.booking-form__readonly{cursor:default;font-weight:700;color:var(--color-accent);background-color:color-mix(in srgb,var(--color-accent) 10%,var(--color-bg-alt));border-style:dashed}.booking-form__readonly:focus{border-color:var(--color-border)}.booking-form__hint{font-size:.78rem;color:var(--color-text-muted);margin-top:.1rem}.booking-form__fieldset{border:none;margin:0;padding:0}.booking-form__fieldset>legend{margin-bottom:.6rem}.booking-radio{display:flex;align-items:center;gap:.75rem;cursor:pointer;min-height:44px;padding:.7rem .8rem;border-radius:var(--radius);border:none;background-color:transparent;font-size:.95rem;font-weight:600;color:var(--color-heading);margin-bottom:.25rem;transition:background-color var(--t-fast)}.booking-radio:last-child{margin-bottom:0}.booking-radio:hover{background-color:var(--color-bg-alt)}.booking-radio input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;padding:0;box-sizing:border-box;flex:0 0 auto;width:20px;height:20px;min-width:20px;aspect-ratio:1 / 1;border:2px solid var(--color-border);border-radius:50%;background-color:var(--color-bg-card);cursor:pointer;position:relative;transition:border-color var(--t-fast)}.booking-radio input[type=radio]:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background-color:var(--color-accent);transform:scale(0);transition:transform var(--t-fast)}.booking-radio input[type=radio]:checked{border-color:var(--color-accent)}.booking-radio input[type=radio]:checked:after{transform:scale(1)}.booking-radio input[type=radio]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.booking-radio__icon{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;line-height:1;background-color:transparent;color:var(--color-text-muted)}.booking-radio__icon svg{width:22px;height:22px;display:block}.booking-radio__label{flex:1}.booking-radio:has(input:checked){background-color:color-mix(in srgb,var(--color-accent) 12%,transparent)}.booking-radio__note{display:inline;font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.booking-form__submit{width:100%;margin-top:.4rem;min-height:48px}.booking-form__back{width:100%;margin-bottom:.9rem;min-height:48px}.booking-form__error{font-size:.85rem;font-weight:600;color:#b91c1c;margin:.2rem 0 0}[data-theme=dark] .booking-form__error{color:#ff8a80}@media (max-width: 768px){.booking-modal{padding:0;align-items:flex-end}.booking-modal__content{max-width:100%;max-height:92dvh;border-radius:var(--radius) var(--radius) 0 0;padding:2.5rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom));animation:bookingSlideUp .3s ease-out}.booking-modal__close{width:44px;height:44px;font-size:1.7rem;top:8px;right:8px}.booking-modal__title{font-size:1.35rem}.booking-modal__intro{font-size:.9rem}.booking-modal__price{font-size:2rem}.booking-steps{gap:.4rem;margin-bottom:1rem}.booking-step{font-size:.75rem}.booking-step__divider{width:18px}.booking-form__field input,.booking-form__field textarea{font-size:16px;padding:.7rem .8rem}.booking-radio{font-size:.95rem;padding:.75rem .8rem}.booking-form__submit,.booking-form__back,.payment-option{padding:.85rem 1rem;min-height:48px}}@media (prefers-reduced-motion: reduce){.booking-modal__content{animation:none}}@keyframes bookingSlideUp{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}.pricing-card--sold-out{position:relative;overflow:hidden;border-color:#b91c1c!important;opacity:.72;filter:saturate(.55)}.pricing-card--sold-out:hover{transform:none!important;box-shadow:none!important;border-color:#b91c1c!important}.pricing-card--sold-out .pricing-card__label{color:#b91c1c}.sold-out-ribbon{position:absolute;top:22px;right:-34px;width:130px;background:#b91c1c;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:6px 0;transform:rotate(45deg);transform-origin:center;z-index:2;box-shadow:0 2px 8px #b91c1c59}.btn--sold-out{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.65rem 1.5rem;border-radius:var(--radius);border:2px solid #b91c1c;background-color:#b91c1c14;color:#b91c1c;font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:not-allowed;pointer-events:none;opacity:.9;width:100%}.password-gate__box{max-width:380px;text-align:center}.password-gate__form{margin-top:1.5rem}.password-gate__form .btn{width:100%}.verify-intro{max-width:none;margin-bottom:2.5rem}.verify-event{margin-bottom:1.25rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.verify-event__toggle{font-size:1.1rem}.verify-event__count{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.verify-event__body{padding:0 1.5rem 1.5rem}.verify-event__empty{color:var(--color-text-muted)}.verify-package{background-color:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}.verify-package__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.verify-package__header h3{font-size:1.05rem;margin:0}.verify-package__prices{font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.verify-package__links{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem}.floor-plan-container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:720px;margin-inline:auto}.floor-plan-container img{width:100%;border-radius:var(--radius);border:2px dashed var(--color-border);cursor:zoom-in}.floor-plan-overlay{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:8px;padding:8px;transition:all .3s ease;pointer-events:none}.floor-plan-container:hover .floor-plan-overlay{background:#000000b3}.fullscreen-icon{width:24px;height:24px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:transform .3s ease}.floor-plan-container:hover .fullscreen-icon{transform:scale(1.1)}.floorplan-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:9999;align-items:center;justify-content:center}.floorplan-modal.active{display:flex}.floorplan-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .3s ease-out;touch-action:pinch-zoom}.floorplan-modal img{max-width:100%;max-height:100%;object-fit:contain;touch-action:pinch-zoom}.floorplan-modal-close{position:absolute;top:10px;right:10px;background:#0009;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:10000;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease;border-radius:4px}.floorplan-modal-close:hover{transform:scale(1.2);background-color:#000c}@keyframes modalFadeIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.floorplan-modal-close{width:44px;height:44px;font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.floorplan-modal-content{animation:none}}.faq-list{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:.875rem}.faq-item{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow var(--t-fast)}.faq-item:hover{box-shadow:0 4px 20px var(--color-shadow)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:1.25rem 1.5rem;text-align:left;font-size:1rem;font-weight:600;color:var(--color-heading);background:none;cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast)}.faq-question:hover{background-color:var(--color-bg-alt);color:var(--color-accent)}.faq-question[aria-expanded=true]{color:var(--color-accent);background-color:var(--color-bg-alt)}.faq-chevron{width:20px;height:20px;flex-shrink:0;color:var(--color-accent);transition:transform var(--t-med)}.faq-question[aria-expanded=true] .faq-chevron{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--t-med)}.faq-answer.open{max-height:600px}.faq-answer__inner{padding:0 1.5rem 1.25rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.75}.faq-answer__inner a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.faq-answer__inner a:hover{color:var(--color-accent-h)}.faq-category{margin-top:2.5rem;margin-bottom:1rem}.faq-category:first-child{margin-top:0}.faq-category-title{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent2);padding:0 .25rem}@media (prefers-reduced-motion: reduce){.faq-answer,.faq-chevron{transition:none}}.tournaments-hero{display:flex;align-items:center;justify-content:center;text-align:center;padding:2.75rem var(--section-px) 2.25rem;background:radial-gradient(ellipse at center,rgba(134,45,158,.1) 0%,transparent 70%)}.tournaments-hero__content{max-width:600px}.tournaments-hero h1{font-size:clamp(1.85rem,4vw,2.75rem);margin-bottom:.6rem}.tournaments-hero p{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.5rem}.coming-soon-badge{display:inline-block;padding:.5rem 1.5rem;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-accent),var(--color-accent2));color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem;animation:pulseBadge 3s ease infinite}@keyframes pulseBadge{0%,to{box-shadow:0 0 #862d9e66}50%{box-shadow:0 0 0 12px #862d9e00}}@media (prefers-reduced-motion: reduce){.coming-soon-badge{animation:none}}.tournaments-hero__icon{width:38px;height:38px;color:var(--color-accent);margin-bottom:.6rem}.tournaments-hero__subtitle{font-size:.95rem}.tournaments-filter-bar{max-width:var(--max-w);margin:0 auto 1rem;padding:0 var(--section-px);display:flex;justify-content:flex-end}.tournaments-filter-bar select{max-width:220px;padding:.6rem .9rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:.9rem}.tournaments-list{max-width:var(--max-w);margin-inline:auto;padding:0 var(--section-px) var(--section-py);display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}.tournament-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med)}.tournament-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px var(--color-shadow-h);border-color:var(--color-accent)}.tournament-card__thumb{position:relative;height:200px;background-size:cover;background-position:center;background-color:var(--color-bg-alt)}.tournament-card__badge{position:absolute;top:.75rem;right:.75rem}.tournament-card__body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.tournament-card__title{font-size:1.15rem;color:var(--color-heading);margin:0}.tournament-card__location,.tournament-card__details,.tournament-card__price{font-size:.9rem;color:var(--color-text-muted);margin:0}.tournament-card__location{display:inline-block}.tournament-card__details{line-height:1.5}.tournament-card__price{display:flex;align-items:center;gap:.4rem}.tournament-card__price-icon{width:16px;height:16px;flex:none;color:var(--color-accent)}.tournament-card__price strong{color:var(--color-heading)}.tournament-card__actions{display:flex;gap:.6rem;margin-top:.75rem;width:100%}.tournament-card__btn{flex:1;min-width:0;padding:.6rem .9rem;font-size:.85rem;white-space:normal;text-align:center}.sold-out-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b91c1c;background-color:#ffffffeb;border:1px solid rgba(185,28,28,.3)}.tournament-details-modal__tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.tournament-details-modal__tab{background:none;border:none;font:inherit;cursor:pointer;padding:0 0 .65rem;font-size:.9rem;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}.tournament-details-modal__tab:hover{color:var(--color-heading)}.tournament-details-modal__tab--active{color:var(--color-heading);border-bottom-color:var(--color-accent)}.tournament-details-modal__panel{max-height:40vh;overflow-y:auto;text-align:left;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.tournament-details-modal__panel::-webkit-scrollbar{width:8px}.tournament-details-modal__panel::-webkit-scrollbar-track{background:transparent}.tournament-details-modal__panel::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-pill)}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}@media (max-width: 768px){.contact-layout{grid-template-columns:1fr}}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-detail{display:flex;align-items:flex-start;gap:.875rem}.contact-detail__icon{width:44px;height:44px;border-radius:var(--radius-sm);background-color:#862d9e1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent)}.contact-detail__icon svg{width:22px;height:22px}.contact-detail__text strong{display:block;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-heading);margin-bottom:.2rem}.contact-detail__text span,.contact-detail__text a{font-size:.9375rem;color:var(--color-text-muted)}.contact-detail__text a:hover{color:var(--color-accent)}.social-links{display:flex;gap:.875rem;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1.25rem;border-radius:var(--radius-pill);border:2px solid var(--color-border);font-size:.9rem;font-weight:600;color:var(--color-text);transition:border-color var(--t-fast),color var(--t-fast),background-color var(--t-fast)}.social-link svg{width:18px;height:18px}.social-link:hover{border-color:var(--color-accent);color:var(--color-accent);background-color:#862d9e0f}.contact-info__heading{font-size:clamp(1.35rem,2.5vw,1.875rem);margin-bottom:.875rem;line-height:1.25}.contact-info__desc{color:var(--color-text-muted);font-size:.9375rem;line-height:1.7;margin-bottom:2rem}.contact-info__social{margin-top:2rem}.contact-info__social-label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-heading);margin-bottom:.75rem}.contact-form{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.5rem;box-shadow:0 8px 32px var(--color-shadow)}.contact-form__heading{font-size:clamp(1.25rem,2vw,1.625rem);margin-bottom:1.75rem;margin-top:.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 520px){.form-row{grid-template-columns:1fr}}.contact-form__submit{width:100%;justify-content:center;gap:.625rem}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-heading)}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:16px;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #862d9e1f}.form-group textarea{resize:vertical;min-height:140px}.form-error-text{font-size:.8rem;font-weight:600;color:#b91c1c;margin-top:.15rem}[data-theme=dark] .form-error-text{color:#ff8a80}.form-error-banner{background-color:#b91c1c14;border:1px solid rgba(185,28,28,.3);border-radius:var(--radius-sm);padding:.85rem 1.1rem;font-size:.875rem;font-weight:600;color:#b91c1c;margin-bottom:1.25rem}[data-theme=dark] .form-error-banner{color:#ff8a80}.form-success{text-align:center;padding:1.5rem;background-color:#1a6b2e14;border:1px solid rgba(26,107,46,.25);border-radius:var(--radius);color:var(--color-accent2);font-weight:600;margin-top:1rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in:nth-child(2){transition-delay:.1s}.fade-in:nth-child(3){transition-delay:.2s}.fade-in:nth-child(4){transition-delay:.3s}.fade-in:nth-child(5){transition-delay:.4s}.fade-in:nth-child(6){transition-delay:.5s}@media (prefers-reduced-motion: reduce){.fade-in{opacity:1;transform:none;transition:none}}.text-center{text-align:center}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mb-2{margin-bottom:2rem}.divider{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.callout{display:flex;align-items:flex-start;gap:.875rem;padding:1.1rem 1.4rem;border-radius:var(--radius);font-size:.9375rem;margin-bottom:2rem}.callout--info{background-color:#1a6b2e14;border:1px solid rgba(26,107,46,.25);color:var(--color-text)}.callout svg{width:20px;height:20px;flex-shrink:0;color:var(--color-accent);margin-top:1px}.callout--info svg{color:var(--color-accent2)}.callout ul{list-style:disc;padding-left:1.5rem}.callout li{margin-bottom:.75rem}.callout li:last-child{margin-bottom:0}.link{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;transition:color var(--t-fast)}.link:hover{color:var(--color-accent-h)}@media (max-width: 768px){.callout{gap:1.25rem;padding:1.5rem;font-size:.96875rem}.callout ul{padding-left:1.75rem}}.event-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem;margin-bottom:2.5rem}.event-filter__btn{min-height:44px;padding:.55rem 1.15rem;font-size:.9rem;font-weight:600;color:var(--color-text-muted);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.event-filter__btn:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-1px)}.event-filter__btn.is-active{color:#fff;background-color:var(--color-accent);border-color:var(--color-accent)}.event-group{margin-bottom:3rem}.event-group:last-of-type{margin-bottom:0}.event-group__header{margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.event-group__title{font-size:1.4rem;color:var(--color-heading);margin:0 0 .3rem}.event-group__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted);margin:0}.event-group__date{font-weight:700;color:var(--color-accent2);letter-spacing:.02em}.event-group__sep{color:var(--color-border)}.event-empty{text-align:center;color:var(--color-text-muted);font-size:1rem;padding:2rem 0}.gallery-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 480px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-item{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;cursor:pointer;background-color:var(--color-bg-alt);border:1px solid var(--color-border);aspect-ratio:4 / 3;box-shadow:0 2px 12px var(--color-shadow);transition:transform var(--t-med),box-shadow var(--t-med),border-color var(--t-med)}.gallery-item:hover,.gallery-item:focus-visible{transform:translateY(-4px);box-shadow:0 10px 28px var(--color-shadow);border-color:var(--color-accent);outline:none}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-med);background-color:var(--color-bg-alt)}.gallery-item:hover img,.gallery-item:hover video{transform:scale(1.06)}.gallery-item__caption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1rem .85rem;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(to top,#000000c7,#0000);transition:opacity var(--t-fast)}.gallery-item__zoom{position:absolute;top:12px;right:12px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:8px;color:#fff;opacity:0;transform:scale(.8);transition:opacity var(--t-fast),transform var(--t-fast)}.gallery-item__zoom svg{width:20px;height:20px}.gallery-item:hover .gallery-item__zoom{opacity:1;transform:scale(1)}.gallery-item__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#862d9ed9;border-radius:50%;color:#fff;box-shadow:0 4px 18px #0006;transition:transform var(--t-fast),background-color var(--t-fast)}.gallery-item__play svg{width:26px;height:26px;margin-left:3px}.gallery-item:hover .gallery-item__play{transform:translate(-50%,-50%) scale(1.12)}.gallery-item--missing img,.gallery-item--missing video{opacity:0}.gallery-item--missing:after{content:"Photo coming soon";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);background:repeating-linear-gradient(45deg,var(--color-bg-alt) 0,var(--color-bg-alt) 12px,var(--color-bg-card) 12px,var(--color-bg-card) 24px)}.lightbox-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:9999;align-items:center;justify-content:center;touch-action:pan-y}.lightbox-modal.active{display:flex}.lightbox-modal-content{position:relative;max-width:92vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-stage{display:flex;align-items:center;justify-content:center;animation:modalFadeIn .3s ease-out}.lightbox-stage img,.lightbox-stage video{max-width:88vw;max-height:86vh;object-fit:contain;border-radius:6px}.lightbox-modal-close{position:absolute;top:-8px;right:-8px;background:#0009;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:10000;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:transform .2s ease,background-color .2s ease}.lightbox-modal-close:hover{transform:scale(1.15);background-color:#000000d9}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:#00000080;border:none;color:#fff;font-size:1.75rem;cursor:pointer;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s ease,transform .2s ease}.lightbox-nav:hover{background:#862d9ed9;transform:translateY(-50%) scale(1.08)}.lightbox-nav--prev{left:18px}.lightbox-nav--next{right:18px}@media (max-width: 768px){.lightbox-modal-close{width:44px;height:44px;font-size:1.5rem;top:0;right:0}.lightbox-nav{width:44px;height:44px;font-size:1.4rem}.lightbox-nav--prev{left:6px}.lightbox-nav--next{right:6px}}@media (prefers-reduced-motion: reduce){.lightbox-stage{animation:none}}@media (min-width: 1024px){:root{--section-py: 6rem}.container{padding-inline:2rem}}@media (min-width: 1280px){:root{--section-py: 6.5rem}}@media (min-width: 1536px){.container{max-width:1360px}}html,body{overflow-x:hidden}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.callout--warning{background-color:#d977061a;border:1px solid rgba(217,119,6,.3);color:var(--color-text)}.callout--warning svg{color:#d97706}.table-selection__loading{min-height:40vh;display:flex;align-items:center;justify-content:center}.table-selection__spinner{width:40px;height:40px;margin:0 auto 1.25rem;border-radius:50%;border:4px solid var(--color-border);border-top-color:var(--color-accent);animation:table-selection-spin .8s linear infinite}@keyframes table-selection-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.table-selection__spinner{animation-duration:2.4s}}@media (min-width: 1400px){.container.container--wide{max-width:1680px}}.table-selection__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}@media (min-width: 1024px){.table-selection__layout{grid-template-columns:minmax(0,1fr) 320px}}.table-floorplan{display:flex;flex-direction:column;gap:.75rem}.table-floorplan__controls{position:absolute;bottom:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:8px}.table-floorplan__controls--fullscreen{position:absolute;top:10px;right:10px;left:auto;z-index:2}.table-floorplan__ctrl-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background-color:var(--color-bg-card);color:var(--color-heading);font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #00000040;transition:color var(--t-fast),background-color var(--t-fast),transform var(--t-fast)}.table-floorplan__ctrl-btn svg{width:17px;height:17px}.table-floorplan__ctrl-btn:hover:not(:disabled){color:var(--color-accent);transform:scale(1.06)}.table-floorplan__ctrl-btn:disabled{opacity:.4;cursor:default}.table-floorplan__viewport{position:relative;width:100%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--color-border);background-color:var(--color-bg-alt);cursor:grab;touch-action:none}.table-floorplan__viewport--panning{cursor:grabbing}.table-floorplan__svg{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.table-floorplan__backdrop{fill:var(--color-bg-alt)}.table-floorplan__bg-image{pointer-events:none}.table-floorplan__viewport:fullscreen,.table-floorplan__viewport:-webkit-full-screen{display:flex;align-items:center;justify-content:center;border-radius:0;width:100vw;height:100vh;background-color:var(--color-bg-alt)}.table-floorplan__viewport:fullscreen .table-floorplan__svg,.table-floorplan__viewport:-webkit-full-screen .table-floorplan__svg{width:auto;height:100%;max-width:100%}.table-floorplan__table{cursor:default}.table-floorplan__table--available{cursor:pointer}.table-floorplan__table--available .table-floorplan__rect{fill:var(--color-accent2);stroke:var(--color-accent2-h);stroke-width:1.5;opacity:.9}.table-floorplan__table--available:hover .table-floorplan__rect,.table-floorplan__table--available:focus-visible .table-floorplan__rect{opacity:1;stroke-width:2.5}.table-floorplan__table--selected{cursor:pointer}.table-floorplan__table--selected .table-floorplan__rect{fill:var(--color-accent);stroke:var(--color-accent-h);stroke-width:2.5}.table-floorplan__table--taken{cursor:not-allowed}.table-floorplan__table--taken .table-floorplan__rect{fill:#b91c1c;stroke:#7f1d1d;stroke-width:1.5;opacity:.75}.table-floorplan__table--ineligible{cursor:not-allowed}.table-floorplan__table--ineligible .table-floorplan__rect{fill:var(--color-border);stroke:var(--color-border);opacity:.5}.table-floorplan__table--ineligible .table-floorplan__label{opacity:.6}.table-floorplan__rect{transition:opacity var(--t-fast),stroke-width var(--t-fast)}.table-floorplan__table-image{pointer-events:none}.table-floorplan__table:focus-visible{outline:none}.table-floorplan__table--available:focus-visible .table-floorplan__rect,.table-floorplan__table--selected:focus-visible .table-floorplan__rect{stroke:var(--color-heading)}.table-floorplan__label{font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;fill:#fff;paint-order:stroke;stroke:#0000008c;stroke-width:2px;letter-spacing:.02em}.table-floorplan__avatar-ring{fill:none;stroke:var(--color-accent);stroke-width:2.5px;pointer-events:none}.table-floorplan__vendor-name{font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;fill:#fff;paint-order:stroke;stroke:#0000008c;stroke-width:2px;letter-spacing:.01em}.table-floorplan__number-tag{font-size:8px;font-weight:700;text-anchor:end;dominant-baseline:hanging;pointer-events:none;fill:#fff;paint-order:stroke;stroke:#0009;stroke-width:2px}.live-floorplan__legend{justify-content:center;margin-top:1rem}.live-floorplan__loading{aspect-ratio:1200 / 850;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border-radius:var(--radius);border:1px solid var(--color-border);background-color:var(--color-bg-alt)}.live-floorplan__spinner{width:40px;height:40px;border-radius:50%;border:4px solid var(--color-border);border-top-color:var(--color-accent);animation:table-selection-spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.live-floorplan__spinner{animation-duration:2.4s}}.table-selection__summary{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 20px var(--color-shadow);align-self:start;position:sticky;top:calc(var(--header-h) + 1rem)}.table-selection__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-muted)}.table-selection__swatch{width:12px;height:12px;border-radius:3px;display:inline-block;margin-left:.35rem}.table-selection__swatch:first-child{margin-left:0}.table-selection__swatch--available{background-color:var(--color-accent2)}.table-selection__swatch--selected{background-color:var(--color-accent)}.table-selection__swatch--taken{background-color:#b91c1c}.table-selection__swatch--ineligible{background-color:var(--color-border)}.table-selection__count{font-weight:700;color:var(--color-heading);font-variant-numeric:tabular-nums}.table-selection__chosen-list{list-style:none;display:flex;flex-direction:column;gap:.4rem;max-height:260px;overflow-y:auto}.table-selection__chosen-list li{padding:.5rem .75rem;border-radius:var(--radius-sm);background-color:var(--color-bg-alt);border:1px solid var(--color-border);font-weight:600;font-size:.9rem}.table-selection__empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic}.table-selection__image-upload{display:flex;flex-direction:column;gap:.5rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.table-selection__image-upload-label{font-weight:700;color:var(--color-heading);font-size:.9rem;margin:0}.table-selection__image-upload-hint{font-size:.8rem;color:var(--color-text-muted);margin:0}.table-selection__image-preview{display:flex;align-items:center;gap:.75rem}.table-selection__image-preview img{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.table-selection__image-upload-btn{position:relative;display:inline-flex;align-self:flex-start;cursor:pointer}.table-selection__image-upload-btn.is-disabled{opacity:.65;cursor:default;pointer-events:none}.table-selection__image-upload-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.table-selection__submit{width:100%}@media (max-width: 1023px){.table-selection__summary{position:static}}.event-tab-row-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.event-tab-row{display:flex;overflow-x:auto;gap:1.75rem;max-width:100%;min-width:0;contain:layout;padding:.25rem .25rem .4rem;scroll-behavior:smooth;scrollbar-width:none}.event-tab-row::-webkit-scrollbar{display:none}.event-tab-arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--t-fast)}.event-tab-arrow:hover{color:var(--color-accent)}.event-tab-arrow svg{width:22px;height:22px}.event-tab{flex:0 0 auto;padding-bottom:.5rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.event-tab:hover:not(:disabled){color:var(--color-text)}.event-tab--active{color:var(--color-text);border-bottom-color:var(--color-accent)}.event-tab--locked{opacity:.4;cursor:not-allowed}
