:root{--ink:#263c51;--paper:#faf7f0;--sand:#e9e0d1;--accent:#8b674c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit}header{max-width:1180px;margin:auto;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sand)}nav{display:flex;gap:28px;font-size:13px}nav a{text-decoration:none}.monogram{font:28px Georgia,serif;text-decoration:none}.monogram i{color:var(--accent);font-size:22px}main{max-width:1180px;margin:auto}section{padding:75px 34px}h1,h2,h3,.intro{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(64px,8vw,104px);margin:22px 0}h1 em{font-size:.65em;color:var(--accent)}h2{font-size:46px;margin:15px 0 22px}h3{font-size:29px}p{max-width:600px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:650}.hero{text-align:center;position:relative;overflow:hidden;min-height:700px;background:radial-gradient(ellipse at 0 100%,#e3d4be66,transparent 50%),radial-gradient(ellipse at 100% 0,#d6dedb66,transparent 50%)}.hero p{margin-left:auto;margin-right:auto}.intro{font-size:25px}.hero-mark{position:absolute;right:8%;top:35%;font:160px Georgia;color:#c6b59c50;transform:rotate(15deg);pointer-events:none}.line{width:55px;height:1px;background:var(--accent);margin:30px auto}.date{font-size:13px;letter-spacing:2px;font-weight:600}.button{display:inline-block;padding:15px 25px;background:var(--ink);color:white;border:0;border-radius:4px;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.button:hover{background:#3d5770}.button:disabled{opacity:.6;cursor:wait}.event,.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--sand)}.event-card{background:#f0eadf;padding:35px;border-radius:90px 90px 4px 4px;text-align:center}.event-card p{margin-left:auto;margin-right:auto}.preferences{padding:15px 20px;background:#e9ede8;border-radius:4px;margin:25px 0}details{margin:20px 0}summary{cursor:pointer}.references{display:flex;flex-wrap:wrap;gap:16px;padding-top:20px}.references img{width:180px;height:180px;object-fit:contain;background:white;border-radius:8px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:30px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;font:16px system-ui;color:var(--ink);background:#fffdf9;width:100%;padding:12px;border:1px solid #bdb8ae;border-radius:4px;margin:6px 0 18px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #b69b74;outline-offset:3px}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}#count,.small{font-size:13px;color:#5e696e}.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-height:780px;overflow:auto;padding:5px}.gift{background:#fffdf9;border:1px solid var(--sand);padding:22px;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}.gift h3{font-size:23px;margin:12px 0}.gift p{font-size:13px;margin:6px 0}.gift .tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.gift button{margin-top:auto;padding-top:14px}.gift.reserved{background:#eeece7}.text-button{border:0;background:none;color:var(--ink);text-decoration:underline;font:inherit;cursor:pointer;padding:8px 0}.rsvp{margin-top:40px;background:#efe9de}form{background:var(--paper);padding:30px;border-radius:6px}label span{font-weight:400}.selection{padding:8px 15px;border:1px dashed #aca397;margin-bottom:20px;font-size:14px}#message{font-weight:600}footer{text-align:center;padding:50px 20px;font-size:13px}footer strong{font:22px Georgia;display:block;margin-top:15px}[hidden]{display:none!important}@media(max-width:720px){header{padding:20px}nav{gap:14px;font-size:11px}nav a:first-child{display:none}section{padding:48px 22px}.hero{min-height:650px}.hero-mark{right:-15%;font-size:130px}.event,.rsvp{grid-template-columns:1fr;gap:25px}h2{font-size:37px}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.gifts{grid-template-columns:1fr;max-height:650px}form{padding:22px}}
