*{box-sizing:border-box}:root{--black:#080808;--ink:#12100f;--cream:#eee5d6;--gold:#c7a365;--rose:#b97d75;--muted:#aaa197}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:Montserrat,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.intro{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 45%,#211713,#070707 62%);display:grid;place-items:center;text-align:center;overflow:hidden;transition:1s}.intro.out{opacity:0;visibility:hidden;transform:scale(1.04)}.intro-stars{position:absolute;inset:0;background-image:radial-gradient(#d6b46d 1px,transparent 1px);background-size:46px 46px;opacity:.13;animation:fall 12s linear infinite}@keyframes fall{to{transform:translateY(46px)}}.glow{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(90px);opacity:.15}.glow-a{background:#d0a161;left:-120px;bottom:-100px}.glow-b{background:#9a5d57;right:-150px;top:-100px}.intro-center{z-index:2}.crown{font-size:38px;color:var(--gold)}.intro-center>span,.countdown-section header span,.story-title>span,.details-content>span,.dress-copy>span,.gallery header>span,.final-copy>span,.modal-card>span{font-size:9px;letter-spacing:.34em}.xv{font:400 clamp(140px,23vw,255px)/.63 "Cormorant Garamond";color:var(--gold);text-shadow:0 0 40px #bb874233}.intro h1{font:italic 66px "Cormorant Garamond";margin:-22px 0 8px}.intro p{font-size:11px;opacity:.72}.intro button,.final button{margin-top:28px;border:1px solid var(--gold);background:transparent;color:var(--cream);padding:16px 28px;font-size:8px;letter-spacing:.18em;cursor:pointer;transition:.3s}.intro button:hover,.final button:hover{background:var(--gold);color:#111}.intro-date{position:absolute;bottom:35px;letter-spacing:.25em;font-size:8px}.site{opacity:0;transition:1s}.site.ready{opacity:1}.progress{position:fixed;z-index:100;top:0;left:0;height:2px;width:0;background:var(--gold)}.music{position:fixed;z-index:90;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;border:1px solid #c7a365;background:#111c;color:var(--gold);cursor:pointer}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.03);animation:heroZoom 17s ease-in-out infinite alternate}@keyframes heroZoom{to{transform:scale(1.12)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080808f2 0,#0808089d 32%,transparent 70%),linear-gradient(0deg,#080808c5,transparent 45%)}nav{position:absolute;z-index:4;left:0;right:0;display:flex;justify-content:space-between;padding:28px 5vw;border-bottom:1px solid #ffffff20}.logo{font:400 27px "Cormorant Garamond";color:var(--gold)}nav div{display:flex;gap:28px}nav div a{font-size:8px;letter-spacing:.18em;text-transform:uppercase}.hero-copy{position:absolute;z-index:3;left:6vw;bottom:18vh}.hero-copy>span{font-size:8px;letter-spacing:.3em}.hero-copy h1{font:400 clamp(70px,9vw,128px)/.78 "Cormorant Garamond";margin:18px 0}.hero-copy em{color:var(--gold);font-weight:400}.hero-copy p{font-size:9px;letter-spacing:.22em}.discover{position:absolute;z-index:3;right:5vw;bottom:6vh;font-size:8px;letter-spacing:.22em}.discover b{margin-left:15px}.countdown-section{position:relative;text-align:center;padding:100px 5vw;background:#111}.spark-field{position:absolute;inset:0;background:radial-gradient(circle at 10% 50%,#c7a36533,transparent 20%),radial-gradient(circle at 90% 30%,#b97d7530,transparent 22%)}.countdown-section header{position:relative}.countdown-section h2{font:400 52px "Cormorant Garamond";margin:16px}.clock{position:relative;display:flex;justify-content:center;align-items:start;margin-top:50px}.clock div{min-width:150px}.clock b{display:block;font:400 clamp(55px,7vw,90px) "Cormorant Garamond";color:#d09486}.clock small{font-size:7px;letter-spacing:.22em;color:#d1b579}.clock i{font:400 52px "Cormorant Garamond";color:#c7a365}.story{background:#0c0c0d;padding:120px 7vw}.story-title{text-align:center;max-width:750px;margin:auto}.story-title h2,.details-content h2,.dress-copy h2,.gallery header h2,.final-copy h2{font:400 clamp(50px,6vw,82px)/.95 "Cormorant Garamond";margin:20px 0}.story-title em,.gallery em,.dress-copy em{color:#d08b80;font-weight:400}.story-title p{line-height:1.8;color:#aaa197}.timeline{max-width:1080px;margin:100px auto 0;position:relative}.line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#645745}.line i{display:block;width:2px;height:0;background:var(--gold)}.moment{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;min-height:420px}.moment-image{height:275px;overflow:hidden;border:1px solid #8a6b43;box-shadow:0 20px 50px #0008}.moment-image img{height:100%;object-fit:cover;transition:.8s}.moment-image:hover img{transform:scale(1.05)}.moment-copy{padding:25px}.moment-copy time{font:400 48px "Cormorant Garamond";color:var(--gold)}.moment-copy h3{font:400 38px "Cormorant Garamond";margin:8px 0}.moment-copy p{font-size:12px;line-height:1.7;color:#aaa197}.statement{overflow:hidden;background:#7e5652;border-top:1px solid #c7a36566;border-bottom:1px solid #c7a36566;padding:22px}.marquee{display:flex;width:max-content;animation:marq 15s linear infinite}.marquee span{font:400 32px "Cormorant Garamond";letter-spacing:.08em;white-space:nowrap}@keyframes marq{to{transform:translateX(-50%)}}.details{display:grid;grid-template-columns:.85fr 1.15fr;min-height:750px;background:#eee5d6;color:#171514}.portrait{overflow:hidden}.portrait img{height:100%;object-fit:cover}.details-content{padding:8vw 7vw;align-self:center}.info{display:grid;grid-template-columns:repeat(3,1fr);margin:45px 0;border-top:1px solid #b7a890;border-bottom:1px solid #b7a890}.info div{padding:28px 18px;border-right:1px solid #b7a890}.info div:last-child{border:0}.info small{font-size:7px;letter-spacing:.2em}.info b{display:block;font:400 55px "Cormorant Garamond";margin:10px 0}.info .place{font-size:32px}.info p{font-size:9px}.location{font-size:8px;letter-spacing:.2em;border-bottom:1px solid;padding-bottom:8px}.dress{display:grid;grid-template-columns:1fr .75fr;padding:100px 7vw;background:#101010}.dress-copy{align-self:center;max-width:650px}.dress-copy p{line-height:1.8;color:#aaa197}.swatches{display:flex;gap:12px;margin-top:25px}.swatches i{width:37px;height:37px;border-radius:50%;background:#5d1f29}.swatches i:nth-child(2){background:#9c6b6d}.swatches i:nth-child(3){background:#c29d7a}.swatches i:nth-child(4){background:#d7c7aa}.swatches i:nth-child(5){background:#3a3b31}.dress-card{margin:auto;width:min(360px,90%);border:1px solid #7b684d;padding:50px;text-align:center;background:#161412}.dress-card strong{font-size:9px;letter-spacing:.24em;color:#d3ad71}.dress-card p{font:400 37px "Cormorant Garamond"}.dress-card span{font-size:10px;line-height:1.7;color:#aaa197}.gallery{padding:110px 6vw;background:#080808}.gallery header{text-align:center}.gallery-grid{max-width:1150px;margin:70px auto 0;display:grid;grid-template-columns:1.15fr .8fr .8fr;grid-template-rows:280px 280px;gap:12px}.photo{padding:0;border:0;background:#111;overflow:hidden;cursor:pointer}.photo img{height:100%;object-fit:cover;transition:.75s}.photo:hover img{transform:scale(1.06)}.photo.big{grid-row:1/3}.photo.wide{grid-column:2/4}.final{height:800px;position:relative;display:flex;align-items:center;padding:7vw}.final>img{position:absolute;inset:0;height:100%;object-fit:cover}.final-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090909ef,#09090966)}.final-copy{position:relative;z-index:2;max-width:760px}.final-copy p{color:#c0b8ad}.final button{background:#c07f77;border-color:#c07f77}.modal{position:fixed;inset:0;z-index:1100;background:#050505eb;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.modal-card{position:relative;width:min(540px,92vw);background:#eee5d6;color:#181614;padding:48px}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:35px}.modal-card h2{font:400 46px "Cormorant Garamond";margin:10px 0}.modal-card label{display:block;font-size:8px;letter-spacing:.14em;margin-top:17px}.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:0;border-bottom:1px solid #777;background:transparent;padding:11px 0;outline:none}.modal-card textarea{height:70px}.send{width:100%;border:0;background:#a76662;color:#fff;padding:15px;margin-top:25px;font-size:8px;letter-spacing:.17em}.thanks{display:none;text-align:center;font:italic 27px "Cormorant Garamond"}.modal-card.sent>*:not(.close):not(.thanks){display:none}.modal-card.sent .thanks{display:block}.lightbox{position:fixed;inset:0;z-index:1200;background:#030303ef;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{width:auto;max-width:88vw;max-height:86vh}.lightbox button{position:absolute;right:22px;top:15px;border:0;background:none;color:#fff;font-size:40px}footer{text-align:center;padding:70px;background:#070707}footer strong{display:block;font:italic 58px "Cormorant Garamond";color:var(--gold)}footer span,footer small{display:block;font-size:8px;letter-spacing:.22em;margin-top:10px;color:#aaa}.reveal,.reveal-left,.reveal-right{opacity:0;transition:.9s}.reveal{transform:translateY(35px)}.reveal-left{transform:translateX(-45px)}.reveal-right{transform:translateX(45px)}.visible{opacity:1;transform:none}@media(max-width:800px){nav div{display:none}.hero-copy{left:24px}.hero-copy h1{font-size:18vw}.clock div{min-width:auto;width:23%}.clock i{font-size:30px}.story{padding:90px 22px}.line{left:18px}.moment{grid-template-columns:1fr;gap:20px;padding-left:42px;margin-bottom:80px}.moment.right .moment-copy{order:2}.moment-image{height:330px}.details{grid-template-columns:1fr}.portrait{height:560px}.details-content{padding:80px 25px}.info{grid-template-columns:1fr}.info div{border-right:0;border-bottom:1px solid #b7a890}.dress{grid-template-columns:1fr;padding:80px 25px;gap:60px}.gallery{padding:80px 12px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.photo{height:270px}.photo.big{grid-column:1/3;grid-row:auto;height:520px}.photo.wide{grid-column:1/3}.final{height:700px;padding:25px}.final-copy h2{font-size:15vw}}