.weddings-page{background:var(--paper)}
.nav .current::after{transform:scaleX(1)}
.wedding-hero{padding:150px clamp(24px,7vw,110px) 80px;min-height:100svh;background:var(--beige);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.wedding-hero-copy{max-width:700px}
.wedding-hero-copy h1{font-size:clamp(58px,7.2vw,108px);color:var(--ink);text-shadow:none;margin-bottom:32px}
.wedding-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.85;color:#4b433c;max-width:600px;margin-bottom:34px}
.wedding-hero-images{display:grid;grid-template-columns:1.03fr .72fr;gap:18px;align-items:end;min-height:650px}
.wedding-hero-images figure{margin:0;overflow:hidden;background:#ddd}
.wedding-hero-images img{height:100%;object-fit:cover}
.hero-tall{height:650px}.hero-tall img{object-position:center 38%}
.hero-small{height:470px;margin-bottom:40px!important}.hero-small img{object-position:center 35%}
.wedding-intro{display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw;background:var(--paper);align-items:start}
.wedding-intro-line{height:1px;background:var(--wine);margin-top:31px}
.wedding-intro-copy{max-width:900px}
.wedding-intro-copy>p:last-child{font-size:17px;line-height:1.85;color:#4b433c;max-width:700px}
.wedding-feature{padding-top:0;background:var(--paper);display:grid;grid-template-columns:1.18fr .82fr;gap:0;align-items:stretch}
.feature-image{margin:0;min-height:740px;overflow:hidden}.feature-image img{height:100%;object-fit:cover;object-position:center 38%}
.feature-copy{background:#191310;color:var(--cream);padding:clamp(60px,7vw,110px);display:flex;flex-direction:column;justify-content:center}
.feature-copy .eyebrow{color:#bc7a82}.feature-copy h2{font-size:clamp(48px,5.7vw,78px)}
.feature-list{border-top:1px solid rgba(247,241,232,.22);margin-top:18px}
.feature-list span{display:block;padding:18px 0;border-bottom:1px solid rgba(247,241,232,.16);font-size:13px;letter-spacing:.08em;color:rgba(247,241,232,.82)}
.wedding-gallery{background:var(--cream)}
.gallery-heading{display:grid;grid-template-columns:.5fr 1.5fr;gap:6vw;align-items:start;margin-bottom:64px}.gallery-heading h2{margin:0;max-width:780px}
.wedding-mosaic{columns:3 280px;column-gap:18px}
.wedding-mosaic figure{margin:0 0 18px;overflow:hidden;background:#ddd;break-inside:avoid;box-shadow:0 12px 28px rgba(35,24,16,.05)}
.wedding-mosaic img{width:100%;height:auto;display:block;object-fit:cover}
.mosaic-a img{object-position:center}
.mosaic-b img{object-position:center 45%}
.mosaic-c img{object-position:center}
.mosaic-d img{object-position:center}
.mosaic-e img{object-position:center}
.behind-scenes{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:.74fr 1.26fr;gap:8vw;align-items:center}
.behind-video{max-width:520px;justify-self:center;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.22)}
.behind-video video{aspect-ratio:9/16;object-fit:cover}
.behind-copy{max-width:720px}.behind-copy h2{font-size:clamp(50px,6.2vw,88px)}.behind-copy>p:last-child{font-size:17px;line-height:1.85;color:rgba(255,248,238,.76);max-width:590px}
.wedding-films{background:var(--paper)}
.films-heading{max-width:850px;margin-bottom:60px}.films-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:24px;align-items:start}.film-card{margin:0}.film-card video{width:100%;background:#111;object-fit:cover}.film-wide video{aspect-ratio:16/8}.film-portrait video{aspect-ratio:9/16}.film-meta{padding-top:16px;border-top:1px solid var(--line);margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.film-meta span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine)}.film-meta h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0}
.wedding-process{background:var(--beige)}
.wedding-steps .step{min-height:300px}
.wedding-contact{background:#15110e;color:var(--cream);text-align:center}.wedding-contact-inner{max-width:900px;margin:auto}.wedding-contact h2{font-size:clamp(56px,7.5vw,102px)}.wedding-contact p:not(.eyebrow){font-size:17px;line-height:1.8;color:rgba(247,241,232,.72);max-width:650px;margin:0 auto 36px}
@media(max-width:1050px){.wedding-hero{grid-template-columns:1fr;gap:50px;min-height:auto}.wedding-hero-copy{max-width:800px}.wedding-hero-images{min-height:560px}.hero-tall{height:560px}.hero-small{height:420px}.wedding-feature{grid-template-columns:1fr}.feature-image{min-height:70vh}.behind-scenes{grid-template-columns:.85fr 1.15fr;gap:5vw}.films-grid{grid-template-columns:1fr .48fr}}
@media(max-width:900px){.wedding-hero{padding-top:120px}.wedding-intro{grid-template-columns:1fr;gap:20px}.wedding-intro-line{width:80px}.gallery-heading{grid-template-columns:1fr;gap:10px}.wedding-mosaic{columns:2 220px}.behind-scenes{grid-template-columns:1fr}.behind-video{max-width:430px}.films-grid{grid-template-columns:1fr}.film-portrait{max-width:520px}.film-portrait video{aspect-ratio:9/14}}
@media(max-width:580px){.wedding-hero{padding:105px 22px 70px}.wedding-hero-copy h1{font-size:clamp(46px,14vw,70px)}.wedding-hero-images{grid-template-columns:1fr 1fr;gap:10px;min-height:420px}.hero-tall{height:420px}.hero-small{height:310px;margin-bottom:25px!important}.wedding-intro{padding-top:90px;padding-bottom:90px}.feature-image{min-height:58vh}.feature-copy{padding:72px 22px}.wedding-mosaic{columns:1}.wedding-mosaic figure{margin-bottom:12px}.behind-scenes{padding-top:90px;padding-bottom:90px}.behind-video{max-width:330px}.films-grid{gap:50px}.film-wide video{aspect-ratio:16/10}.film-portrait{max-width:330px}.film-meta h3{font-size:25px}.wedding-contact{padding-top:100px;padding-bottom:100px}}
