@import "https://fonts.googleapis.com/css2?family=Allura&family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@500;600;700&family=Dancing+Script:wght@500;600;700&family=Playfair+Display:wght@500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;color:var(--color-text);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 88%, transparent), color-mix(in srgb, var(--color-paper-cream) 96%, transparent)), var(--color-background);font-family:var(--font-body);font-size:var(--font-md);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}button,input,select,textarea{font:inherit}@media (hover:none) and (pointer:coarse){input,select,textarea{font-size:max(16px,1rem)}}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}fieldset{border:0;margin:0;padding:0}#root{min-height:100svh}@keyframes fade-up{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-left{0%{clip-path:inset(0 100% 0 0);transform:translate(-.75rem)}to{clip-path:inset(0);transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.page-state{min-height:100svh;padding:var(--spacing-xl);color:var(--color-text-muted);text-align:center;place-items:center;display:grid}.section-kicker{font-family:var(--font-serif);font-size:var(--font-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.section-title{margin:var(--spacing-xs) 0 var(--spacing-md);font-family:var(--font-serif);color:var(--color-text);font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.05}.section-copy{max-width:50rem;color:var(--color-text-muted);margin:0 auto}.form-error{margin-top:var(--spacing-2xs);color:var(--color-danger);font-size:var(--font-xs)}.form-success{color:var(--color-success);font-size:var(--font-sm)}:root{--color-primary:#426b3f;--color-primary-dark:#2e4d2e;--color-secondary:#8b9f6b;--color-accent:#d7c78a;--color-background:#f3f7ed;--color-surface:#fffef8;--color-surface-soft:#edf3df;--color-paper-white:#fff;--color-paper-cream:#fbf6e8;--color-admin-background:#f2f5ec;--color-overlay:#162618c7;--color-overlay-soft:#2d48308c;--color-overlay-text:#16261873;--color-text:#253124;--color-text-muted:#708064;--color-border:#cfd9bd;--color-paper-line:#aebd91;--color-success:#426b3f;--color-warning:#8a6e24;--color-danger:#9f4b3d;--wedding-bg:#faf8ef;--wedding-paper:#f7f5ec;--wedding-primary:#43583d;--wedding-primary-dark:#30412c;--wedding-sage:#9da98f;--wedding-gold:#c4a76a;--wedding-gold-soft:#d6c79e;--wedding-text:#263225;--wedding-muted:#717a68;--wedding-line:#8d9d7e59;--font-display:"Allura", "Segoe Script", "Apple Chancery", cursive;--font-handwriting:"Dancing Script", "Allura", "Segoe Script", "Apple Chancery", cursive;--font-editorial:"Cormorant Garamond Medium";--font-serif:"Playfair Display", "Times New Roman", serif;--font-body:"Be Vietnam Pro", "Inter", "Segoe UI", system-ui, sans-serif;--font-xs:.75rem;--font-sm:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.45rem;--font-2xl:2.2rem;--font-hero:clamp(3.4rem, 6.4vw, 6.5rem);--spacing-2xs:.25rem;--spacing-xs:.5rem;--spacing-sm:.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-section:clamp(3.5rem, 7vw, 6.5rem);--radius-xs:.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--radius-pill:999px;--shadow-sm:0 .5rem 1.5rem #2d483014;--shadow-md:0 1.25rem 3.5rem #2d48301f;--shadow-lg:0 2rem 5rem #253c282e}.loader{place-items:center;gap:var(--spacing-md);min-height:100svh;color:var(--color-text-muted);text-align:center;display:grid}.loader__mark{aspect-ratio:1;border:1px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-pill);width:2.25rem;animation:.9s linear infinite loader-spin}@keyframes loader-spin{to{transform:rotate(1turn)}}
