:root{color:#f8f5ef;font-synthesis:none;background:#090909;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline-offset:4px;outline:2px solid #d6b879}.message-screen{text-align:center;color:#fff;background:#090909;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex}.message-screen h1{margin:28px 0 8px;font:clamp(2.1rem,7vw,3.4rem)/1.1 Georgia,serif}.message-screen p{color:#b8b8b8;max-width:35rem;line-height:1.6}.brand{letter-spacing:.42em;color:var(--accent,#cfb479);font-size:.74rem;font-weight:750}.invitation{--background:#0b0b0b;--surface:#171615;--surface2:#211e1a;--ink:#f8f5ef;--muted:#c0b9ae;--accent:#cfb479;--line:#dcc1873d;--serif:Georgia,"Iowan Old Style","Baskerville",serif;background:var(--background);color:var(--ink);min-height:100dvh;overflow:hidden}.invitation-inner{max-width:1440px;margin:auto}.eyebrow,.section-kicker{color:var(--accent);letter-spacing:.24em;font-size:.68rem;font-weight:750;line-height:1.5}.hero{isolation:isolate;background:radial-gradient(circle at 75% 30%,#383126 0%,#0000 43%),linear-gradient(145deg,#1d1a17,#090909 66%);flex-direction:column;justify-content:space-between;min-height:min(830px,100svh);padding:clamp(23px,5vw,64px);display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(105deg,#0000 0 95px,#d6b97e0b 96px 97px);position:absolute;inset:0}.hero-cover{object-fit:cover;object-position:center 43%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero.with-cover:after{content:"";z-index:-1;background:linear-gradient(#05050587 0%,#05050521 29%,#050505b8 73%,#050505e6 100%);position:absolute;inset:0}.hero-top,.hero-bottom{z-index:1;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.hero-edition,.hero-bottom{letter-spacing:.22em;color:#e6e0d4;font-size:.6rem;font-weight:750}.hero-bottom{opacity:.8}.hero-bottom span:last-child{font-size:1.4rem;font-weight:300}.hero-copy{text-align:center;z-index:1;max-width:920px;margin:60px auto 45px;animation:.7s ease-out both rise-in;position:relative}.hero h1{font:normal clamp(3.3rem,8.2vw,7.7rem)/.98 var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;max-width:1000px;margin:24px auto}.hero-headline{font:normal clamp(1.1rem,2vw,1.55rem)/1.55 var(--serif);color:#e6dfd3;max-width:35rem;margin:0 auto 24px}.hero-date{letter-spacing:.12em;text-transform:uppercase;color:#e7dfd1;font-size:.81rem;line-height:1.7}.hero-cta{background:var(--accent);color:#14110c;letter-spacing:.02em;border-radius:2px;justify-content:center;align-items:center;gap:30px;min-height:56px;margin-top:35px;padding:14px 22px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.hero-cta:hover{background:#e1cc9d;transform:translateY(-3px)}.story{text-align:center;justify-items:center;padding:clamp(70px,11vw,145px) clamp(24px,9vw,130px);display:grid}.story p{font:normal clamp(1.5rem,3.4vw,2.65rem)/1.55 var(--serif);max-width:850px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:28px auto}.story-rule{background:var(--accent);width:75px;height:1px;margin-top:14px}.when,.place{border-top:1px solid var(--line);padding:clamp(70px,9vw,120px) clamp(24px,8vw,110px)}.section-heading{justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:clamp(32px,5vw,70px);display:flex}.section-heading h2{font:normal clamp(2rem,4vw,3.7rem)/1.12 var(--serif);letter-spacing:-.035em;max-width:620px;margin:0}.date-composition{grid-template-columns:minmax(230px,.75fr) 1fr;align-items:center;gap:clamp(30px,7vw,110px);max-width:1000px;margin:auto;display:grid}.date-art{border:1px solid var(--line);text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:25px;display:flex}.date-weekday,.date-month{color:var(--accent);text-transform:uppercase;letter-spacing:.24em;font-size:.75rem;font-weight:750}.date-art strong{font:normal clamp(8rem,17vw,14rem)/1 var(--serif);letter-spacing:-.075em;margin:4px 0 12px}.date-copy p{font:normal clamp(1.7rem,3.5vw,3rem)/1.25 var(--serif);text-transform:capitalize;margin:18px 0 42px}.event-time{flex-direction:column;gap:7px;display:flex}.event-time span{color:var(--muted);font-size:.88rem}.event-time strong{font:normal clamp(2rem,4vw,3.4rem) var(--serif)}.countdown{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:clamp(16px,5vw,65px);max-width:770px;margin:clamp(50px,8vw,90px) auto 0;padding:25px 0 0;display:flex}.countdown>span{color:var(--accent);letter-spacing:.2em;font-size:.68rem;font-weight:750}.countdown div{flex-direction:column;align-items:center;min-width:55px;display:flex}.countdown strong{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:350;line-height:1}.countdown small{letter-spacing:.14em;color:var(--muted);margin-top:8px;font-size:.58rem}.place{background:var(--surface)}.place-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:65px 1fr auto;align-items:center;gap:20px;padding:33px 0;display:grid}.place-icon{color:var(--accent);font-size:2rem}.place-card strong{font:normal clamp(1.55rem,3vw,2.5rem) var(--serif);overflow-wrap:anywhere}.place-card p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-width:620px;margin:8px 0 0;line-height:1.6}.place-link{border:1px solid var(--line);min-height:52px;color:var(--accent);white-space:nowrap;align-items:center;gap:25px;padding:16px 20px;font-weight:700;text-decoration:none;transition:background .2s;display:inline-flex}.place-link:hover{background:var(--surface2)}.guest-card{border:1px solid var(--line);text-align:center;background:radial-gradient(circle at center top,var(--surface2),var(--surface) 68%);margin:clamp(50px,8vw,100px) clamp(20px,8vw,110px);padding:clamp(32px,6vw,75px)}.guest-card h2{font:normal clamp(2.3rem,5vw,4.6rem)/1.1 var(--serif);letter-spacing:-.03em;overflow-wrap:anywhere;margin:20px 0 10px}.guest-card p{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:.82rem}.guest-companions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:27px;display:flex}.guest-companions span{border:1px solid var(--line);padding:9px 15px;font-size:.82rem}.guest-unnamed{color:var(--muted);margin-top:18px;font-size:.84rem}footer{text-align:center;border-top:1px solid var(--line);padding:70px 24px}footer p{font:normal 1rem var(--serif);color:var(--muted);margin-top:20px}.reveal{animation:.65s ease-out both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.clasica{--background:#f7f2e9;--surface:#fffdf8;--surface2:#eee5d7;--ink:#28221d;--muted:#6d6155;--accent:#986d46;--line:#7653333b}.clasica .hero{color:#2a211c;border:1px solid var(--line);background:#e9dfcf;justify-content:flex-start;min-height:800px;margin:clamp(10px,3vw,36px)}.clasica .hero:before{background:radial-gradient(circle at 50% 35%,#ffffffb3,#0000 62%)}.clasica .hero-cover{opacity:.8;border-radius:46% 46% 2px 2px;width:50%;height:calc(100% - 260px);inset:80px 25% 180px}.clasica .hero.with-cover:after{background:linear-gradient(#f7f2e905,#f7f2e957 48%,#e9dfcf 79%)}.clasica .hero-top,.clasica .hero-bottom{color:#6c5440;width:100%}.clasica .hero-copy{color:#261e18;max-width:850px;margin:auto;padding-top:220px}.clasica .hero h1{text-shadow:0 2px 22px #f7f2e9}.clasica .hero-headline,.clasica .hero-date{color:#3b3025}.clasica .hero-cta{color:#fffdf8;background:#815c3e}.clasica .hero-cta:hover{background:#69472f}.clasica .story{background:#fffdf8}.clasica .date-art{border-radius:48% 48% 2px 2px;min-height:430px}.clasica .place{background:#efe8dd}.clasica .guest-card{border-radius:220px 220px 4px 4px}.editorial{--background:#edebe6;--surface:#fff;--surface2:#e7e3db;--ink:#171819;--muted:#555757;--accent:#765940;--line:#1e212238;--serif:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.editorial .hero{color:#fff;background:#1b1d1e;grid-template-rows:auto 1fr auto;grid-template-columns:55% 45%;min-height:760px;padding:0;display:grid}.editorial .hero:before{background:linear-gradient(150deg,#303433,#151718)}.editorial .hero-cover{object-fit:cover;z-index:0;opacity:.87;grid-area:1/2/4;width:100%;height:100%;position:relative}.editorial .hero.with-cover:after{background:linear-gradient(90deg,#1b1d1e 0%,#0000 68%);grid-area:1/1/4/3}.editorial .hero-top{grid-area:1/1;padding:45px clamp(25px,5vw,80px)}.editorial .hero-copy{text-align:left;grid-area:2/1;align-self:center;max-width:none;margin:0;padding:40px clamp(25px,5vw,80px)}.editorial .hero h1{font-family:var(--serif);letter-spacing:-.075em;text-transform:uppercase;margin-left:0;font-size:clamp(3.2rem,6vw,7rem);font-weight:800}.editorial .hero-headline,.editorial .hero-date{font-family:var(--serif);margin-left:0}.editorial .hero-bottom{grid-area:3/1;padding:35px clamp(25px,5vw,80px)}.editorial .story{text-align:left;justify-items:start}.editorial .story p{font-family:var(--serif);margin-left:0;font-weight:650;line-height:1.35}.editorial .section-heading h2,.editorial .date-copy p,.editorial .event-time strong,.editorial .place-card strong,.editorial .guest-card h2{font-family:var(--serif);letter-spacing:-.055em;font-weight:750}.editorial .date-art{color:#fff;text-align:left;background:#151819;align-items:flex-start;padding:35px}.editorial .date-art strong{font-family:var(--serif);font-weight:800}.editorial .guest-card{text-align:left;border-top:5px solid var(--accent);background:#fff}.editorial .guest-companions{justify-content:flex-start}@media (width<=740px){.hero{min-height:720px}.hero-edition{display:none}.hero h1{font-size:clamp(3.2rem,13vw,5.4rem)}.section-heading{display:block}.section-heading h2{margin-top:16px}.date-composition{grid-template-columns:1fr}.date-art{min-height:280px}.date-art strong{font-size:9rem}.date-copy p{margin-bottom:20px}.place-card{grid-template-columns:43px 1fr}.place-link{grid-column:2;justify-self:start}.countdown{gap:13px}.countdown>span{display:none}.guest-card{margin:45px 16px;padding:38px 22px}.clasica .hero{min-height:710px}.clasica .hero-cover{width:76%;height:calc(100% - 275px);inset:80px 12% 195px}.clasica .hero-copy{padding-top:210px}.editorial .hero{min-height:760px;display:flex}.editorial .hero-cover{opacity:.45;width:100%;height:100%;position:absolute;inset:0}.editorial .hero.with-cover:after{background:linear-gradient(#11141566,#111415eb);position:absolute;inset:0}.editorial .hero-top,.editorial .hero-bottom,.editorial .hero-copy{width:100%;padding-left:28px;padding-right:28px}.editorial .hero-copy{margin:auto 0}}@media (width<=390px){.hero{min-height:690px}.hero h1{font-size:3.15rem}.hero-copy{margin:35px auto}.hero-cta{width:100%}.when,.place{padding:65px 22px}.date-art strong{font-size:7rem}.countdown strong{font-size:1.5rem}.clasica .hero{margin:8px;padding:20px}.clasica .hero-copy{padding-top:180px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.rsvp{max-width:900px;margin:0 auto;padding:clamp(64px,10vw,120px) clamp(24px,8vw,90px) clamp(78px,10vw,120px);scroll-margin-top:20px}.rsvp h2{font:normal clamp(2.35rem,5vw,4.8rem)/1.08 var(--serif);letter-spacing:-.04em;margin:18px 0 24px}.rsvp-intro,.deadline{color:var(--muted);max-width:630px;line-height:1.7}.rsvp-intro{margin-bottom:30px;font-size:1.02rem}.deadline{margin-bottom:28px;font-size:.86rem}.legacy-note,.closed,.error{border-left:3px solid var(--accent);background:var(--surface);margin:20px 0;padding:16px 18px;line-height:1.55}.closed{color:var(--muted)}.error{color:#f3a9a4;border-color:#b96762}.attendance-head{justify-content:space-between;align-items:center;gap:20px;margin:35px 0 16px;display:flex}.attendance-head strong{font-size:1.15rem}.attendance-head span{color:var(--accent);font-size:.8rem;font-weight:750}.person-selection{gap:11px;display:grid}.person-card{border:1px solid var(--line);background:var(--surface);transition:border-color .2s,background .2s}.person-card.selected{border-color:var(--accent);background:var(--surface2)}.attendance-person{cursor:pointer;align-items:center;gap:14px;min-height:76px;padding:14px 19px;display:flex}.attendance-person input{width:23px;height:23px;accent-color:var(--accent);cursor:pointer;flex:none}.person-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.person-copy b{overflow-wrap:anywhere;font-size:1rem}.person-copy small{color:var(--muted);font-size:.75rem}.person-state{color:var(--accent);font-size:1.25rem}.person-name{color:var(--accent);padding:0 19px 19px 56px;font-size:.78rem;font-weight:700;display:block}.person-name input{background:var(--background);border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);border-radius:2px;margin-top:9px;padding:13px 14px;font-size:1rem;display:block}.person-name input::placeholder{color:var(--muted)}.person-name input:focus{border-color:var(--accent)}.rename-action,.text-action{color:var(--accent);text-underline-offset:5px;background:0 0;border:0;min-height:44px;font-weight:750;text-decoration:underline}.rename-action{margin:0 0 10px 56px;font-size:.75rem}.text-action{margin-top:20px;font-size:.9rem}.rsvp-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:28px;padding:21px 0;display:flex}.rsvp-total span{color:var(--muted)}.rsvp-total strong{font-size:1.5rem}.actions{gap:12px;margin-top:14px;display:grid}.actions button{border-radius:2px;min-height:58px;padding:15px 24px;font-weight:800;transition:transform .2s,background .2s}.actions button:not(:disabled):hover{transform:translateY(-2px)}.actions .primary{border:1px solid var(--accent);background:var(--accent);color:#16130d}.actions .secondary{border:1px solid var(--line);color:var(--ink);background:0 0}button:disabled{opacity:.55;cursor:not-allowed}.thank-you{border:1px solid var(--line);background:var(--surface);text-align:center;padding:clamp(25px,5vw,45px)}.thank-mark{border:1px solid var(--accent);width:58px;height:58px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 22px;font-size:1.5rem;display:grid}.thank-you h3{font:normal clamp(1.9rem,4vw,3rem)/1.2 var(--serif);margin:0 0 14px}.thank-you>p{color:var(--muted);line-height:1.6}.answer-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:9px;max-width:480px;margin:28px auto 0;padding:24px;display:grid}.answer-list span{color:var(--accent);letter-spacing:.2em;margin-bottom:4px;font-size:.66rem;font-weight:750}.answer-list strong{font-weight:600}.answer-declined{font-size:.85rem}.clasica .rsvp{border:1px solid var(--line);background:#fffdf8;margin-bottom:60px}.clasica .person-card{border-radius:18px}.editorial .rsvp{border-top:7px solid var(--ink);max-width:none;display:block}.editorial .rsvp h2{text-transform:uppercase;max-width:820px;font-weight:800}.editorial .person-card{border-radius:0}.editorial .actions{grid-template-columns:1fr 1fr}@media (width<=740px){.rsvp{padding:65px 23px 85px}.clasica .rsvp{margin:0 12px 35px}.editorial .actions{grid-template-columns:1fr}.person-name{padding-left:18px}.rename-action{margin-left:18px}}@media (width<=390px){.attendance-person{padding:12px}.person-name{padding:0 12px 14px}.rsvp-total strong{font-size:1.3rem}}
