@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_744198{font-family:Syne,Syne Fallback;font-style:normal}.__variable_744198{--font-display:"Syne","Syne Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_2ca027{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_2ca027{--font-body:"Figtree","Figtree Fallback"}:root{--surface:#fff8f6;--surface-container:#ffe9e5;--on-surface:#261815;--on-surface-variant:#59413c;--primary:#ae3115;--primary-container:#ff6b4a;--secondary:#844981;--outline:#e1bfb8;--error:#ba1a1a;--success:#2d6a4f}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f7f8fa;color:#12141a}a{color:inherit}.guest-main,.guest-page{--surface:#fff8f6;--surface-container:#ffe9e5;--on-surface:#261815;--on-surface-variant:#59413c;--primary:#ae3115;--primary-container:#ff6b4a;--secondary:#844981;--outline:#e1bfb8;--error:#ba1a1a;--success:#2d6a4f;color:var(--on-surface);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.guest-main{max-width:560px;margin:0 auto;padding:24px 20px 48px}.guest-main a,.guest-page a{color:var(--primary)}.card{background:#ffffff;border:1px solid var(--outline);border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(38,24,21,.06)}.guest-page{position:relative;min-height:100vh}.guest-page-content{position:relative;z-index:1}.guest-background{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.card--glass{background:rgba(255,255,255,.3);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.55);box-shadow:0 12px 40px rgba(15,10,30,.16)}.guest-page--themed .hero{background:linear-gradient(135deg,rgba(174,49,21,.9),rgba(132,73,129,.9))}.guest-page--themed .secondary-button{background:rgba(255,255,255,.85)}.guest-page--themed .social-hub{max-width:560px;margin:0 auto;padding:24px 20px 48px}.guest-bg-image{background-size:cover;background-position:50%;background-repeat:no-repeat}.guest-bg-image:after{content:"";position:absolute;inset:0;background:rgba(10,8,20,.28)}@keyframes guest-gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes guest-blob-drift-a{0%,to{transform:translate(0) scale(1)}33%{transform:translate(12%,-8%) scale(1.08)}66%{transform:translate(-8%,10%) scale(.95)}}@keyframes guest-blob-drift-b{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-14%,6%) scale(1.05)}66%{transform:translate(10%,-12%) scale(1.1)}}.guest-bg-gradient{background:#0f0c29}.guest-bg-gradient:after,.guest-bg-gradient:before{content:"";position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(72px);opacity:.75;will-change:transform}.guest-bg-gradient:before{top:-20%;left:-15%;animation:guest-blob-drift-a 22s ease-in-out infinite}.guest-bg-gradient:after{bottom:-25%;right:-20%;animation:guest-blob-drift-b 26s ease-in-out infinite}.guest-bg-gradient--sunset-glow{background:linear-gradient(-45deg,#ff6b6b,#feca57,#ff9ff3,#ee5a6f);background-size:320% 320%;animation:guest-gradient-shift 16s ease infinite}.guest-bg-gradient--sunset-glow:after,.guest-bg-gradient--sunset-glow:before{display:none}.guest-bg-gradient--ocean-dream{background:linear-gradient(-45deg,#2193b0,#6dd5ed,#00c6ff,#0072ff);background-size:320% 320%;animation:guest-gradient-shift 18s ease infinite}.guest-bg-gradient--ocean-dream:after,.guest-bg-gradient--ocean-dream:before{display:none}.guest-bg-gradient--peach-party{background:linear-gradient(-45deg,#ff9a9e,#fecfef,#fad0c4,#ffd1ff);background-size:320% 320%;animation:guest-gradient-shift 14s ease infinite}.guest-bg-gradient--peach-party:after,.guest-bg-gradient--peach-party:before{display:none}.guest-bg-gradient--aurora:before{background:radial-gradient(circle,#00d2ff 0,transparent 70%)}.guest-bg-gradient--aurora:after{background:radial-gradient(circle,#9d50bb 0,transparent 70%)}.guest-bg-gradient--aurora{background:linear-gradient(160deg,#0f0c29,#302b63 50%,#24243e)}.guest-bg-gradient--lavender-haze:before{background:radial-gradient(circle,#c084fc 0,transparent 70%)}.guest-bg-gradient--lavender-haze:after{background:radial-gradient(circle,#fbcfe8 0,transparent 70%)}.guest-bg-gradient--lavender-haze{background:linear-gradient(160deg,#2e1065,#4c1d95 45%,#831843)}.guest-bg-gradient--midnight-spark:before{background:radial-gradient(circle,#7c3aed 0,transparent 70%)}.guest-bg-gradient--midnight-spark:after{background:radial-gradient(circle,#2563eb 0,transparent 70%)}.guest-bg-gradient--midnight-spark{background:linear-gradient(160deg,#0f172a,#1e1b4b 50%,#141e30)}@media (prefers-reduced-motion:reduce){.guest-bg-gradient,.guest-bg-gradient:after,.guest-bg-gradient:before{animation:none!important}}.hero{border-radius:16px;padding:20px;margin-bottom:20px;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#ffffff}.hero--banner{background:transparent}.hero h1{margin:0 0 8px;font-size:1.75rem;line-height:1.2}.hero-type{margin:0 0 8px;font-size:.95rem;opacity:.9;text-transform:capitalize}.hero-description{margin:0;font-size:1rem;line-height:1.5;opacity:.95}.details-section{margin-top:8px;padding-top:16px;border-top:1px solid var(--outline)}.details-heading{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--on-surface)}.rsvp-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--outline)}.secondary-button{width:100%;padding:12px;border-radius:999px;border:1px solid var(--outline);background:#fff;cursor:pointer;font-weight:600;font-size:1rem}.meta{display:grid;grid-gap:10px;gap:10px;margin:0 0 24px}.meta-row{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--on-surface-variant)}.meta-label{font-weight:700;min-width:72px}.meta-label,label{color:var(--on-surface)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--outline);border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:var(--on-surface);margin-bottom:16px}textarea{min-height:88px;resize:vertical}button[type=submit]{width:100%;padding:14px 20px;border:none;border-radius:999px;background:var(--primary);color:#ffffff;font-size:1rem;font-weight:700;cursor:pointer}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--error);font-size:.9rem}.error,.success{margin-bottom:12px}.success{color:var(--success);font-size:.95rem;font-weight:600}.muted{color:var(--on-surface-variant);font-size:.9rem}.center{text-align:center;padding:48px 20px}.spinner{width:32px;height:32px;border:3px solid var(--outline);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(1turn)}}.rsvp-lookup{margin-top:24px;padding-top:20px;border-top:1px solid var(--outline)}.link-button{background:none;border:none;padding:0;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-lookup-form .rsvp-lookup-actions{display:flex;flex-direction:column;gap:10px}.rsvp-lookup-form button[type=submit]{margin-bottom:0}.rsvp-lookup-form .secondary-button{width:100%}.guest-list{margin-top:24px;padding-top:20px;border-top:1px solid var(--outline)}.guest-list-title{margin:0 0 12px;font-size:1.125rem;color:var(--secondary)}.guest-list-names{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.guest-list-names li{padding:10px 14px;background:var(--surface-container);border-radius:12px;font-weight:600}.social-hub{position:relative;padding-bottom:96px}.social-hub-card{overflow:hidden}.social-hub-header{margin-bottom:16px}.phase-badge{display:inline-block;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.phase-badge--live{background:#ffe9e5;color:var(--primary)}.phase-badge--post{background:#f4eeff;color:var(--secondary)}.social-hub-title{margin:0 0 8px;font-size:1.5rem;color:var(--secondary)}.social-hub-subtitle{margin:0;color:var(--on-surface-variant);line-height:1.5}.meta--compact{margin-bottom:16px}.photo-section{margin-top:8px;padding-top:20px;border-top:1px solid var(--outline)}.photo-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.photo-section-header h3{margin:0;font-size:1.125rem;color:var(--secondary)}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}@media (min-width:480px){.photo-gallery{grid-template-columns:repeat(4,1fr);gap:8px}}.photo-gallery-item{position:relative;aspect-ratio:1;padding:0;border:none;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--surface-container);transition:transform .18s ease,box-shadow .18s ease}.photo-gallery-item:hover{transform:scale(1.02);box-shadow:0 8px 20px rgba(38,24,21,.12)}.photo-gallery-item:active{transform:scale(.98)}.photo-gallery-image{width:100%;height:100%;object-fit:cover;display:block}.photo-gallery-overlay{position:absolute;inset:auto 0 0 0;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:.7rem;font-weight:600;text-align:left}.photo-gallery-empty{text-align:center;padding:32px 16px;background:var(--surface-container);border-radius:16px}.photo-gallery-empty p{margin:0 0 6px}.center-inline{display:flex;align-items:center;gap:12px;justify-content:center;padding:24px}.photo-upload-input{display:none}.photo-upload-fab{position:fixed;right:20px;bottom:24px;z-index:40;display:flex;align-items:center;gap:8px;padding:14px 18px;border:none;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 8px 24px rgba(174,49,21,.35);transition:transform .18s ease,box-shadow .18s ease}.photo-upload-fab:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(174,49,21,.4)}.photo-upload-fab:active:not(:disabled){transform:scale(.96)}.photo-upload-fab:disabled{opacity:.7;cursor:wait}.photo-upload-gate{position:fixed;right:20px;bottom:24px;z-index:40;max-width:220px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--outline);box-shadow:0 8px 24px rgba(38,24,21,.1)}.photo-upload-gate p{margin:0;font-size:.85rem;line-height:1.4}.photo-upload-fab span:first-child{font-size:1.25rem;line-height:1}.photo-upload-fab-label{display:none}@media (min-width:420px){.photo-upload-fab-label{display:inline}}.photo-upload-progress{position:fixed;left:20px;right:20px;bottom:88px;z-index:41;padding:12px 14px;background:#fff;border:1px solid var(--outline);border-radius:14px;box-shadow:0 8px 24px rgba(38,24,21,.1);font-size:.85rem;color:var(--on-surface-variant)}.photo-upload-progress-track{height:6px;background:var(--surface-container);border-radius:999px;overflow:hidden;margin-bottom:8px}.photo-upload-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.photo-name-prompt{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(38,24,21,.45)}.photo-name-prompt-card{width:100%;max-width:360px;background:#fff;border-radius:20px;padding:20px;border:1px solid var(--outline)}.photo-name-prompt-card h3{margin:0 0 8px}.photo-name-prompt-actions{display:flex;gap:10px;margin-top:8px}.photo-name-prompt-actions .primary-button,.photo-name-prompt-actions .secondary-button{flex:1 1;width:auto}.primary-button{padding:12px 16px;border:none;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.6;cursor:not-allowed}.photo-lightbox{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.photo-lightbox-backdrop{position:absolute;inset:0;border:none;background:rgba(0,0,0,.92);cursor:pointer}.photo-lightbox-content{position:relative;z-index:1;max-width:min(960px,100%);max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:lightbox-in .22s ease}@keyframes lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.photo-lightbox-close{position:absolute;top:-44px;right:0;width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;cursor:pointer}.photo-lightbox-image{max-width:100%;max-height:calc(90vh - 64px);object-fit:contain;border-radius:12px}.photo-lightbox-meta{margin-top:12px;color:#fff;text-align:center;display:flex;flex-direction:column;gap:4px}.rsvp-compact{margin-top:24px;padding-top:20px;border-top:1px solid var(--outline)}.rsvp-summary p{margin:0 0 12px}