:root{--wine:#4a102f;--wine-deep:#260517;--wine-soft:#6d1d49;--gold:#d7b76a;--gold-light:#f3dfaa;--ivory:#fffaf0;--ink:#21171c;--muted:#766a70;--line:rgba(74,16,47,.13);--green:#14745c;--shadow:0 30px 80px rgba(38,5,23,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#fffaf3 0%,#f8efe7 55%,#f4e5e5 100%);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(12px);pointer-events:none;opacity:.55;z-index:0}.ambient-one{width:420px;height:420px;background:radial-gradient(circle,rgba(215,183,106,.35),transparent 68%);top:-180px;right:-100px}.ambient-two{width:520px;height:520px;background:radial-gradient(circle,rgba(98,23,65,.16),transparent 70%);bottom:-250px;left:-170px}.site-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,76px)}.brand,.header-link{display:flex;align-items:center;text-decoration:none}.brand{gap:12px;color:var(--wine)}.brand-gem{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(74,16,47,.2);border-radius:50%;background:rgba(255,255,255,.7);font-size:25px;box-shadow:0 10px 25px rgba(74,16,47,.08)}.brand span:last-child{display:grid}.brand b{font-family:"Playfair Display",serif;font-size:21px;letter-spacing:.08em}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.21em;color:var(--muted)}.header-link{gap:8px;color:var(--wine);font-weight:700;font-size:14px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.65)}.header-link svg{width:17px}main{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:clamp(36px,6vw,90px);align-items:center;max-width:1320px;margin:0 auto;padding:42px clamp(22px,5vw,76px) 86px}.intro{max-width:590px}.eyebrow,.panel-kicker{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:11px;color:var(--wine)}.eyebrow span{width:34px;height:1px;background:var(--gold)}h1,h2{font-family:"Playfair Display",serif}h1{font-size:clamp(48px,5vw,76px);line-height:1.02;letter-spacing:-.045em;margin:22px 0;color:var(--wine-deep)}h1 em,h2 em{color:var(--wine-soft);font-weight:600}.intro-copy{font-size:18px;line-height:1.8;color:var(--muted);max-width:560px}.date-card{display:flex;align-items:center;gap:18px;margin:34px 0 26px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.63);backdrop-filter:blur(15px);box-shadow:0 16px 45px rgba(74,16,47,.07)}.date-mark{display:grid;place-items:center;min-width:82px;height:82px;border-radius:18px;background:linear-gradient(145deg,var(--wine),var(--wine-deep));color:white;box-shadow:0 15px 28px rgba(74,16,47,.23)}.date-mark strong{font-family:"Playfair Display",serif;font-size:34px;line-height:1}.date-mark span{font-size:10px;letter-spacing:.23em;color:var(--gold-light)}.date-card div:last-child{display:grid;gap:3px}.date-card small{color:var(--wine);font-weight:700;text-transform:uppercase;letter-spacing:.14em}.date-card b{font-size:18px}.date-card p{margin:0;color:var(--muted);font-size:13px}.assurances{display:flex;flex-wrap:wrap;gap:12px}.assurances span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.assurances svg{width:16px;color:var(--wine)}.response-shell{position:relative;min-height:650px}.lookup-card,.rsvp-card,.success-card{position:relative;background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.96);border-radius:32px;padding:clamp(27px,4vw,48px);box-shadow:var(--shadow);backdrop-filter:blur(24px);overflow:hidden}.lookup-card:before,.rsvp-card:before,.success-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--wine),var(--gold),var(--wine-soft))}.seal{display:grid;place-items:center;width:84px;height:84px;margin-bottom:25px;border-radius:50%;border:1px solid rgba(215,183,106,.65);outline:6px solid rgba(215,183,106,.12);background:radial-gradient(circle,#fffaf0,#f0dfb7);color:var(--wine)}.seal b{font-family:"Playfair Display",serif;font-size:34px;line-height:1}.seal small{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.panel-kicker{margin:0 0 10px}.lookup-card h2,.rsvp-card h2,.success-card h2{font-size:clamp(34px,4vw,48px);line-height:1.04;margin:0 0 12px;color:var(--wine-deep)}.lookup-card>p:not(.panel-kicker):not(.preview-note){margin:0 0 28px;color:var(--muted);line-height:1.65}.input-shell{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:0 15px;background:#fff}.input-shell:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(215,183,106,.15)}.input-shell svg{width:19px;color:var(--wine)}label>span,form>label{font-size:12px;font-weight:800;color:var(--wine);letter-spacing:.04em}.input-shell input,.field input,.field select,.field textarea{width:100%;border:0;outline:0;background:transparent;font:inherit;color:var(--ink)}.input-shell input{height:54px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.field input,.field select{height:50px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.field textarea{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;resize:vertical}.button{border:0;border-radius:14px;min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:.22s ease}.button:hover{transform:translateY(-2px)}.button svg{width:18px}.button.primary{background:linear-gradient(135deg,var(--wine),var(--wine-deep));color:white;box-shadow:0 13px 25px rgba(74,16,47,.23)}.button.gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--wine-deep);box-shadow:0 13px 25px rgba(170,128,40,.2)}.button.ghost{background:#fff;color:var(--wine);border:1px solid var(--line)}.button.full{width:100%}.form-message{min-height:20px;color:#a32242;font-size:12px;font-weight:700}.preview-note{display:flex;align-items:center;gap:8px;margin:18px 0 0;padding:11px 13px;border-radius:12px;background:#fff5d9;color:#77530e;font-size:12px}.preview-note svg{width:16px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.welcome-row h2{margin-bottom:4px}.welcome-row #guestTitle{margin:0;color:var(--muted)}.category-badge{padding:8px 12px;border-radius:999px;background:rgba(74,16,47,.08);color:var(--wine);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.invitation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0;padding:15px;border-radius:18px;background:#fcf7f0;border:1px solid var(--line)}.invitation-summary div{display:grid;gap:4px;padding:7px 10px;border-right:1px solid var(--line)}.invitation-summary div:last-child{border-right:0}.invitation-summary small,.response-receipt small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.invitation-summary b{font-size:13px;color:var(--wine)}fieldset{border:0;padding:0;margin:0}legend{font-family:"Playfair Display",serif;font-size:21px;color:var(--wine-deep);font-weight:700;margin-bottom:12px}.response-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.response-option{position:relative;cursor:pointer}.response-option input{position:absolute;opacity:0}.response-option span{min-height:112px;padding:15px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;transition:.2s}.response-option svg{width:23px;color:var(--wine)}.response-option b{font-size:12px;color:var(--ink)}.response-option small{font-size:10px;color:var(--muted)}.response-option input:checked+span{border-color:var(--gold);box-shadow:0 0 0 4px rgba(215,183,106,.15);background:#fffaf0}.response-option input:focus-visible+span{outline:3px solid rgba(74,16,47,.25)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field span small{font-weight:500;color:var(--muted)}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:5px}.success-card{text-align:center}.success-icon{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;margin:0 auto 23px;background:rgba(20,116,92,.1);color:var(--green)}.success-icon svg{width:42px;height:42px}.success-card .panel-kicker{justify-content:center}.success-card>p:not(.panel-kicker){color:var(--muted);font-size:16px;line-height:1.7}.response-receipt{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.response-receipt div{display:grid;gap:5px;padding:15px 8px;border:1px solid var(--line);border-radius:14px;background:#fcf8f3}.response-receipt b{font-size:13px;color:var(--wine)}.success-card .button+.button{margin-top:10px}.toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:390px;display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 20px 60px rgba(38,5,23,.22);border:1px solid var(--line);transform:translateY(140%);opacity:0;transition:.28s}.toast.show{transform:translateY(0);opacity:1}.toast>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(20,116,92,.1);color:var(--green)}.toast b{color:var(--wine)}.toast p{margin:2px 0 0;color:var(--muted);font-size:12px}.toast button{margin-left:auto;border:0;background:none;color:var(--muted);cursor:pointer}.toast svg{width:18px}footer{position:relative;z-index:2;text-align:center;padding:32px 20px 45px;color:var(--wine)}footer>span{font-size:22px}footer p{margin:8px 0 3px;font-family:"Playfair Display",serif;font-size:18px}footer strong,footer small{display:block}footer strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase}footer small{margin-top:4px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1050px){main{grid-template-columns:1fr;max-width:780px}.intro{text-align:center;margin:auto}.eyebrow{justify-content:center}.date-card{max-width:520px;margin-left:auto;margin-right:auto}.assurances{justify-content:center}.response-shell{min-height:0}}@media(max-width:650px){.site-header{padding:18px}.header-link span{display:none}.header-link{padding:11px}.brand-gem{width:40px;height:40px}.brand b{font-size:18px}main{padding:22px 16px 54px;gap:34px}h1{font-size:43px}.intro-copy{font-size:16px}.date-card{text-align:left}.lookup-card,.rsvp-card,.success-card{padding:28px 20px;border-radius:24px}.welcome-row{display:grid}.invitation-summary,.response-receipt{grid-template-columns:1fr}.invitation-summary div{border-right:0;border-bottom:1px solid var(--line)}.invitation-summary div:last-child{border-bottom:0}.response-options{grid-template-columns:1fr}.response-option span{min-height:82px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;justify-content:start}.response-option svg{grid-row:1/3}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.toast{left:14px;right:14px;bottom:14px}.assurances{display:grid;justify-content:start;text-align:left;margin-left:14px}}

.header-links{display:flex;align-items:center;gap:12px}@media(max-width:620px){.header-links .header-link:first-child span{display:none}}
