:root{--green:#294c3b;--pink:#f2b9c7;--paper:#fff9f0;--wine:#682a3d;--lime:#e5ec9a}*{box-sizing:border-box}body{margin:0;background:var(--pink);color:var(--green);-webkit-font-smoothing:antialiased}header{background:var(--paper);padding:20px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #294c3b30}.brand{display:flex;align-items:center;gap:14px}.brand img{width:47px;height:47px;object-fit:contain}.brand>span{font:600 28px/1 Georgia,serif;letter-spacing:-.04em}.brand small{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.3em;text-align:center;margin-top:8px}.status{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.status>span{height:8px;width:8px;border-radius:50%;background:var(--green)}main{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 151px);align-items:center;max-width:1700px;margin:auto}.copy{padding:65px 3vw 65px 7vw}.eyebrow{font:700 11px/1.6 Arial,sans-serif;letter-spacing:.12em;color:var(--wine);margin:0 0 25px}h1{position:relative;display:inline-block;font:400 clamp(78px,9.3vw,145px)/.85 Georgia,serif;letter-spacing:-.065em;margin:0}h1 em{display:block;color:var(--wine);font-weight:400;line-height:1.15}.star{position:absolute;right:-75px;bottom:28px;font:90px/1 Georgia,serif;color:var(--wine);transform:rotate(12deg)}.intro{font:400 clamp(26px,2.9vw,40px)/1.15 Georgia,serif;letter-spacing:-.025em;margin:26px 0 20px}.body-copy{font:16px/1.8 Arial,sans-serif;max-width:390px;margin:0}.invitation{font:700 12px/1.6 Arial,sans-serif;margin:25px 0 13px}.socials{display:flex;gap:13px;flex-wrap:wrap}.socials>a{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 20px;min-height:48px;border:1px solid var(--wine);color:var(--paper);background:var(--wine);text-decoration:none;font:700 12px/1.5 Arial,sans-serif;border-radius:3px}.socials>a+ a{color:var(--wine);background:transparent}.socials>a:hover{background:var(--green);color:var(--paper);border-color:var(--green)}a:focus-visible{outline:3px solid var(--green);outline-offset:5px}.visual{position:relative;padding:65px 6vw 45px 2vw;min-width:0}.photo-frame{transform:rotate(3deg);background:var(--paper);padding:12px;box-shadow:12px 14px 0 #682a3d22}.photo-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center}.photo-caption{display:flex;justify-content:space-between;gap:12px;padding:19px 7px 9px;font:700 9px/1.5 Arial,sans-serif;letter-spacing:.06em}.seal{position:absolute;right:4vw;top:22px;width:125px;height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:50%;background:var(--lime);font:700 11px/1.6 Arial,sans-serif;text-align:center;transform:rotate(10deg)}.seal b{font:27px/1.1 Georgia,serif}.signature{text-align:center;font:700 italic 27px/1.5 Georgia,serif;color:var(--wine);margin:38px 0 0}footer{padding:20px 6vw;display:flex;justify-content:space-between;gap:18px;background:var(--green);color:var(--paper);font:10px/1.5 Arial,sans-serif;letter-spacing:.04em}@media(max-width:900px){.copy{padding-left:6vw}h1{font-size:10vw}.star{font-size:70px;right:-60px}.body-copy{font-size:15px}.photo-caption{font-size:7px}.seal{width:105px;height:105px;font-size:9px}}@media(max-width:660px){header{padding:17px 7vw;align-items:center}.brand>span{font-size:24px}.brand img{width:38px;height:38px}.status{font-size:8px;letter-spacing:.04em;max-width:115px}.status>span{flex-shrink:0}main{grid-template-columns:1fr}.copy{padding:43px 8vw 30px}.eyebrow{font-size:10px;margin-bottom:23px}h1{font-size:clamp(88px,21vw,125px)}.star{font-size:72px;right:-68px;bottom:20px}.intro{font-size:30px;margin-top:21px}.body-copy{font-size:15px;max-width:420px}.invitation{margin-top:22px}.socials>a{gap:30px}.visual{padding:25px 10vw 32px}.photo-frame img{aspect-ratio:1.2}.photo-caption{font-size:8px}.seal{top:0;right:6vw;width:95px;height:95px;font-size:9px}.signature{font-size:25px;margin-top:27px}footer{padding:20px 8vw;flex-direction:column;gap:8px;font-size:10px}}@media(max-width:360px){h1{font-size:80px}.star{font-size:55px;right:-50px}.status{max-width:90px}.brand>span{font-size:21px}.socials>a{padding:13px 16px;gap:25px}}