:root{color-scheme:light;--paper:#faf6f0;--ink:#361b23;--muted:#735f64;--line:#e8ded7;--wine:#642a3c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}.masthead{max-width:1120px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Italiana,Georgia,serif;font-size:28px}.wordmark strong{font-weight:400}.note,.eyebrow,footer{font-size:10px;letter-spacing:.2em}.note{color:var(--muted)}.card{display:grid;grid-template-columns:1fr 1fr;max-width:1060px;margin:12px auto 36px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.photo{background:#e1ded2}.photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.invitation{padding:64px 50px;align-self:center}.eyebrow{color:var(--muted);margin:0 0 22px}h1{font-family:Italiana,Georgia,serif;font-weight:400;font-size:clamp(44px,5vw,64px);line-height:1.04;letter-spacing:-.025em;margin:0 0 24px}.intro{font-size:17px;line-height:1.65;margin:0 0 32px;color:var(--muted);max-width:350px}.button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:16px 20px;background:var(--wine);color:white;text-decoration:none;font-size:14px;font-weight:600;border-radius:12px;transition:background .15s}.button:hover{background:#4a1d2d}.button svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}.button span:last-child{margin-left:auto}.button:focus-visible,summary:focus-visible{outline:3px solid #ac8350;outline-offset:5px}details{margin-top:24px;color:var(--muted);font-size:13px;line-height:1.6}summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;text-underline-offset:4px}details p{margin:8px 0 16px}footer{text-align:center;color:var(--muted);padding:0 24px 28px}
@media(max-width:700px){.masthead{padding:22px 22px}.wordmark{font-size:25px}.note{font-size:9px}.card{display:flex;flex-direction:column;margin:0 16px 28px;border-radius:18px}.photo{height:260px}.photo img{object-position:50% 25%}.invitation{padding:28px 24px 20px;width:100%}.eyebrow{margin-bottom:15px}h1{font-size:46px;margin-bottom:18px}.intro{font-size:15px;line-height:1.6;margin-bottom:24px;max-width:none}.button{font-size:14px;padding:16px}details{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
