:root{--preto:#0a0a0b;--chumbo:#1d1e21;--chumbo2:#34363b;--ouro:#c9a24b;--ouro2:#ecd79f;--texto:#f4f0e7;--suave:#c4c0b6;--erro:#f2a79b;--cursiva:"Great Vibes",cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--preto);color:var(--texto);font:300 17px/1.6 Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.hero{min-height:100svh;display:flex;padding:18px;background:radial-gradient(ellipse at 50% 45%,var(--chumbo2) 0,var(--chumbo) 40%,var(--preto) 80%)}
.frame{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 22px;border:1px solid var(--ouro);outline:1px solid rgba(201,162,75,.35);outline-offset:-9px}
.casa{margin:0;font:400 clamp(34px,5vw,46px)/1.15 var(--cursiva);color:var(--ouro2)}
.regencia{margin:10px 0 0;font-size:14px;letter-spacing:.06em;line-height:1.55;color:var(--suave)}
.regencia strong{font-weight:400;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro2)}
.convite{max-width:600px;margin:16px 0 0;font-size:16px;line-height:1.55;color:var(--texto)}
.ornament{display:block;width:170px;height:18px;margin:16px 0;color:var(--ouro)}
.lead{margin:0;font:400 clamp(28px,4.5vw,38px)/1.15 var(--cursiva);color:var(--texto)}
h1{margin:0;padding:.08em .2em .1em;font:400 clamp(58px,9vw,100px)/1.1 var(--cursiva);background:linear-gradient(180deg,var(--ouro2),var(--ouro) 60%,#9d7a2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.date{margin:0;font:400 clamp(21px,3.4vw,27px)/1.3 "Cormorant Garamond",serif;letter-spacing:.04em}
.countdown{margin:6px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave)}
.scroll{margin-top:22px;padding:13px 30px;border:1px solid var(--ouro);color:var(--ouro2);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;transition:background .25s,color .25s}
.scroll:hover,.scroll:focus-visible{background:var(--ouro);color:var(--preto)}
.rsvp{padding:64px 18px 88px;background:var(--preto)}
.card{max-width:600px;margin:0 auto;padding:44px 28px;background:var(--chumbo);border:1px solid var(--chumbo2);border-top:2px solid var(--ouro)}
h2{margin:0 0 14px;text-align:center;font:500 clamp(28px,5vw,34px)/1.2 "Cormorant Garamond",serif;color:var(--ouro2)}
.intro,.location{margin:0;text-align:center}
.adupe{margin:4px 0 0;text-align:center;font:400 34px/1.2 var(--cursiva);color:var(--ouro2)}
.location{margin-top:14px;color:var(--suave);font-size:15.5px}
.status{margin-top:30px;text-align:center;color:var(--suave)}
.status.done{font:400 24px/1.35 "Cormorant Garamond",serif;color:var(--texto)}
form{margin-top:32px}
.field{margin-bottom:26px;border:0;padding:0;min-width:0}
.field[hidden]{display:none}
.field>label:not(.choice),.field>legend{display:block;padding:0;margin-bottom:9px;font-size:15px;font-weight:400;color:var(--texto)}
.req{color:var(--ouro)}
input[type=text],input[type=tel],input[type=email],input[type=url],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea{width:100%;padding:13px 14px;background:var(--preto);border:1px solid var(--chumbo2);border-radius:0;color:var(--texto);font:300 17px/1.4 Jost,system-ui,sans-serif}
textarea{min-height:104px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8f8c84}
input:focus,select:focus,textarea:focus{outline:1px solid var(--ouro);border-color:var(--ouro)}
[aria-invalid=true]{border-color:var(--erro)!important}
.choice{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--preto);border:1px solid var(--chumbo2);cursor:pointer;font-weight:300}
.choice:hover{border-color:var(--ouro)}
.choice:has(input:checked){border-color:var(--ouro);color:var(--ouro2)}
.choice input{accent-color:var(--ouro);width:18px;height:18px;margin:0;flex:none}
.help{margin:6px 0 0;font-size:14px;color:var(--suave)}
.error{margin:6px 0 0;font-size:14px;color:var(--erro)}
button{width:100%;padding:16px;background:linear-gradient(180deg,var(--ouro2),var(--ouro));border:0;color:var(--preto);font:500 14px/1 Jost,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
button:hover{filter:brightness(1.07)}
button.add{margin:-8px 0 26px;padding:13px;background:none;border:1px dashed var(--ouro);color:var(--ouro2);font-size:12.5px;letter-spacing:.16em}
button[hidden]{display:none}
button:focus-visible,.scroll:focus-visible{outline:2px solid var(--texto);outline-offset:2px}
button:disabled{opacity:.6;cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}