*{margin:0;padding:0;box-sizing:border-box}
:root{--green:#0b352a;--green2:#114436;--crimson:#7a1228;--gold:#c9a227;--gold-l:#ecd79a;--ivory:#f4ecd6;--ink:#ece6d4}
body{font-family:'Jost',sans-serif;background:var(--green);color:var(--ink);line-height:1.75;font-weight:300}
.deco{font-family:'Cinzel Decorative',serif} .cg{font-family:'Cormorant Garamond',serif} .ar{font-family:'Amiri',serif}
a{color:inherit;text-decoration:none}
/* iznik tile motif background */
.tiles{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.16;background-image:radial-gradient(circle at 0 0,transparent 30%,var(--gold) 31%,var(--gold) 33%,transparent 34%),radial-gradient(circle at 60px 60px,transparent 30%,var(--gold) 31%,var(--gold) 33%,transparent 34%),radial-gradient(circle at 0 60px,var(--crimson) 8%,transparent 9%),radial-gradient(circle at 60px 0,var(--crimson) 8%,transparent 9%);background-size:60px 60px}
section,header,.ribbon{position:relative;z-index:2}
.ribbon{background:rgba(0,0,0,.45);color:var(--gold-l);font-size:11px;letter-spacing:1px;text-align:center;padding:8px 14px;text-transform:uppercase;border-bottom:1px solid rgba(201,162,39,.4)}
.ribbon a{color:#fff;font-weight:500;border-bottom:1px solid var(--gold)}
.wrap{max-width:880px;margin:0 auto;padding:0 24px}
/* ornate frame helper */
.orn{border:2px solid var(--gold);position:relative;padding:54px 30px}
.orn::before,.orn::after{content:"❖";position:absolute;color:var(--gold);font-size:1.1rem;background:var(--green)}
.orn::before{top:-11px;left:50%;transform:translateX(-50%)}.orn::after{bottom:-11px;left:50%;transform:translateX(-50%)}
/* hero — imperial seal */
.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:90px 24px 60px;text-align:center}
.seal{width:120px;height:120px;margin:0 auto 24px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;background:radial-gradient(var(--green2),var(--green));box-shadow:0 0 0 6px rgba(201,162,39,.15),0 0 40px rgba(201,162,39,.2)}
.seal .ar{color:var(--gold-l);font-size:2.2rem}
.hero .imp{font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--gold)}
.hero h1{font-family:'Cinzel Decorative',serif;font-size:clamp(2.2rem,8vw,4.2rem);color:#fff;line-height:1.15;margin:14px 0}
.hero h1 .amp{color:var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;display:block;font-size:.5em;margin:6px 0}
.hero .by{color:var(--gold-l);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem}
.hero .dt{margin-top:18px;letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--ink)}
.sec{padding:78px 24px;max-width:900px;margin:0 auto}
.kicker{text-align:center;font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--gold)}
.h2{font-family:'Cinzel Decorative',serif;text-align:center;font-size:clamp(1.5rem,5vw,2.2rem);color:var(--gold-l);margin:8px 0 30px}
/* royal procession — horizontal scroll */
.procession{display:flex;gap:18px;overflow-x:auto;padding:8px 4px 22px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.procession::-webkit-scrollbar{height:6px}.procession::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
.proc{flex:0 0 78%;max-width:340px;scroll-snap-align:center;background:linear-gradient(var(--green2),#0d3b2e);border:1px solid var(--gold);border-radius:14px;padding:30px 26px;text-align:center}
@media(min-width:760px){.proc{flex-basis:300px}}
.proc .no{font-family:'Cinzel Decorative',serif;color:var(--gold);font-size:1.6rem}
.proc h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#fff;margin:6px 0 4px}
.proc small{color:var(--gold-l)}
.proc p{margin-top:8px;font-size:.95rem;color:var(--ink)}
.scrollhint{text-align:center;color:var(--gold-l);font-size:12px;letter-spacing:1px;margin-top:6px}
/* countdown medallion */
.cdband{text-align:center;padding:20px 0}
.cd{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.cd .m{width:92px;height:92px;border-radius:50%;border:2px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(var(--green2),var(--green))}
.cd .n{font-family:'Cinzel Decorative',serif;font-size:1.5rem;color:#fff}.cd .l{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-l)}
/* houses / families */
.houses{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.house{flex:1;min-width:230px;max-width:340px;text-align:center;border:1px solid rgba(201,162,39,.45);border-radius:14px;padding:28px}
.house .crest{color:var(--gold);font-size:1.6rem}.house .role{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.house .nm{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#fff;margin:6px 0 2px}.house small{color:var(--gold-l)}
.btn{display:inline-block;background:var(--crimson);color:var(--gold-l);padding:13px 30px;border-radius:6px;border:1px solid var(--gold);font-weight:500;letter-spacing:1px;font-size:.85rem;cursor:pointer;transition:.3s}
.btn:hover{background:#92172f}
.btn-g{background:var(--gold);color:var(--green)}.btn-g:hover{background:var(--gold-l)}
.venue{text-align:center}
.rsvp form{max-width:420px;margin:24px auto 0;display:flex;flex-direction:column;gap:14px}
.rsvp input,.rsvp select{padding:13px;border:1px solid rgba(201,162,39,.5);border-radius:8px;background:rgba(0,0,0,.2);color:#fff;font-family:inherit}
.rsvp .ok{display:none;color:var(--gold-l);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;margin-top:6px}.rsvp .ok.show{display:block}
.cta{text-align:center;padding:78px 24px;border-top:1px solid rgba(201,162,39,.3)}
.cta h2{font-family:'Cinzel Decorative',serif;color:#fff;font-size:clamp(1.4rem,4.5vw,2rem)}
.cta p{color:var(--gold-l);max-width:460px;margin:12px auto 24px}.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.foot{text-align:center;padding:30px 24px;font-size:.84rem;color:var(--gold-l)}.foot a{color:#fff}
.rv{opacity:0;transform:translateY(20px);transition:.9s}.rv.in{opacity:1;transform:none}
