:root{--ivory:#EFD0A6;--gold:#BB8D4E;--wine:#60192A;--black:#000;--paper:#fff9f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--wine);background:var(--paper);font-family:Montserrat,sans-serif;font-size:14px;line-height:1.8}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.1}h1{font-size:clamp(3.5rem,9vw,7rem)}h2{font-size:clamp(2.7rem,6vw,4.3rem);margin:12px 0 25px}h3{font-size:2.2rem;margin:10px 0}a{color:inherit}header{position:sticky;top:0;z-index:5;background:rgba(255,249,240,.96);border-bottom:1px solid #bb8d4e66;display:flex;justify-content:space-between;align-items:center;padding:14px max(5%,calc((100vw - 1120px)/2));gap:16px}nav{display:flex;flex-wrap:wrap;gap:20px}nav a,footer a{text-decoration:none;font-size:11px;letter-spacing:.07em}.brand{font-family:'Cormorant Garamond',serif;font-size:27px;text-decoration:none}.brand span,.hero em{color:var(--gold)}.hero{text-align:center;min-height:82vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:radial-gradient(ellipse at center,#7d3045 0%,#60192A 58%,#350b18 100%);color:var(--ivory);border:12px solid var(--gold);outline:8px solid var(--wine);outline-offset:-24px}.hero h1{margin:20px 0}.hero h2{font-size:2.7rem}.hero p,.eyebrow,.ornament{font-size:11px;letter-spacing:.22em}.divider{color:var(--gold);font-size:25px}.gold-button{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#170b0c;text-decoration:none;padding:12px 28px;font:600 11px Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin-top:22px}.gold-button:hover{background:var(--ivory)}.section{text-align:center;padding:95px 20px}.ivory{background:var(--ivory)}.narrow{max-width:630px;margin:0 auto 20px}.muted{opacity:.7;font-size:12px}.eyebrow{color:#9a6c32}.detail-grid{max-width:920px;margin:35px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail-grid article{padding:40px 22px;border:1px solid var(--gold);background:#fffaf3}.detail-grid article p{margin:7px}.detail-grid article a{font-size:12px}.symbol{font-size:28px;color:var(--gold)}.form{max-width:480px;margin:25px auto;text-align:left}.form label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}.form input,.form select,.form textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #bb8d4e;background:#fffaf3;font:14px Montserrat,sans-serif;color:var(--wine);border-radius:0}.form button{width:100%}footer{background:var(--black);color:var(--ivory);text-align:center;padding:30px}.overlay{position:fixed;inset:0;z-index:20;background:#1d090f;display:grid;place-items:center;padding:20px;transition:opacity .65s,visibility .65s}.overlay.hidden{opacity:0;visibility:hidden}.invitation{width:min(460px,100%);min-height:390px;padding:50px 25px;text-align:center;position:relative;background:linear-gradient(145deg,#7b2a42,var(--wine));border:2px solid var(--gold);box-shadow:0 25px 80px #0009;color:var(--ivory);overflow:hidden}.invitation:before{content:'';position:absolute;inset:12px;border:1px solid #bb8d4e88;pointer-events:none}.invitation h1{font-size:3.5rem}.invitation p{letter-spacing:.2em;font-size:10px}.flap{position:absolute;top:0;left:0;right:0;height:100px;clip-path:polygon(0 0,100% 0,50% 100%);background:#8b3950;color:var(--gold);padding-top:15px}.seal{position:relative;z-index:1;margin:55px auto 0;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;border:2px solid var(--gold);background:var(--wine);font:22px 'Cormorant Garamond',serif}.seal span{font-size:12px}.portal{max-width:1080px;margin:50px auto;padding:20px}.portal .panel{background:#fffaf3;border:1px solid var(--gold);padding:30px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats>div{background:var(--ivory);padding:20px}.stats strong{display:block;font-size:2rem}.portal table{width:100%;border-collapse:collapse;display:block;overflow:auto}.portal td,.portal th{padding:10px;border-bottom:1px solid #ddd;text-align:left;white-space:nowrap}.portal button{cursor:pointer}.hidden-ui{display:none!important}@media(max-width:650px){header{flex-direction:column;padding:10px}nav{justify-content:center;gap:10px}nav a{font-size:10px}.detail-grid,.stats{grid-template-columns:1fr}.hero{min-height:72vh;border-width:7px}.section{padding:60px 16px}}
