:root{--paper:#eae4d7;--ink:#303f47;--muted:#566166;--line:#c8c1b3;--field:#f8f5ee;--accent:#303f47;--accent-text:#fffaf0;--error:#9b302a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline-offset:5px;outline:3px solid #52788b}::selection{color:var(--ink);background:#cbd7d9}.site-shell{width:min(1180px,100%);margin:0 auto;padding:0 56px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:112px;display:flex}.signature{font:400 24px/1.4 Georgia,serif;text-decoration:none}.signature span{padding:0 5px}.language-switch{border:1px solid #b6b1a5;border-radius:5px;flex-shrink:0;gap:3px;padding:4px;display:flex}.language-switch a{border-radius:3px;align-items:center;min-height:44px;padding:8px 14px;font-size:15px;text-decoration:none;display:flex}.language-switch a[aria-current]{background:var(--ink);color:var(--accent-text)}.hero{grid-template-columns:1.06fr 1fr;align-items:center;gap:74px;padding:78px 0 81px;display:grid}.postcard{background:#faf6ec;margin:0;padding:15px 15px 22px;transform:rotate(-2deg);box-shadow:0 5px 16px #303f4709}.photo-frame{height:438px;position:relative}.photo-frame img{object-fit:cover;object-position:52% 48%}.photo-placeholder{height:100%;color:var(--ink);background:#d9d1c2;place-items:center;font:400 56px Georgia,serif;display:grid}.postcard figcaption{text-align:center;margin-top:20px;font:italic 18px/1.4 Georgia,serif}.eyebrow{letter-spacing:2.7px;text-transform:uppercase;margin:0 0 24px;font-size:12px}h1{letter-spacing:-4.5px;margin:0 0 28px;font-size:clamp(55px,6vw,82px);font-weight:400;line-height:1.01}html[lang=en] h1{letter-spacing:-3.5px;font-size:clamp(48px,5vw,68px)}.hero-lead{margin:0 0 26px;font:400 26px/1.4 Georgia,serif}.wedding-details{border-block:1px solid var(--line);margin:0 0 24px;padding:15px 0;font-size:15px}.coming-soon{margin:0 0 26px;font-size:17px}.button{border:1px solid var(--accent);text-align:center;border-radius:3px;justify-content:center;align-items:center;gap:18px;min-height:56px;padding:16px 20px;font-size:16px;line-height:1.45;text-decoration:none;transition:background .15s;display:inline-flex}.primary{background:var(--accent);color:var(--accent-text)}.primary:hover{background:#445964}.secondary{color:var(--ink);background:0 0}.secondary:hover{background:#ded9ce}.address-section{border-top:1px solid var(--line);grid-template-columns:1fr 1.15fr;gap:100px;padding:62px 0 72px;display:grid}.monogram{margin-bottom:29px;font:400 28px/1.4 Georgia,serif;display:block}h2{letter-spacing:-1.1px;margin:0 0 25px;font:400 43px/1.14 Georgia,serif}.address-intro p{margin:0 0 23px}.household-note{color:var(--muted);font-size:16px}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.7}fieldset:disabled button{cursor:wait}.required-note{color:var(--muted);margin:0 0 24px;font-size:13px}.field{min-width:0;margin-bottom:22px}.field label{margin-bottom:7px;font-size:16px;display:block}.optional{color:var(--muted);font-size:13px}.field input{background:var(--field);width:100%;min-width:0;height:53px;color:var(--ink);border:1px solid #a6a89f;border-radius:3px;padding:11px 13px;font-size:16px}.field input::placeholder{color:#69716f;opacity:1}.field input[aria-invalid=true]{border-color:var(--error)}.field-hint{color:var(--muted);margin:7px 0 0;font-size:13px}.field-row{grid-template-columns:.85fr 1.15fr;gap:18px;display:grid}.field-error,.form-error{color:var(--error);margin:8px 0 0;font-size:14px}.form-error{margin:0 0 20px}.submit-button{width:100%;margin-top:5px}.privacy-note{color:var(--muted);margin:15px 0 0;font-size:13px}.success-panel{padding:30px 0}.success-check{background:var(--ink);width:50px;height:50px;color:var(--accent-text);border-radius:50%;place-items:center;margin-bottom:25px;font-size:27px;display:grid}.success-panel h3{margin:0 0 20px;font:400 32px/1.25 Georgia,serif}.success-panel p{margin:0 0 28px}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 26px;padding:28px 0 34px;font-size:14px;display:flex}.site-footer p{margin:0}.footer-names{font-family:Georgia,serif;font-size:18px}.site-footer small{color:var(--muted);flex-basis:100%;font-size:12px}.sr-only,.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--accent-text);z-index:10;padding:12px 20px;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (max-width:1000px){.site-shell{padding:0 36px}.hero{gap:42px;padding:58px 0}.photo-frame{height:400px}.address-section{gap:60px}h2{font-size:37px}}@media (max-width:760px){.site-shell{max-width:580px;padding:0 25px}.site-header{gap:15px;min-height:97px}.signature{font-size:20px}.language-switch a{padding:8px 10px;font-size:14px}.hero{grid-template-columns:1fr;gap:42px;padding:38px 0 43px}.postcard{margin:0 5px;padding:12px 12px 18px}.photo-frame{aspect-ratio:1.2;height:auto}.postcard figcaption{margin-top:16px;font-size:17px}.eyebrow{margin-bottom:20px;font-size:11px}h1{margin-bottom:24px;font-size:68px}html[lang=en] h1{font-size:59px}.hero-lead{font-size:26px}.hero .button{width:100%}.address-section{grid-template-columns:1fr;gap:14px;padding:35px 0 45px}.monogram{margin-bottom:20px;font-size:25px}h2{max-width:360px;font-size:37px}.address-intro p{margin-bottom:20px}.required-note{margin-top:10px}.site-footer{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:380px){.site-shell{padding:0 19px}.site-header{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 0}.field-row{grid-template-columns:1fr;gap:0}h1{font-size:63px}html[lang=en] h1{font-size:52px}h2{font-size:34px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
