:root{--sand-50:oklch(98.5% .009 93.6);--sand-100:oklch(96.7% .011 89.7);--sand-200:oklch(94.3% .019 90.5);--sand-300:oklch(89.5% .024 88.2);--sand-600:oklch(49.7% .026 80.5);--blue-50:oklch(95.7% .014 248);--blue-100:oklch(92.3% .021 236.8);--blue-300:oklch(77.4% .051 253.1);--blue-600:oklch(38.3% .075 260.1);--blue-800:oklch(32.2% .065 260);--blue-900:oklch(30% .057 258);--green-600:#16a34a;--red-500:#ef4444;--red-600:#dc2626;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-section:clamp(2.5rem, 1.5rem + 3vw, 4rem);--width-wide:1400px;--gutter:clamp(1.5rem, 5vw, 3.5rem);--radius-0:0;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-pill:9999px;--font-serif:"Cormorant", Georgia, "Times New Roman", serif;--font-sans:"Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--step-2:clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem);--step-3:clamp(2.2rem, 1.6rem + 3vw, 3.75rem);--step-4:clamp(3rem, 1.8rem + 6vw, 6.5rem);--text-xs:var(--step--1);--text-sm:var(--step--1);--text-base:var(--step-0);--text-lg:var(--step-1);--text-xl:var(--step-1);--text-2xl:var(--step-2);--text-3xl:var(--step-3);--leading-tight:1.15;--leading-normal:1.65;--leading-relaxed:1.75;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:600;--shadow-sm:0 1px 2px 0 #1b2e4a0d;--shadow-md:0 6px 20px -8px #1b2e4a2e;--shadow-lg:0 12px 30px -10px #1b2e4a38;--color-bg:var(--sand-100);--color-surface:var(--sand-50);--color-surface-hover:var(--sand-200);--color-ink:var(--blue-600);--color-text:var(--blue-600);--color-text-muted:var(--sand-600);--color-border:var(--sand-300);--color-border-strong:var(--blue-300);--color-accent:var(--blue-600);--color-accent-hover:var(--blue-800);--color-accent-contrast:#fff;--color-accent-subtle:var(--blue-100);--color-inverse-bg:var(--blue-900);--color-inverse-text:var(--blue-50);--color-inverse-muted:var(--blue-300);--color-inverse-accent:var(--blue-100);--color-error:var(--red-500);--color-error-hover:var(--red-600);--color-success:var(--green-600);color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0}body{font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input,textarea,select{width:100%;padding:var(--space-2) var(--space-1);font:inherit;color:var(--color-text);border:0;border-bottom:1.5px solid var(--color-border);background:0 0;border-radius:0;font-size:1rem}input::placeholder,textarea::placeholder,select::placeholder{color:color-mix(in oklch, var(--color-text-muted) 70%, transparent)}input:focus,textarea:focus,select:focus{outline-offset:2px;border-bottom-color:var(--color-accent);outline:2px solid #0000}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--color-accent)}.container{max-width:720px;padding:var(--space-6) var(--space-4);align-items:center;gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.container>*{width:100%}.error{color:var(--color-error);font-size:var(--step--1)}.loading{color:var(--color-text-muted)}.lang-dropdown{align-self:flex-end;width:auto;position:relative}.lang-dropdown__trigger{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--step--1);cursor:pointer;display:inline-flex}.lang-dropdown__trigger:hover{background:var(--color-surface-hover)}.lang-dropdown__flag{object-fit:cover;border-radius:2px;flex:none;width:20px;height:15px;box-shadow:0 0 0 1px #0000000f}.lang-dropdown__chevron{opacity:.6;transition:transform .15s}.lang-dropdown__trigger[aria-expanded=true] .lang-dropdown__chevron{transform:rotate(180deg)}.lang-dropdown__menu{top:calc(100% + var(--space-1));padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);z-index:10;margin:0;list-style:none;position:absolute;right:0}.lang-dropdown__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--step--1);text-decoration:none;display:flex}.lang-dropdown__item:hover{background:var(--color-surface-hover)}.lang-dropdown__item[aria-current=true]{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:var(--weight-medium)}.venue-map-wrap{gap:var(--space-3);margin-top:var(--space-6);flex-direction:column;display:flex}.venue-map{border:1px solid var(--color-border);border-radius:var(--radius-md);isolation:isolate;width:100%;height:clamp(280px,45vh,420px);overflow:hidden}.venue-map__cta{font-size:var(--step--1);font-weight:var(--weight-medium);color:var(--color-accent);align-self:flex-start;text-decoration:none}.venue-map__cta:hover{text-decoration:underline}.map-pin__dot{background:var(--color-accent);border:2px solid #fff;border-radius:50%;width:16px;height:16px;display:block;box-shadow:0 1px 4px #1b2e4a80}.heading{font-family:var(--font-serif);line-height:var(--leading-tight);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-ink)}.heading--sm{font-size:var(--step-1)}.heading--md,.heading--lg{font-size:var(--step-2)}.heading--xl,.heading--2xl{font-size:var(--step-3)}.heading--3xl{font-size:var(--step-4)}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn--sm{padding:.6em 1.2em}.btn--md{padding:.85em 1.6em}.btn--primary{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);text-decoration:none}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-surface-hover);text-decoration:none}.btn--ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.btn--ghost:hover{border-color:var(--color-border-strong);color:var(--color-text);text-decoration:none}.btn--on-navy{background:var(--color-inverse-accent);color:var(--color-inverse-bg);border-color:var(--color-inverse-accent)}.btn--on-navy:hover{background:var(--color-accent-contrast);border-color:var(--color-accent-contrast);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--on-navy:focus-visible{outline-color:var(--color-inverse-accent);outline-offset:3px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}.surface--inverse{background:var(--color-inverse-bg);color:var(--color-inverse-text)}.surface--inverse .heading,.surface--inverse h1,.surface--inverse h2,.surface--inverse h3{color:#fff}.surface--inverse .field .field__label,.surface--inverse .field label{color:var(--color-inverse-accent)}.surface--inverse input,.surface--inverse textarea,.surface--inverse select{color:#fff;border-bottom-color:color-mix(in oklch, var(--color-inverse-accent) 40%, transparent)}.surface--inverse input:focus,.surface--inverse textarea:focus,.surface--inverse select:focus{border-bottom-color:var(--color-inverse-accent)}.surface--inverse input:focus-visible,.surface--inverse textarea:focus-visible,.surface--inverse select:focus-visible{outline-color:var(--color-inverse-accent)}.field{margin-bottom:var(--space-4)}.field__label{margin-bottom:var(--space-1);font-size:var(--step--1);font-weight:var(--weight-medium);color:var(--color-text);display:block}.rsvp-form{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.rsvp-form .intro{color:var(--color-text-muted);font-size:var(--step-0)}.rsvp-form .guests{gap:var(--space-3);flex-direction:column;display:flex}.rsvp-form .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.guest-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.guest-row legend{font-family:var(--font-serif);font-size:var(--step-1);font-weight:var(--weight-semibold);color:var(--color-ink);padding:0 var(--space-1)}.guest-row label{gap:var(--space-1);font-size:var(--step--1);color:var(--color-text-muted);flex-direction:column;display:flex}.guest-row .checkbox{justify-content:center;align-self:center;align-items:center;gap:var(--space-2);margin-top:var(--space-1);cursor:pointer;user-select:none;flex-direction:row}.guest-row .checkbox input{appearance:none;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;flex:none;place-content:center;width:1.2rem;height:1.2rem;margin:0;padding:0;transition:background .15s,border-color .15s;display:grid}.guest-row .checkbox input:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.35rem;height:.6rem;transition:transform .12s;transform:rotate(45deg)scale(0)}.guest-row .checkbox input:checked{background:var(--color-accent);border-color:var(--color-accent)}.guest-row .checkbox input:checked:after{transform:rotate(45deg)scale(1)}.guest-row .checkbox input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.rsvp-form .rsvp-message{gap:var(--space-1);font-size:var(--step--1);color:var(--color-text-muted);flex-direction:column;display:flex}.rsvp-form .rsvp-message textarea{resize:vertical;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md)}.rsvp-form .rsvp-message textarea:focus{border-color:var(--color-accent)}.confirmed{text-align:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.admin-login{gap:var(--space-4);flex-direction:column;width:100%;max-width:360px;display:flex}.admin-login label,.admin-form label{gap:var(--space-1);font-size:var(--step--1);color:var(--color-text-muted);flex-direction:column;display:flex}.admin-dashboard{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.admin-dashboard .toolbar{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--step--1)}.admin-table th{font-weight:var(--weight-medium);color:var(--color-text-muted)}.admin-table td.actions{gap:var(--space-1);align-items:center;display:flex}.admin-table td.actions .link-lang{flex:none;width:auto}.admin-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;overflow-x:auto}.admin-table tr:last-child td{border-bottom:none}.admin-table .invite-id{white-space:nowrap;color:var(--color-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-decoration:none}.admin-submission{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.admin-submission .submission-status{font-size:var(--step--1);color:var(--color-text-muted)}.admin-submission .submission-guests{gap:var(--space-3);flex-direction:column;display:flex}.admin-submission .submission-guest{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.admin-submission .submission-guest__name{font-family:var(--font-serif);font-size:var(--step-1);font-weight:var(--weight-semibold);color:var(--color-ink);align-items:center;gap:var(--space-2);display:flex}.admin-submission .submission-tag{font-family:var(--font-sans);font-size:var(--step--1);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.admin-submission .submission-guest__detail{font-size:var(--step--1);color:var(--color-text-muted)}.admin-submission .submission-message{gap:var(--space-1);flex-direction:column;display:flex}.admin-submission .submission-message__label{font-size:var(--step--1);color:var(--color-text-muted)}.admin-form{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.admin-form .guest-names{gap:var(--space-2);flex-direction:column;display:flex}.admin-form .guest-names>span{font-size:var(--step--1);color:var(--color-text-muted)}.guest-name-row{gap:var(--space-2);align-items:center;display:flex}.guest-names-list{gap:var(--space-2);flex-direction:column;display:flex}.form-actions{gap:var(--space-2);display:flex}.admin-heading,.rsvp-heading{text-align:center}#admin-root,#rsvp-root{flex-direction:column;align-items:center;width:100%;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(var(--space-1))}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s ease-out fade-in}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}@font-face{font-family:Cormorant;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/cormorant-latin-500-normal.EBdSCOD3.woff2)format("woff2")}@font-face{font-family:Cormorant;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/cormorant-latin-600-normal.B254Xisw.woff2)format("woff2")}@font-face{font-family:Cormorant;font-style:italic;font-weight:500;font-display:swap;src:url(/_astro/cormorant-latin-500-italic.CxaqvXto.woff2)format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/work-sans-latin-400-normal.jUejSri3.woff2)format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/work-sans-latin-500-normal.BKGnScDy.woff2)format("woff2")}.topbar[data-astro-cid-pgtvljfo]{z-index:20;padding:var(--space-3) var(--space-4);position:absolute;top:0;right:0}
