:root{color-scheme:dark;--background:#111210;--foreground:#f4e9d5;--primary:#d7b477;--primary-foreground:#16140e;--input:#58503e;--ring:#d7b477;--muted-foreground:#b4afa3;--radius:0rem}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.6 Arial,Helvetica,sans-serif}main{max-width:1500px;margin:auto;padding:0 5%}header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #55432c;color:#d7b477;font-size:.75rem;letter-spacing:.2em}.grid-page{display:grid;grid-template-columns:1.08fr 1fr;margin:36px 0;gap:8%}.invitation{position:relative;min-height:800px;overflow:hidden;border:1px solid #7a5c34;isolation:isolate}.portrait{position:absolute;inset:0;z-index:-2;background:url('invitation.png') 51% 29%/auto 160%}.invitation:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08080605 15%,#08080633 30%,#080806dd 60%,#080806 100%)}.invitation:before{content:"";position:absolute;inset:10px;border:1px solid #d3ac6255;pointer-events:none}.copy{position:absolute;bottom:42px;left:8%;right:8%}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.19em;color:#d7b477;margin:0 0 15px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07}h1{font-size:clamp(2.8rem,4.8vw,5rem);margin:0;letter-spacing:-.035em}h1 em{color:#d7b477}.motto{letter-spacing:.05em;margin:20px 0 28px}.event{border-block:1px solid #9b7b4666;padding:18px 0;color:#cfc7b9}.event strong{font-size:1.2rem;font-weight:400;color:#f4e9d5}.dress{font-size:.875rem;color:#e3c185;margin:24px 0 0}.dress span{color:#b4afa3}.reservation{padding:24px 0;max-width:540px;align-self:center}.ornament{color:#d7b477;display:flex;align-items:center;gap:16px;margin-bottom:32px}.ornament:before,.ornament:after{content:"";height:1px;background:#625035;flex:1}.reservation>.eyebrow{text-align:center}h2{font-size:clamp(2.25rem,3vw,3.25rem);text-align:center;letter-spacing:-.035em;margin:0 0 18px}.intro{color:#bbb7ad;text-align:center;margin:0 auto 30px;max-width:390px}.field{margin:0 0 22px}label{display:block;font-size:.875rem;margin-bottom:8px;color:#f1e6d3}.field input{height:52px;border-radius:2px;background:#1b1c18;border:1px solid #5d5746;padding:12px 14px;font-size:1rem;color:#f4e9d5;width:100%}.field input:focus-visible{outline:2px solid #d7b477;outline-offset:3px}.field input::placeholder{color:#8e8d83}.hint{font-size:.8125rem;color:#b1aea5;margin:7px 0 0}.submit{width:100%;min-height:55px;height:auto;border:1px solid #e7c994;border-radius:2px;background:#d7b477;color:#19170f;font-size:1rem;font-weight:600;padding:15px;white-space:normal;cursor:pointer;justify-content:space-between}.submit:hover{background:#e6c68e}.submit:disabled{opacity:.65;cursor:wait}.privacy{display:flex;align-items:flex-start;gap:9px;color:#aaa79d;font-size:.75rem;line-height:1.6;margin:15px 0 26px}.privacy svg{flex-shrink:0;margin-top:3px}.details{border-top:1px solid #453e2f;padding-top:18px;color:#aaa79d;font-size:.8125rem}.details p{margin:0 0 12px}.details strong{color:#d9cbb4;font-size:.875rem;font-weight:400}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success{padding:28px 24px;border:1px solid #857047;margin:30px 0;color:#dfc699;background:#d7b47709}.success h3{font-size:2rem;margin:18px 0}.success p{color:#d4cec0}.error{color:#ffc2ae;font-size:.875rem}footer{border-top:1px solid #55432c;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.13em;color:#aa956f}button:focus-visible{outline:2px solid #f3d8a8;outline-offset:4px}
@media(max-width:800px){main{padding:0 24px}header{min-height:70px;font-size:.75rem;letter-spacing:.08em}.grid-page{grid-template-columns:1fr;gap:18px;margin:24px 0}.invitation{min-height:440px}.portrait{background-size:auto 235%;background-position:55% 29%}.copy{bottom:26px;left:26px;right:26px}h1{font-size:3.1rem}.motto{margin:12px 0 18px}.event{padding:12px 0}.dress{margin-top:16px}.reservation{max-width:560px;width:100%;margin:auto;padding-top:22px}.ornament{margin-bottom:24px}footer{line-height:1.9}.intro{margin-bottom:27px}}
@media(max-width:380px){main{padding:0 16px}header{flex-wrap:wrap;gap:4px;padding:14px 0}.copy{left:20px;right:20px}h1{font-size:2.8rem}}


.submit{display:flex;align-items:center;gap:12px;font-family:inherit}.submit span{font-size:1.3rem}input,button{font:inherit}a{color:#d7b477}
