:root{--wed-red:#ff3f62;--wed-pink:#ff8197;--wed-cream:#f5eee4;--wed-gold:#ddb56d;--wed-dark:#09080b;--wed-line:rgba(255,129,151,.25)}
.wedding-page{background:var(--wed-dark);color:#fff}.wedding-topline{background:linear-gradient(90deg,var(--wed-red),var(--wed-pink) 55%,var(--wed-gold))}.wedding-header{background:linear-gradient(180deg,rgba(9,8,11,.98),rgba(9,8,11,.55));border-color:var(--wed-line);backdrop-filter:blur(14px)}.wedding-header .brand strong{color:var(--wed-pink)}.wedding-header nav a:not(.nav-cta)::after{background:var(--wed-red)}.wedding-nav-cta{background:var(--wed-red);border-color:var(--wed-red);color:#fff}
.wedding-hero{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.6fr);align-items:end;gap:clamp(2rem,7vw,8rem);padding:clamp(10rem,20vh,14rem) var(--pad) clamp(4rem,9vh,7rem);overflow:hidden}.wedding-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(9,8,11,.98) 0%,rgba(9,8,11,.73) 43%,rgba(9,8,11,.12) 78%),linear-gradient(0deg,var(--wed-dark),transparent 45%),url('/assets/wedding-just-married-vegas.png') 62% center/cover no-repeat}.wedding-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(116deg,transparent 0 58%,rgba(255,63,98,.58) 58.1% 58.55%,transparent 58.65%)}.wedding-copy{min-width:0;max-width:1000px}.ring-dot{width:10px;height:10px;border:2px solid var(--wed-gold);border-radius:50%;box-shadow:0 0 0 7px rgba(221,181,109,.14)}.wedding-page h1{font-size:clamp(4.2rem,9.7vw,10.2rem)}.wedding-page h1 span{color:var(--wed-pink);text-shadow:0 0 55px rgba(255,63,98,.25)}.wedding-page .hero-deck{max-width:720px}.wedding-button{background:var(--wed-red);border-color:var(--wed-red);color:#fff}.wedding-button:hover,.wedding-button:focus-visible{background:#fff;border-color:#fff;color:#09080b}.wedding-address{margin:1.3rem 0 0;color:#c1b9b6;font-size:.62rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.wedding-card{position:relative;overflow:hidden;padding:1.35rem;border:1px solid rgba(255,129,151,.48);border-top:6px solid var(--wed-red);background:rgba(9,8,11,.88);box-shadow:0 35px 100px rgba(0,0,0,.58);backdrop-filter:blur(16px)}.wedding-card::before{content:"♥";position:absolute;right:-.25rem;bottom:-3.4rem;color:rgba(255,129,151,.06);font-size:15rem;line-height:1}.wedding-card>*{position:relative;z-index:1}.wedding-card>span{display:block;padding-bottom:.9rem;border-bottom:1px solid var(--wed-line);color:var(--wed-pink);font-size:.58rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.wedding-card strong{display:block;padding:2rem 0 1rem;font-family:var(--display);font-size:clamp(2rem,4vw,4rem);line-height:.86;text-transform:uppercase}.wedding-card p{margin:0;color:#b9b1b0;font-weight:600}
.wedding-tape{overflow:hidden;background:var(--wed-red);white-space:nowrap}.wedding-tape>div{display:flex;width:max-content;animation:wedMarquee 30s linear infinite}.wedding-tape span{padding:1rem 1.2rem;font-family:var(--display);font-size:clamp(1rem,2vw,1.55rem);line-height:1;text-transform:uppercase}.wedding-tape i{margin-left:1.4rem;color:var(--wed-gold);font-style:normal}@keyframes wedMarquee{to{transform:translateX(-50%)}}
.wedding-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,8vw,9rem);padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--wed-cream);color:#161116}.wedding-intro h2,.church-section h2,.celebration-heading h2,.gallery-heading h2,.wedding-experience h2,.wedding-cta h2{margin:0;font-family:var(--display);font-size:clamp(3.3rem,7vw,7.3rem);line-height:.84;letter-spacing:-.067em;text-transform:uppercase}.wedding-intro h2 span,.church-section h2 span,.celebration-heading h2 span,.gallery-heading h2 span,.wedding-experience h2 span{color:var(--wed-red)}.wedding-page .section-kicker{color:#c42649}.wedding-intro-copy{align-self:end}.intro-lede{font-family:var(--display);font-size:clamp(1.45rem,2.5vw,2.4rem);line-height:1;text-transform:uppercase}.wedding-intro-copy>p:not(.intro-lede){color:#625a5d;font-size:1.04rem;font-weight:550}.wedding-link{color:#161116;border-color:var(--wed-red)}
.church-section{display:grid;grid-template-columns:1.05fr .95fr;min-height:850px;background:#100d11}.church-section figure{position:relative;margin:0;overflow:hidden}.church-section img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.12)}.church-section figcaption,.gallery-grid figcaption{position:absolute;left:1rem;bottom:1rem;padding:.55rem .7rem;background:#09080b;color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.church-section>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(3.5rem,7vw,7rem)}.church-section>div>p:not(.section-kicker){color:#c8bfc1;font-weight:600}.church-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:1.2rem;border-top:1px solid var(--wed-line);border-left:1px solid var(--wed-line)}.church-facts div{min-height:120px;padding:1rem;border-right:1px solid var(--wed-line);border-bottom:1px solid var(--wed-line)}.church-facts strong{display:block;color:var(--wed-pink);font-family:var(--display);font-size:2.2rem;line-height:1;text-transform:uppercase}.church-facts span{display:block;margin-top:.5rem;color:#aaa0a4;font-size:.59rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.celebration-options{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,7vw,7rem);padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--wed-cream);color:#161116}.celebration-heading{align-self:center}.celebration-heading>p:last-child{max-width:560px;margin-top:1.4rem;color:#655d60;font-weight:600}.celebration-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c9bec0;border-left:1px solid #c9bec0}.celebration-grid article{min-height:270px;padding:1.6rem;border-right:1px solid #c9bec0;border-bottom:1px solid #c9bec0}.celebration-grid b{color:var(--wed-red);font-family:var(--display);font-size:1.6rem}.celebration-grid h3{margin:2.3rem 0 .7rem;font-family:var(--display);font-size:clamp(1.75rem,3vw,2.9rem);line-height:1;text-transform:uppercase}.celebration-grid p{margin:0;color:#665e61;font-size:.92rem;font-weight:550}
.wedding-gallery{padding:clamp(5rem,9vw,9rem) var(--pad);background:#100d11}.gallery-heading{display:grid;grid-template-columns:1fr minmax(260px,.55fr);align-items:end;gap:3rem;margin-bottom:2.5rem}.gallery-heading>p:last-child{margin:0;color:#beb4b7;font-weight:600}.gallery-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:1px;background:var(--wed-line)}.gallery-grid figure{position:relative;margin:0;min-height:620px;overflow:hidden;background:#09080b}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.08);transition:transform .8s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-hero img{object-position:70% center}
.wedding-experience{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) var(--pad);background:linear-gradient(135deg,#7c1730,#2b0d16)}.wedding-experience ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.35)}.wedding-experience li{display:grid;grid-template-columns:58px 1fr;padding:1.05rem 0;border-bottom:1px solid rgba(255,255,255,.35);font-family:var(--display);font-size:clamp(1.35rem,2.7vw,2.5rem);line-height:1;text-transform:uppercase}.wedding-experience li b{color:var(--wed-gold)}
.wedding-cta{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,8vw,8rem);align-items:end;padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--wed-pink);color:#17090d}.wedding-cta .section-kicker{color:#7c1730}.wedding-cta h2 span{color:#fff}.wedding-cta>div:last-child>p{max-width:550px;font-size:1.04rem;font-weight:650}.wedding-button.dark{background:#09080b;border-color:#09080b;color:#fff}.wedding-button.dark:hover{background:#fff;border-color:#fff;color:#09080b}.wedding-email{display:block;margin-top:1rem;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.wedding-faq{background:#0f0c10}.wedding-faq summary::after{color:var(--wed-pink)}.wedding-page footer{border-color:var(--wed-line)}.wedding-page footer .brand strong{color:var(--wed-pink)}.wedding-mobile{background:var(--wed-red);color:#fff}
@media(max-width:1100px){.wedding-intro,.celebration-options,.wedding-experience{grid-template-columns:1fr}.church-section{grid-template-columns:1fr}.church-section figure{height:68vw;max-height:760px}.gallery-heading{grid-template-columns:1fr}.wedding-cta{grid-template-columns:1fr}}
@media(max-width:760px){.wedding-header{backdrop-filter:none}.wedding-header nav{background:var(--wed-dark)}.wedding-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:10rem}.wedding-hero>*{min-width:0}.wedding-hero::before{background:linear-gradient(0deg,var(--wed-dark) 0%,rgba(9,8,11,.43) 72%,rgba(9,8,11,.15)),url('/assets/wedding-just-married-vegas.png') 72% center/cover no-repeat}.wedding-hero::after{display:none}.wedding-page h1{font-size:clamp(3.2rem,15vw,5.8rem)}.wedding-card{width:100%;min-width:0}.celebration-grid{grid-template-columns:1fr}.celebration-grid article{min-height:220px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{min-height:82vw}.wedding-experience li{grid-template-columns:48px 1fr}}
@media(max-width:430px){.wedding-page .hero-actions .button{width:100%}.church-facts{grid-template-columns:1fr}.wedding-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){.wedding-tape>div{animation:none}.gallery-grid figure:hover img{transform:none}}
