*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#efe3c4;color:#1a1208;font:17px/1.55 "Libre Baskerville",Georgia,serif}
main{max-width:1040px;margin:0 auto;padding:16px}
h1,h2,h3{font-family:"Bodoni Moda",Georgia,serif;color:#0b1f3a;margin:0 0 12px;line-height:1.15}
h1{font-size:clamp(32px,8.5vw,56px);font-weight:800}
h2{font-size:clamp(26px,6vw,36px)}
p{margin:0 0 12px}
a{color:#6b4a10}
.script{font-family:"Pinyon Script",cursive;font-size:30px;color:#6b4a10;margin:0 0 4px}
.hero{display:grid;gap:18px;padding:8px 0}
.hero-img{width:100%;height:auto;border:3px double #b8862a;outline:2px solid #d4af37;outline-offset:-10px;display:block}
.btn{display:inline-block;background:#0b1f3a;color:#fbf3dc;border:2px solid #d4af37;padding:14px 22px;font:700 17px "Libre Baskerville",serif;text-decoration:none;cursor:pointer;margin-top:4px}
.btn:hover{background:#13306b}
.orn{text-align:center;color:#b8862a;font-size:28px;margin:14px 0}
.paper{position:relative;padding:22px 20px;background:#fbf3dc;background-image:linear-gradient(180deg,#fdf7e6,#f1e2bb);border:3px double #b8862a;outline:2px solid #d4af37;outline-offset:-10px;box-shadow:0 6px 18px rgba(60,40,10,.25);margin-bottom:22px}
.intro{display:grid;gap:18px}
.media img,.media video{width:100%;height:auto;display:block;border:1px solid #b8862a}
.salute{font-style:italic}
.sign{font-family:"Pinyon Script",cursive;font-size:34px;color:#0b1f3a;margin:0}
.registry{max-width:640px;margin:0 auto 22px}
form{display:grid;gap:10px;margin:14px 0}
label{font-weight:700}
input[type=email]{font:17px Georgia,serif;padding:13px;border:2px solid #b8862a;background:#fffdf6;color:#1a1208;width:100%}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:#0b1f3a}
.msg{min-height:1em;margin:0;font-weight:700;color:#5a1a0c}
.done h3{font-size:28px}
.note{font-size:15px;color:#2b1f0c;margin:8px 0 0}
.teaser{display:grid;gap:18px;align-items:center;margin-bottom:8px}
.teaser img{width:100%;max-width:360px;height:auto;border:3px double #b8862a;justify-self:center}
.teaser p{font-size:19px;font-style:italic}
footer{background:#0b1f3a;color:#fbf3dc;padding:22px 16px;text-align:center;font-size:15px}
footer p{max-width:760px;margin:0 auto 8px}
footer a{color:#f3d27a}
.legal{max-width:720px;margin:16px auto}
@media(min-width:820px){
 main{padding:28px}
 .hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:36px}
 .intro{grid-template-columns:.8fr 1.2fr;align-items:center;padding:32px}
 .teaser{grid-template-columns:.6fr 1.4fr;gap:32px}
}
