@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.09zddjkbdep5a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--ink:#443d35;--muted:#6e685e;--paper:#f5efe7;--cream:#e9e0d2;--sage:#91a087;--sage-dark:#63725d;--olive:#96976c;--beige:#c6baa2;--brown:#625345;--blush:#cfada6;--line:#564c3f2e;--shadow:0 22px 60px #443d351f}html{scroll-behavior:smooth;min-height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--ink);background:var(--paper);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--sage-dark);color:#fff;box-shadow:0 12px 28px #52624d38}.button-secondary{border-color:var(--line);color:var(--ink);background:#ffffffb8}.button-ghost{border-color:var(--line);color:var(--ink);background:0 0}.wedding-page{background:linear-gradient(128deg,#91a08726,#0000 40%),linear-gradient(#f7f2eb 0%,#eee5d7 54%,#e9ede5 100%)}.hero-section{flex-direction:column;justify-content:center;gap:clamp(22px,4vh,42px);min-height:min(94svh,860px);padding:clamp(34px,5vh,54px) max(24px,50% - 590px);display:flex;position:relative;overflow:hidden}.hero-backdrop{box-shadow:var(--shadow);background:linear-gradient(128deg,#f7f2ebf0,#e7e5d6e0),linear-gradient(90deg,#91a08733,#c6baa233);border:1px solid #62534521;animation:.9s both backdrop-in;position:absolute;inset:22px}.hero-content{z-index:1;text-align:center;max-width:760px;margin:0 auto;animation:.85s 80ms both rise-in;position:relative}.eyebrow{color:var(--sage-dark);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800}.hero-content h1{color:var(--brown);margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,8vw,6.7rem);font-weight:400;line-height:.96}.hero-date{color:var(--olive);letter-spacing:.14em;text-transform:uppercase;margin-top:16px;font-weight:800}.hero-date:before,.hero-date:after{background:var(--beige);content:"";width:clamp(28px,6vw,62px);height:1px;margin:0 14px 4px;animation:.9s .32s both line-open;display:inline-block}.hero-copy{max-width:680px;color:var(--muted);margin:16px auto 0;font-size:1rem;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:21px;display:flex}.botanical{z-index:1;opacity:.72;width:130px;height:255px;animation:7s ease-in-out infinite botanical-sway;position:absolute}.botanical:before{background:var(--sage-dark);content:"";width:2px;height:220px;position:absolute;bottom:0;left:62px;transform:rotate(-12deg)}.botanical-left{bottom:17%;left:max(36px,50% - 620px)}.botanical-right{animation-delay:-3s;top:14%;right:max(36px,50% - 620px);transform:scaleX(-1)}.leaf{background:var(--sage);border-radius:48px 0;width:48px;height:82px;position:absolute;transform:rotate(-30deg)}.leaf-one{bottom:54px;left:15px}.leaf-two{background:var(--olive);bottom:110px;left:58px;transform:scaleX(-1)rotate(-32deg)}.leaf-three{background:var(--beige);width:40px;height:68px;bottom:157px;left:27px}@keyframes backdrop-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes botanical-sway{0%,to{rotate:-2deg}50%{rotate:3deg}}@keyframes line-open{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes gentle-pulse{0%,to{box-shadow:0 0 0 1px var(--line), 0 0 0 0 #63725d2e}50%{box-shadow:0 0 0 1px var(--line), 0 0 0 7px #63725d00}}.section-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:76px 0}.section-heading{max-width:680px;margin-bottom:34px}.section-heading h2,.rsvp-band h2{margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,4.1rem);font-weight:400}.section-heading p,.rsvp-band p,.venue-card p,.timeline-item p{color:var(--muted);line-height:1.7}.timeline-wrap{z-index:2;width:100%;scroll-margin-top:16px;position:relative}.timeline-label{color:var(--sage-dark);letter-spacing:.18em;text-align:center;text-transform:uppercase;margin-bottom:12px;font-size:.75rem;font-weight:800}.timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid;position:relative}.timeline:before{background:linear-gradient(90deg, var(--sage), var(--olive), var(--beige), var(--brown));content:"";height:2px;position:absolute;top:23px;left:34px;right:34px}.timeline-item{border:1px solid var(--line);background:#f8f3ecc2;border-radius:8px;min-height:128px;padding:45px 13px 13px;animation:.7s both rise-in;position:relative;box-shadow:0 12px 34px #443d350f}.timeline-dot{background:var(--sage-dark);width:20px;height:20px;box-shadow:0 0 0 1px var(--line);border:5px solid #f5efe7;border-radius:50%;animation:3.2s ease-in-out infinite gentle-pulse;position:absolute;top:14px;left:50%;transform:translate(-50%)}.timeline-time{color:var(--olive);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.timeline-item h3,.venue-card h3{margin:5px 0;font-size:1.12rem}.venue-band{border-top:1px solid var(--line)}.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.venue-card{border:1px solid var(--line);background:#faf7f2db;border-radius:8px;transition:border-color .24s,transform .24s,box-shadow .24s;overflow:hidden}.venue-card:hover{border-color:#63725d59;transform:translateY(-4px);box-shadow:0 17px 36px #443d351a}.venue-label{color:var(--sage-dark);text-transform:uppercase;background:#f5efe7eb;border-radius:999px;padding:10px 13px;font-weight:800;line-height:1;position:absolute;top:16px;left:16px}.venue-media{aspect-ratio:16/9;background:var(--beige);position:relative}.venue-media img{object-fit:cover;transition:transform .7s}.venue-card:hover .venue-media img{transform:scale(1.035)}.venue-details{padding:25px 28px 22px}.venue-location{letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:800;color:var(--olive)!important}.venue-description{margin:9px 0 16px}.venue-details address{color:var(--brown);font-style:normal;font-weight:700}.venue-actions{gap:12px;margin-top:21px;display:grid}.venue-actions .button{width:fit-content}.photo-credit{color:var(--muted);text-underline-offset:3px;font-size:.74rem;line-height:1.45;text-decoration:underline}.rsvp-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;margin-bottom:56px;display:flex}.deadline{background:var(--brown);border-radius:999px;flex:none;padding:14px 18px;font-weight:800;color:#fff!important}.app-shell{background:linear-gradient(132deg, #91a0872e, transparent 30rem), linear-gradient(180deg, var(--paper), #e9ede5);min-height:100vh;padding:36px 20px 60px}.app-container{width:min(1180px,100%);margin:0 auto}.panel,.guest-card,.admin-card{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;box-shadow:0 16px 48px #1f242114}.panel{padding:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field label{color:var(--muted);font-size:.82rem;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.field textarea{resize:vertical;min-height:84px}.status-row,.admin-actions,.song-results{flex-wrap:wrap;gap:10px;display:flex}.status-pill{color:var(--sage-dark);background:#91a0872e;border-radius:999px;padding:8px 12px;font-weight:800}.guest-list,.admin-grid{gap:16px;display:grid}.guest-card,.admin-card{padding:18px}.guest-card h3,.admin-card h3{margin-bottom:12px}.song-result{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;grid-template-columns:54px minmax(0,1fr);gap:10px;width:min(320px,100%);padding:8px;display:grid}.song-artwork{background:#1f242114 50%/cover;border-radius:6px;width:54px;height:54px;display:block}.song-result strong,.song-result span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.admin-header h1,.app-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:400}.admin-layout{grid-template-columns:330px minmax(0,1fr);gap:18px;display:grid}.admin-sidebar{align-content:start;gap:16px;display:grid}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-box{background:#91a0872e;border-radius:8px;padding:14px}.summary-box strong{font-size:1.8rem;display:block}.group-card{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:14px}.group-card+.group-card{margin-top:12px}.muted{color:var(--muted)}.error-text{color:#88474a;font-weight:700}.success-text{color:var(--sage-dark);font-weight:700}@media (max-width:780px){.hero-backdrop{inset:14px}.hero-section{justify-content:flex-start;gap:24px;padding:48px 22px 34px}.hero-date:before,.hero-date:after,.botanical{display:none}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline:before{display:none}.timeline-item{min-height:113px;padding:14px}.timeline-dot{display:none}.venue-grid,.form-grid,.admin-layout,.summary-grid{grid-template-columns:1fr}.rsvp-band,.admin-header{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
