:root{color-scheme:dark;--black:#0c0c0c;--cream:#f4ecde;--sage:#a8b29b;--gold:#c3ab7e;--muted:#b5b4ab;--line:#454137;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-synthesis:none;background:var(--black);color:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--black);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--sage);outline-offset:5px}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{height:66px;max-width:760px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #23231f}.wordmark{text-decoration:none;color:var(--sage);font-size:10px;letter-spacing:.23em}.nav-rsvp{text-decoration:none;font-size:11px;letter-spacing:.13em;color:var(--gold);padding:12px 0 12px 20px}.nav-rsvp span{font-size:16px;margin-left:8px}
main{max-width:760px;margin:0 auto}.eyebrow{font-size:10px;line-height:1.5;font-weight:400;letter-spacing:.25em;color:var(--sage);margin:0}.hero{text-align:center;padding:64px 0 64px}.hero>.eyebrow{padding:0 22px}h1{font-size:clamp(64px,14vw,108px);font-weight:400;letter-spacing:.11em;margin:35px 0 8px;padding-left:.11em;line-height:1.15}.artwork{width:100%;max-width:690px;margin:auto;overflow:hidden}.artwork img{display:block;width:100%;height:auto;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.traits{max-width:690px;margin:-3px auto 0;position:relative;min-height:24px;color:var(--sage);font-size:8px;letter-spacing:.19em}.traits span{position:absolute;transform:translateX(-50%)}.traits span:nth-child(1){left:24.5%}.traits span:nth-child(2){left:58.5%}.traits span:nth-child(3){left:85%}.hero-line{font-size:clamp(17px,3vw,22px);font-weight:400;line-height:1.7;margin:43px 22px 30px}.date-kicker{font-size:10px;letter-spacing:.20em;line-height:1.8;color:var(--gold);margin:0 20px}.scroll-link{display:inline-flex;align-items:center;gap:14px;margin-top:42px;padding:10px;color:var(--muted);font-size:11px;text-decoration:none;letter-spacing:.05em}.scroll-link span{font-size:18px;color:var(--sage)}
.content{margin:0 auto;padding-left:32px;padding-right:32px;max-width:650px}.invitation{padding-top:64px;padding-bottom:65px;border-top:1px solid #25251f}h2{font-weight:400;letter-spacing:-.035em;line-height:1.09;font-size:clamp(45px,10.7vw,66px);margin:30px 0 46px}.intro-copy{font-size:17px;line-height:1.75;max-width:555px}.intro-copy p{margin:0 0 28px}.intro-copy p:last-child{margin-bottom:0}.dinner-details{margin-top:42px;padding-top:28px;border-top:1px solid var(--gold)}.dinner-date{font-size:18px;color:var(--gold);font-weight:600;margin:0 0 30px;line-height:1.5}.details-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;font-size:15px;line-height:1.7}.details-grid h3{font-size:16px;font-weight:600;margin:0 0 6px}.details-grid p{margin:0}.details-grid .seated{font-weight:600;margin-top:10px}.host-line{font-style:italic;font-size:18px;line-height:1.65;margin:44px 0 0}
.rsvp{padding-top:52px;padding-bottom:72px;border-top:1px solid #454137}.rsvp h2{font-size:clamp(35px,8vw,48px);margin:22px 0 19px}.rsvp-intro{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 34px}.field{margin-bottom:28px}label,legend{font-size:14px;line-height:1.5;font-weight:400}label{display:block;margin-bottom:10px}.optional{color:var(--muted);font-size:12px}input[type=text],textarea{width:100%;background:#151613;border:1px solid #4b4f44;color:var(--cream);padding:15px 15px;border-radius:4px;font-size:16px;line-height:1.5;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#85867d;opacity:1}input:focus,textarea:focus{border-color:var(--sage)}textarea{resize:vertical;min-height:94px}.response-field{padding:0;border:0;margin:0 0 30px;min-width:0}.response-field legend{padding:0;margin-bottom:12px}.response-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.response-choice{display:flex;align-items:center;gap:9px;min-height:62px;border:1px solid #4b4f44;border-radius:4px;padding:14px 12px;margin:0;cursor:pointer;font-size:13px;line-height:1.4;transition:background .15s,border-color .15s}.response-choice:has(input:checked){border-color:var(--sage);background:#22271f}.response-choice:has(input:focus-visible){outline:2px solid var(--sage);outline-offset:4px}.response-choice input{margin:0;accent-color:var(--sage);width:16px;height:16px;flex:0 0 16px}.field-help{font-size:12px;line-height:1.65;color:var(--muted);margin:-3px 0 16px;max-width:390px}.stepper{display:flex;align-items:stretch;width:184px;height:54px;border:1px solid #4b4f44;border-radius:4px;overflow:hidden;background:#151613}.stepper button{width:54px;border:0;background:transparent;color:var(--cream);font-size:24px;cursor:pointer}.stepper button:hover{background:#2b3025}.stepper button:disabled{opacity:.3;cursor:default}.stepper input{min-width:0;width:76px;background:transparent;border:0;border-left:1px solid #35382f;border-right:1px solid #35382f;color:var(--cream);text-align:center;font-size:18px;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:58px;background:var(--sage);color:#11150e;border:1px solid var(--sage);border-radius:4px;padding:16px 20px;cursor:pointer;font-size:15px;font-weight:600}.submit-button:hover{background:#bcc4b2}.submit-button span{font-weight:400;font-size:23px;line-height:1}.send-note{margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.send-note strong{font-weight:600;color:var(--cream)}.form-error{font-size:13px;line-height:1.6;color:#f1b2a6;margin:0 0 15px}.reply-status{margin:20px 0 0;padding:16px;border-left:2px solid var(--sage);font-size:13px;line-height:1.65;color:var(--cream);background:#191d16}footer{max-width:650px;margin:0 auto;border-top:1px solid #25251f;padding:28px 32px max(34px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:15px;color:var(--sage);font-size:8px;letter-spacing:.17em;line-height:1.8}
@media(min-width:700px){.hero{padding-top:80px;padding-bottom:75px}.topbar{padding:0 50px}.traits{font-size:9px}.content{padding-left:38px;padding-right:38px}.invitation{padding-top:75px;padding-bottom:75px}.rsvp{padding-top:62px}.response-choice{font-size:14px;padding:16px}.details-grid{font-size:16px}.hero-line{margin-top:45px}}
@media(max-width:350px){.content{padding-left:24px;padding-right:24px}.topbar{padding:0 24px}.response-options{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr;gap:22px}.hero>.eyebrow{font-size:9px;letter-spacing:.20em}.date-kicker{font-size:9px}.traits{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
