 :root{--bg:#fbf8f2;--paper:#fffdf9;--gold:#b79a65;--dark:#927449;--ink:#39352f;--muted:#81796d;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font:300 14px/1.8 var(--sans)}a{color:inherit;text-decoration:none}
 .nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,6vw,85px);background:var(--paper);border-bottom:1px solid #e6ddcf;position:sticky;top:0;z-index:10}
 .brand{font-size:11px;letter-spacing:2px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
 .brand>span:first-child{border:1px solid var(--gold);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font:18px var(--serif);color:var(--dark)}
 .brand small{font-size:8px;color:var(--muted);letter-spacing:1px}
 .nav #links{display:flex;gap:25px;font-size:11px}
 .nav button{display:none}
 .hero{min-height:660px;padding:65px clamp(25px,10vw,140px);display:grid;grid-template-columns:1fr .8fr;gap:5vw;align-items:center;position:relative}
 .intro{text-align:center;max-width:510px;margin:auto}
 .eyebrow{font-size:9px;letter-spacing:3px;color:var(--dark);font-weight:600}
 .hero h1{font:400 clamp(45px,6vw,78px)/.95 var(--serif);margin:20px 0}
 .hero h1 i,
 .closing h3 i{color:var(--gold)}h2{font:400 clamp(37px,4vw,54px)/1.1 var(--serif);margin:8px 0 22px}h2 em{color:var(--dark)}h3{font:500 28px var(--serif);margin:8px 0}
 .hero p:not(.eyebrow){font-size:12px;color:var(--muted)}
 .cover{width:100%;height:480px;object-fit:cover;border:1px solid var(--gold);padding:9px;max-width:390px;justify-self:center}
 .rule{color:var(--gold);margin:20px}
 .btn{display:inline-block;border:1px solid var(--gold);padding:10px 20px;margin:12px 0;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:transparent;color:var(--dark);cursor:pointer}
 .gold{background:var(--gold);color:white}
 .section{padding:85px 24px}
 .center{text-align:center}
 .narrow{max-width:600px;margin:0 auto;color:var(--muted);font-size:12px}
 .ornament{font:40px var(--serif);color:var(--gold)}
 .count{display:flex;justify-content:center;gap:25px;margin-top:35px}
 .count div{display:grid}
 .count b{font:36px var(--serif);color:var(--dark)}
 .count small{font-size:9px;color:var(--muted)}
 .couples{display:grid;grid-template-columns:1fr 60px 1fr;gap:25px;max-width:850px;margin:40px auto 0;text-align:center;align-items:center}
 .couples article img{width:min(100%,280px);height:330px;object-fit:cover;border:1px solid var(--gold);padding:7px;border-radius:45% 45% 0 0}
 .couples article p{font-size:11px;color:var(--muted)}
 .couples article small{color:var(--dark)}
 .amp{font:italic 60px var(--serif);color:var(--gold)}
 .quote{padding:75px 24px;background:#eee4d4 url('../assets/images/bg-gold.png') center/cover}
 .quote blockquote{max-width:780px;margin:20px auto;font:italic clamp(23px,3vw,32px)/1.4 var(--serif)}
 .timeline{max-width:650px;margin:45px auto 0}
 .timeline article{display:grid;grid-template-columns:55px 1fr;gap:22px;margin:28px 0;text-align:left}
 .timeline article>b{border:1px solid var(--gold);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;color:var(--dark);font:20px var(--serif)}
 .timeline small{color:var(--dark);letter-spacing:1px}
 .timeline p{font-size:12px;color:var(--muted)}
 .soft{background:#f4eee4}
 .events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:800px;margin:35px auto}
 .events article,.bank{padding:30px;border:1px solid var(--gold);background:#fffdf9b8}
 .events p{font-size:11px;color:var(--muted)}
 .events a{font-size:11px;color:var(--dark);border-bottom:1px solid var(--gold)}hr{width:45px;border:0;border-top:1px solid var(--gold);margin:22px auto}
 .gallery{max-width:1050px;margin:40px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
 .photo{border:0;background:#eee4d4;padding:0;height:220px;cursor:zoom-in;overflow:hidden}
 .photo img{width:100%;height:100%;object-fit:cover;transition:.3s}
 .photo:hover img{transform:scale(1.04)}
 .bank{max-width:370px;margin:35px auto}
 .bank>b{display:block;letter-spacing:2px;color:var(--dark)}form{max-width:520px;margin:35px auto;display:grid;gap:15px;text-align:left}label{font-size:11px;color:var(--dark)}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #d9cebd;background:var(--paper);margin-top:5px;font:12px var(--sans)}form small{color:var(--muted);font-size:10px}
 .wish{max-width:520px;margin:10px auto;background:var(--paper);border-left:2px solid var(--gold);padding:12px;text-align:left}
 .wish p{font-size:12px;color:var(--muted)}
 .closing{padding:90px 20px;background:#f0e6d6 url('../assets/images/bg-gold.png') center/cover}
 .closing h2{font-size:clamp(42px,5vw,62px)}footer{padding:25px clamp(20px,6vw,85px);display:flex;justify-content:space-between;align-items:center;background:var(--paper);font-size:10px;color:var(--muted)}
 #lightbox{display:none;position:fixed;inset:0;background:#211d19ed;z-index:20;align-items:center;justify-content:center;padding:30px}
 #lightbox.open{display:flex}
 #lightbox img{max-width:95%;max-height:85vh}
 #close{position:absolute;right:20px;top:10px;font-size:38px;color:white;background:none;border:0}
 .stream{min-height:100vh}
 .stream main{min-height:70vh}
 .video{max-width:900px;aspect-ratio:16/9;border:1px solid var(--gold);margin:40px auto;background:#eee4d4;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}
 .video p{font-size:12px;color:var(--muted)}
 .video iframe{width:100%;height:100%;border:0}@media(max-width:700px){.nav{height:70px}
 .nav button{display:block;border:0;background:none;font-size:24px;color:var(--dark)}
 .nav #links{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column}
 .nav #links.open{display:flex}
 .hero{grid-template-columns:1fr;padding:55px 22px;gap:30px}
 .cover{height:380px;max-width:330px}
 .section{padding:65px 20px}
 .couples{grid-template-columns:1fr;gap:20px}
 .amp{font-size:42px}
 .events{grid-template-columns:1fr}
 .gallery{grid-template-columns:repeat(2,1fr);padding:0 15px}
 .photo{height:165px}
 .count{gap:15px}footer{align-items:flex-start;flex-direction:column;gap:10px}
 .brand small{width:100%}}