:root{--navy:#061c35;--navy2:#0c2a4c;--gold:#d8a72d;--gold2:#f3cf69;--cream:#f6f1e7;--ink:#10243a;--white:#fff;--red:#a1121d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden}.page-loader{position:fixed;inset:0;background:var(--navy);z-index:9999;display:grid;place-items:center;transition:.7s cubic-bezier(.77,0,.18,1)}.page-loader.hide{transform:translateY(-100%)}.loader-mark{color:var(--gold2);font:700 6rem/1 'Cormorant Garamond',serif;border:1px solid #d8a72d55;width:130px;height:130px;display:grid;place-items:center;transform:rotate(45deg);animation:pulse 1s infinite}.loader-mark::first-letter{transform:rotate(-45deg)}@keyframes pulse{50%{box-shadow:0 0 40px #d8a72d44}}.gold-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:2000}.navbar{padding:1rem 0;transition:.35s}.navbar.scrolled{background:#061c35f3;backdrop-filter:blur(12px);padding:.65rem 0;box-shadow:0 10px 35px #0003}.navbar-brand{position:relative;color:#fff!important;display:flex;flex-direction:column;line-height:.9;letter-spacing:.12em;padding:.65rem 0 0}.navbar-brand strong{font-size:1.55rem}.navbar-brand small{font-size:.55rem;color:var(--gold2);margin-top:.35rem}.brand-roof{position:absolute;top:0;left:2px;width:72px;height:2px;background:var(--gold2);transform:skewY(-24deg)}.nav-link{color:#ffffffcc!important;font-size:.87rem;font-weight:600}.btn{border-radius:0;font-weight:700;letter-spacing:.02em;padding:.8rem 1.25rem}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));border:0;color:var(--navy);box-shadow:0 12px 30px #0002}.btn-gold:hover{background:var(--white);color:var(--navy);transform:translateY(-2px)}.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-navy:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}.hero{min-height:100vh;position:relative;color:#fff;background:radial-gradient(circle at 80% 30%,#17466d 0,transparent 35%),linear-gradient(125deg,#04162a 0%,#092745 65%,#06192d 100%);overflow:hidden}.hero:after{content:"";position:absolute;bottom:-130px;left:-5%;width:110%;height:220px;background:var(--cream);transform:rotate(-4deg);transform-origin:left}.hero-grain{position:absolute;inset:0;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.floating-orb{position:absolute;border:1px solid #e3bb5155;border-radius:50%;animation:float 7s ease-in-out infinite}.orb-one{width:400px;height:400px;right:-150px;top:10%}.orb-two{width:190px;height:190px;left:45%;bottom:15%;animation-delay:-3s}@keyframes float{50%{transform:translateY(-18px) scale(1.04)}}.eyebrow{color:var(--gold2);font-size:.75rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase;margin-bottom:1.25rem}.eyebrow.dark{color:#9b6d08}.display-title,h2{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:.9;letter-spacing:-.035em}.display-title{font-size:clamp(4.3rem,9vw,8.2rem)}.display-title em,h2 em{color:var(--gold2);font-weight:600}.hero-copy{font-size:1.1rem;line-height:1.8;max-width:620px;color:#e9eef4;margin-top:1.5rem}.hero-meta{display:flex;gap:2.2rem;margin-top:3rem;padding-top:1.6rem;border-top:1px solid #ffffff24;max-width:680px}.hero-meta>div{display:flex;gap:.75rem;align-items:center}.hero-meta i{font-size:1.3rem;color:var(--gold2)}.hero-meta span{font-weight:700;font-size:.9rem}.hero-meta small{display:block;font-size:.58rem;letter-spacing:.16em;color:#ffffff80;margin-bottom:.25rem}.invite-frame{position:relative;padding:12px;background:linear-gradient(145deg,var(--gold2),#88600a);box-shadow:0 35px 80px #0008;transform:rotate(3deg);max-width:370px;margin-left:auto}.invite-frame img{display:block;width:100%;max-height:640px;object-fit:cover;object-position:top}.corner-label{position:absolute;right:-55px;bottom:55px;background:var(--red);color:#fff;padding:1.1rem 1.4rem;text-transform:uppercase;font-size:.65rem;letter-spacing:.16em;box-shadow:0 10px 25px #0004}.scroll-cue{position:absolute;bottom:65px;left:50%;z-index:3;color:#fff;text-decoration:none;font-size:.6rem;letter-spacing:.2em;writing-mode:vertical-rl}.scroll-cue span{height:38px;width:1px;background:var(--gold2);display:inline-block;margin-bottom:10px;animation:scroll 1.8s infinite}@keyframes scroll{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}.section-pad{padding:8rem 0}.event-section{position:relative}.section-number{font:600 6rem/1 'Cormorant Garamond',serif;color:#0b28450c;margin-bottom:-2.5rem}h2{font-size:clamp(3.2rem,6vw,5.7rem);color:var(--navy)}h2 em{color:#b17b09}.lead-copy{font-size:1.05rem;line-height:1.9;max-width:590px;color:#586574}.brand-pills{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.brand-pills span{border:1px solid #d8cdb9;padding:.8rem 1rem;font-weight:800;color:var(--navy);background:#fff}.brand-pills small{font-weight:500;color:#7b8188;margin-left:.3rem}.ceremony-card{background:#fff;padding:3rem;box-shadow:0 25px 70px #0a23441a;border:1px solid #e3d7c2;position:relative}.ceremony-card:before{content:"";position:absolute;inset:9px;border:1px solid #d8a72d55;pointer-events:none}.ribbon-line{display:flex;align-items:center;gap:1rem;color:var(--gold);margin-bottom:1.5rem}.ribbon-line span{height:1px;background:#d8a72d66;flex:1}.ceremony-card>p{text-align:center;letter-spacing:.22em;font-size:.75rem;font-weight:800}.date-row{display:flex;justify-content:center;align-items:center;gap:2.3rem;margin:2.3rem 0}.date-row>div:first-child{display:flex;flex-direction:column;border-right:1px solid #ddd0bc;padding-right:2.3rem}.date-row strong{font-size:2.1rem;color:var(--navy)}.date-row small{font-size:.65rem;letter-spacing:.25em;color:#8f969e}.date-row .time{font:700 4.2rem/1 'Cormorant Garamond',serif;color:var(--navy)}.date-row .time span{color:var(--gold)}.date-row .time small{font-family:Manrope,sans-serif;margin-left:.4rem}.venue{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.2rem;background:var(--cream)}.venue i{color:var(--gold);font-size:1.5rem}.venue small{display:block;font-size:.6rem;letter-spacing:.2em}.venue strong{font-size:1.2rem}.product-section{background:var(--navy);color:#fff}.product-section h2{color:#fff}.section-copy{color:#bac6d2;line-height:1.9}.product-card{height:100%;padding:2.2rem;background:#0b2a4a;border:1px solid #ffffff14;min-height:360px;display:flex;flex-direction:column;transition:.35s}.product-card:hover{transform:translateY(-10px);border-color:var(--gold)}.product-card.featured{background:linear-gradient(145deg,#d9aa37,#b87d0b);color:var(--navy)}.product-card>span{align-self:flex-end;font:600 2rem 'Cormorant Garamond',serif;opacity:.5}.product-card>i{font-size:3rem;color:var(--gold2);margin:2rem 0}.product-card.featured>i{color:var(--navy)}.product-card h3{font:600 2rem 'Cormorant Garamond',serif}.product-card p{color:#bdc8d2;line-height:1.7}.product-card.featured p{color:#20364a}.product-card a{color:inherit;text-decoration:none;font-weight:700;margin-top:auto}.product-card a i{margin-left:.5rem}.location-visual{min-height:590px;position:relative;background:#cba34c;overflow:hidden;display:grid;place-items:center}.map-lines{position:absolute;inset:-10%;background:repeating-linear-gradient(35deg,transparent 0 75px,#fff4 77px 80px),repeating-linear-gradient(125deg,transparent 0 110px,#061c3533 112px 115px);transform:rotate(4deg)}.pin-pulse{position:relative;z-index:2;width:100px;height:100px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:var(--gold2);font-size:2.3rem;box-shadow:0 0 0 0 #071d3688;animation:pin 2.2s infinite}@keyframes pin{70%{box-shadow:0 0 0 50px #071d3600}}.location-visual>span{position:absolute;bottom:3rem;z-index:2;background:#fff;padding:.8rem 1.2rem;font-size:.75rem;font-weight:800;letter-spacing:.16em}.location-copy{background:#0a2441;color:#d6dee6;padding-left:max(4rem,8vw);padding-right:max(4rem,8vw)}.location-copy h2{color:#fff}.location-copy p{line-height:1.8;max-width:530px;margin:1.5rem 0 2rem}.final-cta{background:var(--cream)}footer{background:#04172b;color:#fff;padding:2rem 0}footer p{margin:0;color:#9caaba;font-size:.8rem}.footer-brand{font-weight:800;letter-spacing:.1em}.footer-brand span{color:var(--gold2)}.modal-content{border:0;border-radius:0;background:var(--cream);box-shadow:0 30px 90px #0006}.modal .btn-close{position:absolute;right:1rem;top:1rem;z-index:2}.modal h2{font-size:3.5rem}.form-control,.form-select{border-radius:0;border-color:#d9cdb8;background:#fff}.success-state{display:none;text-align:center;padding:1rem 0}.success-state.show{display:block}.success-icon{width:72px;height:72px;border-radius:50%;background:var(--navy);color:var(--gold2);display:grid;place-items:center;margin:0 auto 1rem;font-size:2rem}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}.reveal.in-view{opacity:1;transform:none}.navbar-toggler{border:0;box-shadow:none!important}.navbar-toggler span{display:block;width:27px;height:2px;background:#fff;margin:6px}
@media(max-width:991px){.navbar-collapse{background:var(--navy);padding:1rem;margin-top:.8rem}.hero{padding-top:5rem}.hero:after{height:130px;bottom:-90px}.hero-meta{gap:1rem;flex-wrap:wrap}.scroll-cue{display:none}.section-pad{padding:6rem 0}.location-copy{padding:5rem 2rem}.date-row .time{font-size:3.5rem}}
@media(max-width:575px){.display-title{font-size:4.1rem}.hero-copy{font-size:1rem}.hero-meta{display:grid;grid-template-columns:1fr 1fr}.hero-meta>div:last-child{grid-column:1/-1}.section-pad{padding:4.5rem 0}.ceremony-card{padding:2.2rem 1.5rem}.date-row{gap:1.1rem}.date-row>div:first-child{padding-right:1.1rem}.date-row .time{font-size:3rem}.brand-pills span{width:100%}.location-visual{min-height:400px}.final-cta br{display:none}footer{text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.mobile-invite{position:relative;margin:2rem auto 4rem;max-width:320px;padding:7px;background:linear-gradient(145deg,var(--gold2),#88600a);box-shadow:0 25px 55px #0008}.mobile-invite img{display:block;width:100%;height:auto}.mobile-invite span{position:absolute;right:-7px;bottom:16px;background:var(--red);color:#fff;padding:.65rem .85rem;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:767.98px){
body{font-size:1rem}.container{padding-left:1.15rem;padding-right:1.15rem}.navbar{padding:.72rem 0;background:#061c35f2;backdrop-filter:blur(12px)}.navbar-brand strong{font-size:1.3rem}.navbar-brand small{font-size:.52rem}.navbar-collapse{margin-top:.75rem;padding:1.1rem;border:1px solid #ffffff18;box-shadow:0 18px 45px #0005}.navbar-nav{align-items:stretch!important}.nav-link{font-size:1rem;padding:.72rem .25rem!important}.navbar .btn{width:100%;margin-top:.5rem}
.hero{min-height:auto;padding:7.3rem 0 3.8rem}.hero .row{min-height:auto!important;padding-top:0!important;padding-bottom:0!important}.hero:after{display:none}.orb-one{width:240px;height:240px;right:-125px;top:14%}.orb-two{width:120px;height:120px;left:-55px;bottom:28%}.eyebrow{font-size:.72rem;line-height:1.6;letter-spacing:.2em;margin-bottom:.9rem}.display-title{font-size:clamp(3.65rem,18vw,5rem);line-height:.86;overflow-wrap:anywhere}.hero-copy{font-size:1rem;line-height:1.7;margin-top:1.35rem}.hero .d-flex.gap-3{display:grid!important;grid-template-columns:1fr;gap:.75rem!important}.hero .btn{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center}
.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.6rem;padding-top:1.1rem}.hero-meta>div{gap:.55rem;padding:.72rem;background:#ffffff0b;border:1px solid #ffffff10}.hero-meta>div:last-child{grid-column:1/-1}.hero-meta i{font-size:1.05rem}.hero-meta span{font-size:.82rem}.hero-meta small{font-size:.62rem}.section-pad{padding:4.4rem 0}.section-number{font-size:4.5rem;margin-bottom:-1.9rem}h2{font-size:clamp(2.85rem,13vw,4rem);line-height:.92}.lead-copy,.section-copy,.location-copy p{font-size:1rem;line-height:1.75}
.brand-pills{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.brand-pills span{width:auto;padding:.8rem;font-size:.84rem}.brand-pills small{display:block;margin:.25rem 0 0}.ceremony-card{padding:2rem 1.1rem}.ceremony-card:before{inset:6px}.ceremony-card>p{font-size:.68rem}.date-row{gap:.85rem;margin:1.7rem 0}.date-row>div:first-child{padding-right:.85rem}.date-row strong{font-size:1.75rem}.date-row .time{font-size:2.75rem}.date-row .time small{display:block;margin:.4rem 0 0;text-align:right}.venue{justify-content:flex-start}.venue strong{font-size:1rem}.ceremony-card .btn{min-height:52px}
.product-section .row.g-3{gap:.35rem}.product-card{min-height:280px;padding:1.6rem}.product-card>i{margin:1.1rem 0;font-size:2.5rem}.product-card h3{font-size:1.8rem}.product-card p{font-size:.96rem}.location-visual{min-height:330px}.pin-pulse{width:82px;height:82px;font-size:1.9rem}.location-visual>span{bottom:2rem;font-size:.68rem}.location-copy{padding:4.2rem 1.15rem}.location-copy .btn,.final-cta .btn{width:100%;min-height:54px}.final-cta h2 br{display:none}footer{padding:2.2rem 1rem;text-align:center}footer .container{gap:.85rem!important}footer p{font-size:.78rem}
.modal-dialog{margin:0;max-width:none;min-height:100%}.modal-content{min-height:100vh;display:flex;justify-content:center}.modal-body{padding:3.5rem 1.15rem 2rem!important}.modal h2{font-size:3.2rem}.form-control,.form-select{font-size:1rem;min-height:58px}
}
@media(max-width:380px){.container{padding-left:1rem;padding-right:1rem}.display-title{font-size:3.45rem}.hero{padding-top:6.8rem}.hero-meta{grid-template-columns:1fr}.hero-meta>div:last-child{grid-column:auto}.brand-pills{grid-template-columns:1fr}.date-row{align-items:flex-end}.date-row .time{font-size:2.35rem}.date-row strong{font-size:1.55rem}.mobile-invite{max-width:285px}}
@media(orientation:landscape) and (max-height:520px) and (max-width:991px){.hero{padding-top:6.5rem}.hero .row{min-height:auto!important}.mobile-invite{max-width:230px}.section-pad{padding:3.8rem 0}}
