:root{--ink:#343b29;--paper:#f4f0e5;--gold:#96764e;--line:#b8b9a4;--muted:#565d49;font-family:var(--body-font);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:16px;line-height:1.7}a{color:inherit}button,input,select{font:inherit}button,a.button{cursor:pointer}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid currentColor;background:transparent;color:inherit;text-decoration:none;border-radius:2px;line-height:1.4}button:hover,.button:hover{background:var(--gold);color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb863c;outline-offset:5px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;border-bottom:1px solid var(--line);gap:24px}.topbar a{text-decoration:none}.monogram{font:30px var(--title-font)}.monogram i{color:#896d48}.hero{text-align:center;min-height:850px;padding:90px 20px 60px;background:var(--ink);color:var(--paper);position:relative}.hero:before{content:'';position:absolute;inset:24px;border:1px solid #96764e55;pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:14px;font-weight:500;margin:0 0 26px}h1,h2,h3,.serif-note{font-family:var(--title-font);font-weight:400;line-height:1.07}h1{font-size:clamp(72px,10vw,142px);margin:30px 0}h1 span{display:block;font-size:.5em;font-style:italic;color:var(--gold);line-height:.9}h2{font-size:clamp(42px,5.7vw,72px);margin:0 0 32px}h3{font-size:36px;margin:16px 0}em{font-weight:400}p{margin:0 0 22px}.hero-date{font-size:23px;letter-spacing:.2em;margin:32px 0}.hero-date i{color:var(--gold);padding:0 8px}.full-names{font-size:14px;letter-spacing:.09em;margin-top:50px}.text-link{display:inline-block;text-underline-offset:7px;margin:16px 0}.section{padding:100px max(6%,calc((100vw - 1100px)/2));}.story{text-align:center}.prose{max-width:670px;margin:auto}.serif-note{font-size:30px;margin-top:30px}.date-panel,.rsvp{background:var(--ink);color:var(--paper);text-align:center}.date-panel h2{font-size:clamp(58px,8vw,105px)}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0}.countdown-title{margin-top:70px}.countdown{display:flex;justify-content:center;gap:35px;margin:24px 0}.countdown div{min-width:65px}.countdown b{font:52px var(--title-font);display:block}.countdown small{font-size:14px}.venue{display:grid;grid-template-columns:1fr 1fr;gap:60px}.venue-details{border-left:1px solid var(--line);padding-left:55px}.dark{background:var(--ink);color:var(--paper)}.dress{border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.dress p{margin:0 0 10px}.schedule{text-align:center;border-top:1px solid var(--line)}.timeline{list-style:none;padding:0;margin:45px auto 0;max-width:660px;text-align:left}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:24px 0;border-top:1px solid var(--line);align-items:center}.timeline span{font:30px var(--title-font)}.family{background:#dedfce;display:grid;grid-template-columns:1fr 1fr;gap:36px 65px}.family>h2,.family>.eyebrow{grid-column:1/-1;margin-bottom:0}.family article{border-top:1px solid #b8b9a4;padding-top:32px;margin-top:20px}.family article .eyebrow{margin-bottom:12px}.gifts{text-align:center}.gifts details{max-width:530px;margin:30px auto 0;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px}.gifts summary{cursor:pointer}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}footer{text-align:center;padding:55px 20px;font:36px var(--title-font)}footer span,footer p{display:block;font:14px var(--body-font);letter-spacing:.12em;margin-top:16px}.guest{color:var(--gold);font-size:22px}.reminder-intro{background:var(--ink);color:var(--paper);text-align:center}.reminder-intro h1{font-size:clamp(60px,8vw,100px)}.reminder-card{text-align:center;max-width:1000px;margin:auto;padding-left:6%;padding-right:6%}.admin main{max-width:1200px;margin:auto;padding:50px 24px}.admin h1{font-size:56px;margin:15px 0}.admin nav{display:flex;gap:20px;flex-wrap:wrap}.admin .intro{color:var(--muted)}.stats{display:flex;gap:45px;margin:32px 0}.stats strong{display:block;font:40px var(--title-font)}.filters{display:flex;gap:16px;flex-wrap:wrap;margin:25px 0}.filters label{flex:1;min-width:200px}input,select{display:block;width:100%;padding:12px;border:1px solid #969d85;background:white;color:var(--ink);margin-top:6px;border-radius:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px 12px;border-bottom:1px solid var(--line)}th{font-size:14px}td button{padding:8px 12px;margin:4px;min-height:44px}td small{display:block}.empty{padding:65px 20px;text-align:center;border:1px dashed #969d85}.notice{padding:16px 20px;border-left:3px solid var(--gold);background:#dedfce}.admin h2{font-size:34px}.status{min-height:28px}.admin [hidden],[hidden]{display:none!important}@media(max-width:650px){.hero{min-height:760px;padding-top:70px}.topbar{padding:16px 20px;font-size:14px}.section{padding:65px 24px}.venue,.family{grid-template-columns:1fr;gap:30px}.venue-details{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.family>h2,.family>.eyebrow{grid-column:auto}.countdown{gap:15px}.countdown b{font-size:40px}.countdown div{min-width:55px}.eyebrow{letter-spacing:.15em}.actions>*{flex:1 1 200px}.stats{gap:24px}.admin h1{font-size:44px}dl{grid-template-columns:1fr}dd{margin-bottom:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}