:root{--cream:#f5ecd8;--paper:#fbf4e3;--ink:#39432d;--muted:#65644d;--wine:#4e5b36;--deep:#354226;--gold:#7c5624;--line:#bbab8270;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Pinyon Script','Apple Chancery',cursive;color-scheme:light}
html{scrollbar-gutter:stable}
body{min-height:100vh;background:repeating-linear-gradient(0deg,#7a693e05 0 1px,transparent 1px 4px),var(--cream);font-synthesis:none;-webkit-font-smoothing:antialiased}
.site-header{max-width:1120px;margin:auto;padding:26px 40px;background:transparent;color:var(--ink);border-bottom:1px solid var(--line)}
.monogram{font-size:1.8rem}.monogram span{color:var(--gold)}.site-header nav>a{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.host-main{max-width:1120px;padding:48px 40px 30px}.host-heading{text-align:center;margin-bottom:36px}.host-heading .eyebrow{font-size:.7rem;letter-spacing:.17em;margin-bottom:13px}
.host-main h1{font:400 clamp(2.8rem,5vw,4rem)/1.1 var(--serif);color:var(--ink);letter-spacing:0}.host-sub{font:italic 1.3rem/1.6 var(--serif);color:var(--muted);margin-top:10px}
.host-entry{display:grid;grid-template-columns:1fr 1.15fr;max-width:880px;margin:auto;border:1px solid var(--line);background:var(--paper);box-shadow:0 14px 44px #6357320b;position:relative}
.host-entry:after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#626f45 0 2px,transparent 2px 5px,#a9603e 5px 7px,transparent 7px 10px,#ba983e 10px 12px,transparent 12px 15px);border-block:1px solid #a18c4755;pointer-events:none}
.host-keepsake{text-align:center;padding:42px 25px 190px;min-height:430px;background:linear-gradient(#f5ecd833,#f5ecd800 70%),url('/woven-invitation.jpg') center bottom/100% 100% no-repeat;border-right:1px solid var(--line)}
.host-keepsake .eyebrow{font-size:.65rem;letter-spacing:.15em;margin-bottom:18px}.keepsake-names{font:400 2.2rem/1.12 var(--serif);color:var(--ink)}.keepsake-names span{display:block;font:2.3rem/1.2 var(--script);color:var(--gold);margin:3px 0}.keepsake-date{font-size:.625rem;letter-spacing:.17em;margin-top:22px}
.host-entry .rsvp-card{border:0;background:transparent;padding:38px 40px;align-self:center}.rsvp-card>.eyebrow{font-size:.65rem;letter-spacing:.18em;margin-bottom:10px}.rsvp-card h2{font:500 2.25rem/1.15 var(--serif);color:var(--ink)}.login-intro{color:var(--muted);font-size:.875rem;line-height:1.7;margin:14px 0 25px}
.rsvp-card input:not([type=radio]):not([type=checkbox]){background:#fffbf2;border-color:#a4a98e;font-size:1rem}.field{margin-bottom:15px}.rsvp-card .button{justify-content:space-between}.button{font:500 .875rem/1.5 var(--sans);gap:22px}.button span{font-size:1.1rem}.primary{background:var(--wine);color:#fff8e6}.button:hover{background:var(--deep);color:#fff8e6;transform:none}.text-button{min-height:44px;white-space:normal}.text-button:hover{color:var(--deep);border-bottom-width:2px}.form-note{font-size:.75rem;line-height:1.7}.form-message{color:#913c32;font-size:.875rem}.form-message:empty{margin:0}
.host-actions{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin:12px 0 22px}.host-actions #logout{margin-left:auto}.host-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 32px}.host-stat{padding:23px 26px;border:1px solid var(--line);background:#e4d7b755}.host-stat:nth-child(2){background:#dce1c580}.host-stat:nth-child(3){background:#ebc9ad60}.host-stat strong{display:block;font:500 3rem/1.1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}.host-stat span{display:block;font-size:.8125rem;margin-top:10px;color:var(--muted)}
#responses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.response{padding:25px 28px;border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere}.response h2{font:500 1.9rem/1.2 var(--serif);color:var(--ink)}.response p{margin-top:11px;font-size:.875rem}.response p:first-of-type{color:var(--wine)}.response .meta{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.response .note{white-space:pre-wrap}.empty{grid-column:1/-1;padding:50px 20px;border:1px solid var(--line);text-align:center;font:italic 1.5rem/1.5 var(--serif)}
#host-status{font-size:.875rem;color:var(--wine)}.dashboard-note{font-size:.75rem;color:var(--muted);margin:24px 0;text-align:center}.host-footnote{text-align:center;font:italic 1rem/1.5 var(--serif);color:var(--muted);margin-top:35px}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:var(--wine)}
@media(max-width:700px){.site-header{padding:16px 24px}.host-main{padding:34px 24px 25px}.host-entry{grid-template-columns:1fr;max-width:470px}.host-keepsake{display:none}.host-entry .rsvp-card{padding:30px 25px 35px}.host-heading .eyebrow{font-size:.625rem;letter-spacing:.12em}.host-heading{margin-bottom:28px}.host-sub{font-size:1.2rem}.host-stats{gap:9px}.host-stat{padding:16px 12px}.host-stat strong{font-size:2.4rem}.host-stat span{font-size:.7rem;line-height:1.5}.host-actions{gap:18px}.host-actions #logout{margin-left:0}#responses{grid-template-columns:1fr}.response{padding:24px}.host-footnote{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
