:root{--bg: #f7fbff;--panel: #ffffff;--surface: #ffffff;--surface-alt: #eaf4ff;--ink: #102033;--muted: #5c7086;--primary: #1f6fbf;--primary-dark: #144f8c;--gold: #f2b84b;--accent: #f2b84b;--teal: #1aa6a6;--line: #cfe0f2;--link: #144f8c;--header-bg: #f7fbff;--header-link-bg: #ffffff;--footer-bg: #0f2540;--footer-text: #dcecff;--hover-bg: #e8f3ff;--hover-border: #7cb7ef;--form-bg: #ffffff;--input-bg: #ffffff;--success-bg: #e5f8f1;--success-border: #74d4ae;--caption-bg: #0f2540;--shadow: 0 18px 45px rgba(41, 22, 55, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,var(--surface-alt) 0,transparent 30%),var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}a{color:inherit}.site-header{position:sticky;top:0;z-index:10;min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,4vw,72px);background:color-mix(in srgb,var(--header-bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;background:transparent;border:0;cursor:pointer;color:var(--ink);text-align:left}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:1.8rem;background:var(--primary);color:var(--panel);box-shadow:7px 7px 0 var(--gold)}.brand small{display:block;color:var(--muted);margin-top:2px}.nav{display:flex;align-items:center;gap:8px}.nav a,.footer-links a{border:0;background:transparent;cursor:pointer;color:var(--muted);padding:10px 12px;border-radius:999px;text-decoration:none}.nav a.active,.nav a:hover,.footer-links a:hover{color:var(--ink);background:var(--header-link-bg)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;text-decoration:none;border:2px solid transparent;font-weight:800;cursor:pointer}.primary,.nav-cta{background:var(--primary);color:var(--panel);box-shadow:0 10px 25px #e8336d40}.menu-button{display:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px}.hero-carousel{position:relative;height:70vh;min-height:460px;max-height:760px;overflow:hidden;background:var(--caption-bg)}.carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:clamp(48px,8vw,100px) clamp(18px,4vw,72px);background-position:center;background-size:cover;opacity:0;transform:scale(1.025);transition:opacity .85s ease,transform 1.2s ease;pointer-events:none}.active-slide{opacity:1;transform:scale(1);pointer-events:auto}.carousel-copy{max-width:780px;color:var(--panel)}.carousel-copy h1{text-shadow:0 12px 35px rgba(0,0,0,.35)}.carousel-copy .hero-text{color:#ffffffe0}.hero-text{font-size:1.18rem;color:var(--muted);max-width:660px;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.carousel-copy .secondary{background:#ffffffeb;color:var(--ink)}.carousel-nav-area{position:absolute;top:0;bottom:0;z-index:4;width:clamp(72px,10vw,140px);border:0;background:transparent;color:var(--panel);cursor:pointer;display:flex;align-items:center;padding:0 clamp(12px,2vw,28px)}.carousel-nav-left{left:0;justify-content:flex-start}.carousel-nav-right{right:0;justify-content:flex-end}.carousel-nav-area:hover,.carousel-nav-area:focus-visible{background:#00000024}.carousel-arrow-button{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:#ffffffeb;color:var(--ink);box-shadow:0 12px 32px #0000003d;transition:transform .18s ease,background .18s ease;pointer-events:none}.carousel-nav-area:hover .carousel-arrow-button,.carousel-nav-area:focus-visible .carousel-arrow-button{transform:scale(1.08);background:var(--panel)}.carousel-controls{position:absolute;left:50%;bottom:clamp(18px,3vw,32px);z-index:5;display:flex;align-items:center;gap:14px;transform:translate(-50%);background:#ffffff24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:12px 16px}.carousel-controls button{border:0;border-radius:999px;cursor:pointer}.carousel-dots{display:flex;align-items:center;gap:8px}.carousel-controls .dot{width:12px;height:12px;padding:0;background:#ffffff8c}.carousel-controls .active-dot{width:32px;background:var(--gold)}.features,.section{padding:48px clamp(18px,4vw,72px)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card,.event-card,.rsvp-section,.legal-page{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 30px #29163712}.feature-card{padding:28px}.feature-card p,.section-heading p,.legal-page p{color:var(--muted);line-height:1.7}.icon{width:50px;height:50px;border-radius:16px;background:var(--gold);display:grid;place-items:center;margin-bottom:18px}.section-heading{max-width:760px;margin-bottom:24px}.event-list{display:grid;gap:16px}.event-card{display:grid;grid-template-columns:190px 1fr;padding:20px;gap:20px}.event-date{border-radius:22px;background:var(--surface-alt);padding:20px;display:grid;gap:8px;align-content:center}.event-date strong{font-size:1.35rem}.event-details p{display:flex;align-items:center;gap:8px;color:var(--muted);margin:8px 0}.event-title-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.status{border-radius:999px;padding:7px 10px;background:var(--success-bg);font-weight:800;font-size:.82rem}.status.sold-out{background:color-mix(in srgb,var(--primary) 16%,var(--panel))}.rsvp-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;padding:clamp(22px,4vw,40px)}.rsvp-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:grid;gap:7px;color:var(--muted);font-weight:700}input,select,textarea{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--input-bg);color:var(--ink)}textarea{min-height:100px;resize:vertical}.full{grid-column:1 / -1}.success{background:var(--success-bg);border:1px solid var(--success-border);border-radius:16px;padding:14px;font-weight:800}.legal-page,.content-page{margin:48px clamp(18px,4vw,72px);padding:clamp(24px,5vw,52px);max-width:980px}.content-page{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 30px #29163712}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.info-grid article{background:var(--surface-alt);border:1px solid var(--line);border-radius:22px;padding:22px}.info-grid p,.content-page p{color:var(--muted);line-height:1.7}.legal-page h1{font-size:clamp(2.5rem,5vw,4rem)}.footer{display:grid;grid-template-columns:1fr auto;gap:16px;padding:34px clamp(18px,4vw,72px);background:var(--footer-bg);color:var(--footer-text)}.footer p,.footer small{color:var(--footer-text)}.footer-links{display:flex;gap:8px}.footer-links button{color:var(--footer-text)}.footer small{grid-column:1 / -1}code{background:var(--surface-alt);padding:2px 6px;border-radius:7px}@media (max-width: 820px){.menu-button{display:inline-flex}.nav{display:none;position:absolute;top:78px;left:16px;right:16px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-open{display:flex}.features,.rsvp-section,.event-card,.footer,.info-grid{grid-template-columns:1fr}.hero-carousel{height:70vh;min-height:560px}.carousel-slide{align-items:flex-start;padding:54px 72px 96px}.carousel-nav-area{width:68px;padding:0 10px}.carousel-arrow-button{width:44px;height:44px}h1{letter-spacing:-.06em}.rsvp-form{grid-template-columns:1fr}.event-title-row{align-items:flex-start;flex-direction:column}}.event-checkbox-group{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--input-bg)}.event-checkbox-group legend{color:var(--muted);font-weight:800;padding:0 8px}.field-help{margin:0 0 12px;color:var(--muted);line-height:1.5}.event-checkbox-list{display:grid;gap:10px}.checkbox-card{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel);cursor:pointer}.checkbox-card input,.consent-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--purple)}.checkbox-card strong,.checkbox-card small{display:block}.checkbox-card small{color:var(--muted);margin-top:4px;line-height:1.4}.consent-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-alt);font-size:.92rem;line-height:1.45}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;display:flex;flex-direction:column}.page-shell{flex:1 0 auto}.footer{flex-shrink:0;margin-top:auto}.host-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.host-form{background:var(--input-bg);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,3vw,28px);box-shadow:0 10px 30px #29163712}.event-card-hover{position:relative;overflow:visible}.event-name-popover-wrap{position:relative;display:inline-flex;align-items:center;gap:10px;min-width:0}.event-name-popover-wrap h3{margin:0}.event-info-button{width:28px;height:28px;border:1px solid var(--line);border-radius:999px;display:inline-grid;place-items:center;background:var(--gold);color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 6px 14px #29163714}.event-info-button:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.event-popover{position:absolute;top:50%;left:calc(100% + 12px);z-index:8;width:min(420px,calc(100vw - 40px));padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);opacity:0;transform:translate(10px,-50%);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.event-name-popover-wrap:hover .event-popover,.event-name-popover-wrap:focus-within .event-popover{opacity:1;transform:translateY(-50%);pointer-events:auto}.event-popover h4{margin:0 0 10px;font-size:1.05rem}.event-popover p{display:flex;gap:8px;align-items:flex-start;color:var(--muted);margin:9px 0;line-height:1.45}.event-popover a,a{color:var(--link);font-weight:800;text-decoration:none}.event-date strong{font-size:1.05rem;line-height:1.35}@media (max-width: 820px){.host-section{grid-template-columns:1fr}.event-name-popover-wrap{display:flex;width:100%}.event-popover{top:calc(100% + 10px);left:0;width:min(100%,calc(100vw - 40px));transform:translateY(-4px)}.event-name-popover-wrap:hover .event-popover,.event-name-popover-wrap:focus-within .event-popover{transform:translateY(0)}}.host-event-page{max-width:none}.host-event-page .host-section{margin-top:26px;border:1px solid var(--line);border-radius:28px}.event-card-hover{transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.event-card-hover:hover,.event-card-hover:focus-within{background:var(--hover-bg);border-color:var(--hover-border);transform:translateY(-1px);box-shadow:0 16px 38px #2916371f}.event-card-hover:hover .event-date,.event-card-hover:focus-within .event-date{background:var(--panel)}.checkbox-card{transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.checkbox-card:hover,.checkbox-card:focus-within{background:var(--hover-bg);border-color:var(--hover-border);transform:translateY(-1px);box-shadow:0 10px 24px #29163714}.checkbox-card:has(input:checked){background:var(--success-bg);border-color:#21b6a8}.brand{text-decoration:none}.brand-logo{display:block;width:clamp(190px,24vw,320px);max-height:62px;object-fit:contain;object-position:left center}.brand-mark{display:none}.event-title-text{transition:color .16s ease,background .16s ease,box-shadow .16s ease;border-radius:10px;padding:2px 6px;margin-left:-6px!important}.event-name-popover-wrap:hover .event-title-text,.event-name-popover-wrap:focus-within .event-title-text{color:var(--primary-dark);background:var(--gold);box-shadow:0 0 0 3px #ffc84d47}.copy-event-button{width:100%;min-height:42px;margin-top:12px;border:1px solid var(--line);border-radius:999px;background:var(--primary);color:var(--panel);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;cursor:pointer}.copy-event-button:hover,.copy-event-button:focus-visible{background:var(--primary-dark)}.checkbox-card input,.consent-row input{accent-color:var(--primary)}.admin-login{display:grid;gap:14px;max-width:420px;margin-top:24px}.admin-login .button{gap:8px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:28px}.theme-card{display:grid;gap:12px;text-align:left;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--ink);padding:18px;box-shadow:0 10px 24px #29163714;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.theme-card:hover,.theme-card:focus-visible,.active-theme-card{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 16px 34px #29163721}.theme-swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.theme-swatches i{height:28px;border:1px solid rgba(0,0,0,.12);border-radius:8px}.theme-card small{color:var(--muted);font-weight:800}@media (max-width: 820px){.brand-logo{width:min(56vw,240px);max-height:54px}}.site-header,.nav.nav-open{background:color-mix(in srgb,var(--header-bg) 92%,transparent);color:var(--ink)}.nav a{color:var(--muted)}.nav a.active,.nav a:hover,.nav a:focus-visible{color:var(--ink);background:var(--header-link-bg)}.footer,.footer a,.footer-links a{color:var(--footer-text)}.footer-links a:hover,.footer-links a:focus-visible{background:color-mix(in srgb,var(--panel) 12%,transparent);color:var(--panel)}.button,.primary-button,.copy-event-button{border-color:transparent}.primary,.nav-cta,.copy-event-button,.primary-button{background:var(--primary);color:var(--panel)}.primary:hover,.nav-cta:hover,.copy-event-button:hover,.primary-button:hover,.primary:focus-visible,.nav-cta:focus-visible,.copy-event-button:focus-visible,.primary-button:focus-visible{background:var(--primary-dark);color:var(--panel)}.secondary{background:var(--panel);color:var(--ink);border-color:var(--line)}.secondary:hover,.secondary:focus-visible{background:var(--hover-bg);border-color:var(--hover-border)}.feature-card,.event-card,.rsvp-section,.legal-page,.content-page,.host-form,.theme-card,.event-popover,.event-checkbox-group,.contact-form-section{background:var(--panel);border-color:var(--line);color:var(--ink)}.info-grid article,.event-date,.consent-row{background:var(--surface-alt);border-color:var(--line);color:var(--ink)}input,select,textarea{background:var(--input-bg);color:var(--ink);border-color:var(--line)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}input:focus,select:focus,textarea:focus,.checkbox-card:focus-within{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);border-color:var(--primary)}.checkbox-card{background:var(--panel);border-color:var(--line);color:var(--ink)}.checkbox-card:hover,.checkbox-card:focus-within,.event-card-hover:hover,.event-card-hover:focus-within{background:var(--hover-bg);border-color:var(--hover-border)}.checkbox-card:has(input:checked){background:var(--success-bg);border-color:var(--success-border)}.status{background:var(--success-bg);color:var(--ink)}.status.filling-fast{background:var(--surface-alt)}.status.sold-out{background:color-mix(in srgb,var(--primary) 18%,var(--panel))}.event-popover{box-shadow:var(--shadow)}.event-title-text{color:var(--ink)}.event-name-popover-wrap:hover .event-title-text,.event-name-popover-wrap:focus-within .event-title-text{color:var(--primary-dark);background:var(--gold)}.carousel-copy .eyebrow,.eyebrow{color:var(--primary-dark)}.carousel-copy .eyebrow{color:var(--gold)}.carousel-arrow-button,.carousel-copy .secondary{background:var(--panel);color:var(--ink)}.carousel-controls .active-dot{background:var(--gold)}.success,.success-message{background:var(--success-bg);border-color:var(--success-border);color:var(--ink)}.icon{background:var(--gold);color:var(--ink)}.theme-card:hover,.theme-card:focus-visible,.active-theme-card{border-color:var(--primary)}
