:root{--bg: #081b44;--bg-deep: #06142f;--bg-mid: #0a2152;--text: #fff8eb;--text-soft: rgba(255, 248, 235, .76);--text-faint: rgba(255, 248, 235, .54);--gold: #f1c84a;--gold-deep: #d89f1d;--leaf: #8ead52;--line: rgba(241, 200, 74, .15);--surface: rgba(255, 248, 235, .05);--surface-strong: rgba(255, 248, 235, .08);--shadow: 0 20px 50px rgba(0, 0, 0, .32);--shadow-soft: 0 10px 25px rgba(0, 0, 0, .18);--success-bg: rgba(142, 173, 82, .16);--success-text: #e4f3c2;--error-bg: rgba(125, 31, 31, .28);--error-text: #ffd9d9;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top right,rgba(241,200,74,.08),transparent 20%),radial-gradient(circle at left 75%,rgba(142,173,82,.08),transparent 18%),linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-mid) 45%,var(--bg) 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p,label,span,li,strong,h1,h2,h3{color:inherit}.page-shell{position:relative;min-height:100vh;overflow:hidden;padding:18px 22px 22px}.site-wrap{max-width:1360px;margin:0 auto}.topbar{max-width:1360px;margin:0 auto 20px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(241,200,74,.12);border-radius:999px;background:linear-gradient(180deg,#fff8eb0d,#fff8eb08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft)}.topbar-left{display:inline-flex;align-items:center;gap:12px}.brand-home{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:12px;height:12px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 6px #f1c84a29;flex:0 0 auto}.brand-stack{display:grid;gap:3px;min-width:0}.topbar-title{font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);white-space:nowrap}.topbar-subtitle{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.topbar-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topbar-link{font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);transition:.2s ease}.topbar-link:hover{color:var(--text)}.topbar-link-pill,.admin-btn,.secondary-btn,.close-btn{border:1px solid var(--line);border-radius:999px;transition:.2s ease}.topbar-link-pill{padding:10px 16px;color:var(--text);background:#fff8eb0a}.topbar-link-pill:hover{background:#fff8eb14}.admin-btn,.secondary-btn,.close-btn{background:transparent;color:var(--text);padding:10px 16px}.admin-btn:hover,.secondary-btn:hover,.close-btn:hover{background:var(--surface)}.hero{display:grid;grid-template-columns:1fr;gap:0;align-items:start;padding:6px 0 30px}.hero-copy{max-width:980px}.hero-kicker{margin:0 0 14px;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#f1c84ae6}.hero-names{margin:0;max-width:900px;font-family:var(--font-display);font-size:5.5rem;line-height:.92;letter-spacing:-.04em}.hero-and{display:block;margin:12px 0 14px;font-size:.95rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-family:var(--font-body)}.hero-image-inline{margin-top:24px;margin-bottom:24px;max-width:880px}.hero-image-wrap{position:relative}.hero-image-wrap:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:36px;background:radial-gradient(circle at top right,rgba(241,200,74,.16),transparent 42%),radial-gradient(circle at bottom left,rgba(142,173,82,.12),transparent 44%);filter:blur(12px);z-index:0}.hero-image{position:relative;z-index:1;display:block;width:100%;aspect-ratio:16 / 9.3;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.hero-invite{margin:0;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft)}.hero-meta{margin-top:22px;display:grid;gap:10px}.hero-meta p{margin:0;font-family:var(--font-display);font-size:2.15rem;line-height:1.22}.hero-meta-small{font-family:var(--font-body)!important;font-size:1.02rem!important;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}.hero-location{margin-top:22px;display:grid;gap:6px}.hero-location strong{font-family:var(--font-display);font-size:2rem;font-weight:600}.hero-location span{color:var(--text-soft);font-size:1.04rem}.hero-details-row{margin-top:34px;max-width:980px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.hero-detail{border-top:1px solid rgba(241,200,74,.12);padding-top:14px}.hero-detail span{display:block;margin-bottom:6px;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.hero-detail p{margin:0;color:var(--text-soft);line-height:1.65;font-size:1rem}.details-strip{margin:16px 0 42px;padding:18px 0;border-top:1px solid rgba(241,200,74,.12);border-bottom:1px solid rgba(241,200,74,.12);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.detail-item{display:grid;gap:8px}.detail-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}.detail-value{font-size:1.1rem;color:var(--text)}.countdown-section,.story-section,.hotel-section{margin-bottom:46px}.countdown-section{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:34px;align-items:end}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.countdown-card{padding:24px 18px;border-radius:24px;border:1px solid rgba(241,200,74,.12);background:#fff8eb0d;text-align:center}.countdown-card strong{display:block;font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3rem);line-height:1}.countdown-card span{display:block;margin-top:8px;color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}.story-section{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:40px;align-items:start}.story-body{display:grid;gap:20px}.story-body p{margin:0;color:var(--text-soft);line-height:1.85;font-size:1.05rem}.hotel-section{padding:26px 0 0;border-top:1px solid rgba(241,200,74,.12)}.hotel-copy{max-width:900px}.hotel-copy p{margin:0;color:var(--text-soft);line-height:1.8;font-size:1.04rem}.hotel-link{display:inline-flex;align-items:center;margin-top:18px;padding:14px 20px;border-radius:999px;border:1px solid rgba(241,200,74,.16);background:#fff8eb0d;color:var(--text);font-weight:700;transition:.2s ease}.hotel-link:hover{background:#fff8eb14;transform:translateY(-1px)}.rsvp-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:36px;align-items:start;padding-bottom:28px}.rsvp-copy{position:sticky;top:24px}.section-kicker{margin:0 0 14px;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:800}.rsvp-copy h2,.story-intro h2,.countdown-copy h2,.hotel-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02}.rsvp-copy>p,.countdown-copy p{margin:18px 0 0;color:var(--text-soft);line-height:1.7;font-size:1.04rem}.notes-list{margin-top:28px;display:grid;gap:18px}.note-line{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid rgba(241,200,74,.1)}.note-line strong{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.note-line span{color:var(--text-soft);line-height:1.6}.rsvp-panel{padding:0}.rsvp-form{margin-top:0}.response-toggle{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.toggle-btn{border:1px solid rgba(241,200,74,.16);background:#fff8eb0a;color:var(--text);padding:16px 18px;font-weight:800;border-radius:999px;transition:.2s ease}.toggle-btn.active{background:linear-gradient(180deg,#f5d35f,#d89f1d);color:#2c1a03;border-color:#d89f1d57;box-shadow:0 10px 24px #d89f1d38}.toggle-btn.decline.active{background:linear-gradient(180deg,#a5bc69,#6e8c3b);color:#fffef7}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label,.guest-header label,.admin-label{font-weight:700;color:var(--text)}.field input,.field select,.field textarea,.unlock-panel input,.admin-unlock-card input{width:100%;border:1px solid rgba(241,200,74,.12);background:#fff8eb0a;color:var(--text);border-radius:18px;padding:15px 16px;outline:none;transition:.2s ease}.field select{color-scheme:dark}.field input::placeholder,.field textarea::placeholder,.admin-unlock-card input::placeholder{color:#fff8eb66}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus,.unlock-panel input:focus,.admin-unlock-card input:focus{border-color:#f1c84aa6;box-shadow:0 0 0 4px #f1c84a1a}.guest-section{margin-bottom:18px;padding:18px 0 6px;border-top:1px solid rgba(241,200,74,.08);border-bottom:1px solid rgba(241,200,74,.08)}.guest-header{margin-bottom:14px}.guest-header p{margin:6px 0 0;color:var(--text-soft)}.guest-row{display:flex;gap:14px;align-items:flex-end;margin-bottom:14px}.grow{flex:1}.child-check{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-radius:18px;background:#fff8eb0a;border:1px solid rgba(241,200,74,.1);font-weight:700;color:var(--text)}.child-check input{width:18px;height:18px}.form-error,.form-success{padding:14px 16px;border-radius:18px;margin:10px 0 16px;font-weight:600}.form-error{background:var(--error-bg);color:var(--error-text);border:1px solid rgba(255,217,217,.12)}.form-success{background:var(--success-bg);color:var(--success-text);border:1px solid rgba(228,243,194,.12)}.submit-btn{border:none;background:linear-gradient(180deg,#f5d35f,#d89f1d);color:#2c1a03;padding:15px 24px;font-weight:900;letter-spacing:.01em;border-radius:999px;box-shadow:0 14px 26px #d89f1d3d;transition:.2s ease}.submit-btn:hover{transform:translateY(-1px)}.submit-btn.small{padding:12px 18px}.site-footer{max-width:1360px;margin:28px auto 0;text-align:center;color:var(--text-faint);font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#050c1fbd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;z-index:50}.modal-card{width:min(100%,980px);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#081a43fa,#061434fa);border:1px solid rgba(241,200,74,.14);border-radius:34px;box-shadow:var(--shadow);padding:28px}.modal-header,.admin-toolbar,.response-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-header-admin{align-items:flex-start;margin-bottom:10px}.modal-header-copy h2{margin:0;font-size:clamp(2rem,4vw,2.6rem);font-family:var(--font-display)}.modal-kicker{margin:0 0 8px;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}.modal-close-btn{width:48px;height:48px;padding:0;display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto}.admin-unlock-wrap{display:flex;justify-content:flex-start;padding-top:12px}.admin-unlock-card{width:min(100%,420px);display:grid;gap:14px}.admin-unlock-btn{width:100%}.unlock-panel{margin-top:12px;max-width:420px;display:grid;gap:12px}.muted-note{color:var(--text-faint);font-size:.95rem;line-height:1.5}.admin-toolbar{margin-top:20px;flex-wrap:wrap}.stats-box{min-width:130px;padding:14px 16px;border-radius:22px;background:#fff8eb0f;border:1px solid rgba(241,200,74,.12);display:grid;gap:3px;color:var(--text)}.stats-box strong{font-size:1.35rem}.toolbar-actions{margin-left:auto;display:flex;gap:12px}.empty-state{margin-top:18px;padding:20px;border-radius:22px;background:#fff8eb0f;border:1px solid rgba(241,200,74,.12);color:var(--text)}.response-list{margin-top:20px;display:grid;gap:16px}.response-card{padding:18px;border-radius:24px;background:#fff8eb0f;border:1px solid rgba(241,200,74,.12);color:var(--text)}.response-card h3{margin:0 0 5px}.response-card p{margin:0}.status-badge{padding:10px 14px;border-radius:999px;font-weight:800;font-size:.9rem}.status-badge.yes{background:#8ead522e;color:#e4f3c2}.status-badge.no{background:#7d1f1f3d;color:#ffd9d9}.response-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.response-grid>div,.message-box,.guest-admin-list{padding:12px 14px;border-radius:18px;background:#fff8eb0d;color:var(--text)}.response-grid strong,.message-box strong,.guest-admin-list strong{display:block;margin-bottom:6px}.guest-admin-list{margin-top:14px}.guest-admin-list ul{margin:8px 0 0;padding-left:18px}.message-box{margin-top:14px}.time-stamp{margin-top:14px!important;color:var(--text-faint);font-size:.92rem}.toast{position:fixed;right:22px;bottom:22px;z-index:80;background:#050c1ff2;color:#fff;padding:14px 18px;border-radius:16px;box-shadow:var(--shadow);font-weight:700;border:1px solid rgba(241,200,74,.16)}.toast-enter-active,.toast-leave-active{transition:all .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(10px)}.sun-glow{position:absolute;border-radius:999px;filter:blur(18px);pointer-events:none;opacity:.4}.sun-glow-1{width:360px;height:360px;top:90px;right:-100px;background:radial-gradient(circle,rgba(241,200,74,.18),transparent 60%)}.sun-glow-2{width:280px;height:280px;left:-80px;bottom:120px;background:radial-gradient(circle,rgba(142,173,82,.14),transparent 60%)}code{background:#fff8eb14;padding:2px 6px;border-radius:8px;color:var(--gold)}@media(max-width:1080px){.hero{padding:8px 0 28px}.hero-copy{max-width:100%}.hero-names{max-width:none;font-size:clamp(3.6rem,7vw,6.4rem);line-height:.95}.hero-and{margin:14px 0 16px;font-size:1rem}.hero-image-inline{margin-top:28px;margin-bottom:30px;max-width:720px}.hero-image{aspect-ratio:16 / 10}.hero-invite{font-size:1rem;letter-spacing:.18em}.hero-meta{margin-top:28px;gap:8px}.hero-meta p{font-size:1.8rem;line-height:1.3}.hero-meta-small{font-size:1rem!important;letter-spacing:.14em}.hero-location{margin-top:26px;gap:8px}.hero-location strong{font-size:1.75rem}.hero-location span{font-size:1.02rem}.hero-details-row,.details-strip,.rsvp-layout,.countdown-section,.story-section{grid-template-columns:1fr}.hero-details-row{max-width:100%;gap:16px;margin-top:26px}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-copy{position:static}}@media(max-width:780px){.page-shell{padding:14px}.topbar{margin-bottom:20px;padding:12px 14px;border-radius:24px}.brand-home{gap:10px}.brand-stack{gap:2px}.topbar-title{font-size:.72rem;letter-spacing:.12em;white-space:normal}.topbar-subtitle{font-size:.62rem;letter-spacing:.12em}.topbar-nav{gap:8px;flex-shrink:0}.topbar-link-pill,.admin-btn{padding:9px 12px;font-size:.72rem;letter-spacing:.08em}.hero{padding:8px 0 28px}.hero-names{font-size:3.35rem}.hero-and{margin:10px 0 12px;font-size:.9rem}.hero-image-inline{margin-top:22px;margin-bottom:24px}.hero-image{aspect-ratio:4 / 5}.hero-invite{font-size:.92rem;letter-spacing:.12em}.hero-meta p,.hero-location strong{font-size:1.45rem}.details-strip{gap:16px;margin-bottom:34px}.countdown-grid{grid-template-columns:1fr 1fr;gap:14px}.response-toggle,.grid.two,.response-grid{grid-template-columns:1fr}.guest-row,.modal-header,.admin-toolbar,.response-top{flex-direction:column;align-items:stretch}.toolbar-actions{margin-left:0}.modal-card{width:min(100%,100%);padding:22px;border-radius:28px}.modal-header-admin{display:grid;grid-template-columns:1fr auto;align-items:start;gap:14px;margin-bottom:18px}.modal-header-copy{min-width:0}.modal-header-copy h2{font-size:2.2rem;line-height:1.02;margin:0}.modal-close-btn{width:42px;height:42px;min-width:42px;padding:0;display:grid;place-items:center;align-self:start;justify-self:end;margin:0}.admin-unlock-wrap{padding-top:0}.admin-unlock-card{width:100%;gap:12px}.admin-label{margin-bottom:2px}}
