/* Wedding pages share the Maison's editorial components and approved scenes. */
.wedding-carousel.model-carousel{position:relative;width:100%;height:calc(100svh - 134px);min-height:480px;overflow:hidden;padding:0;background:var(--olive);isolation:isolate}
.wedding-carousel .hero-slide-link{position:absolute;inset:0;height:100%;padding:0}
.wedding-carousel .hero-slide-visual{position:absolute;inset:0;display:block}
.wedding-carousel .hero-slide-backdrop{position:absolute;inset:-30px;background-image:var(--scene-image);background-position:center;background-size:cover;filter:blur(24px);opacity:.7}
.wedding-carousel .hero-slide-visual img{position:relative;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .3s}
.wedding-carousel .hero-slide-link:after{display:block;position:absolute;inset:0;content:'';background:linear-gradient(180deg,#17231b66,transparent 25%,transparent 55%,#17231be6);pointer-events:none}
.wedding-carousel-label{position:absolute;top:34px;left:5%;right:5%;z-index:2;color:var(--paper);font-size:10px!important;letter-spacing:.2em;pointer-events:none}
.wedding-carousel .hero-slide-copy{position:absolute;bottom:115px;left:5%;right:5%;padding:0;color:var(--paper);gap:11px}
.wedding-carousel .hero-slide-copy>strong{font-size:clamp(32px,3.5vw,54px);max-width:850px}
.wedding-carousel .carousel-controls{bottom:32px;left:5%;right:5%}
.wedding-carousel .hero-slide-link:focus-visible{outline:2px solid var(--paper);outline-offset:-8px}
.wedding-introduction.bespoke-invitation{grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}
.wedding-introduction h1{font-size:clamp(44px,4.6vw,70px);font-weight:400;line-height:1.04;letter-spacing:-.025em;margin:24px 0 0}
.wedding-introduction>div>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#dedfd4;max-width:540px}
.wedding-introduction .text-link{color:var(--paper);border-color:#c9b891;margin-top:25px}
.wedding-hero.bespoke-hero{background:#eae8dd}
.wedding-home.bespoke-invitation{grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}
.wedding-home .solid-button{margin-top:28px;border-color:#c9b891}
.wedding-home .editorial-photo figcaption{color:#dedfd4}
.wedding-navigation{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;padding-top:1.3rem;padding-bottom:1.3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wedding-navigation .text-link{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem}
.wedding-selection .editorial-heading>div{max-width:58rem}
.wedding-selection .editorial-heading p{font-size:15px;line-height:1.8;color:var(--muted);max-width:50rem;margin-top:24px}
.wedding-copy{max-width:68rem;margin-inline:auto}
.wedding-copy h2{font-weight:400;font-size:clamp(42px,4.2vw,64px);line-height:1.07;letter-spacing:-.025em;margin-bottom:28px}
.wedding-copy p,.wedding-closing p{font-size:15px;line-height:1.9;color:var(--muted)}
.wedding-copy p+p{margin-top:20px}
.wedding-copy>.text-link{margin-right:1.5rem;margin-top:26px}
.wedding-guides .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 35px}
.wedding-closing p{max-width:47rem;margin:1.5rem auto}
.wedding-practical-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-top:2rem}
.wedding-practical-links .text-link{min-height:44px;display:inline-flex;align-items:center}
.wedding-article .article-body>.text-link{display:inline-block;margin-right:1.3rem;margin-top:1.5rem}
.wedding-inline-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-block:2rem}
.wedding-inline-links .text-link{display:inline-flex;align-items:center;min-height:44px}
.wedding-article .article-source{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.wedding-article .article-source .text-link{font-size:.78rem}
.wedding-contact{max-width:68rem;margin-inline:auto;border-top:1px solid var(--line)}
.wedding-contact h2{font-size:clamp(42px,4.2vw,64px);line-height:1.07;margin-bottom:1.5rem}
.wedding-contact a,.wedding-contact .contact-business-address{display:block;margin:.7rem 0;overflow-wrap:anywhere}
@media(min-width:761px){
 .wedding-carousel.model-carousel{background:var(--paper)}
 .wedding-carousel .hero-slide-backdrop{display:none}
 .wedding-carousel .hero-slide-visual img{object-fit:cover}
 .wedding-carousel .hero-slide-link:after{background:linear-gradient(90deg,#f6f3ecf0 0%,#f6f3ecde 22%,#f6f3ec00 52%),linear-gradient(0deg,#f6f3eceb 0%,#f6f3ec00 23%)}
 .wedding-carousel-label,.wedding-carousel .hero-slide-link,.wedding-carousel .hero-slide-copy,.wedding-carousel .carousel-controls{color:var(--olive)}
 .wedding-carousel .hero-slide-copy>strong{max-width:min(440px,34vw)}
 .wedding-carousel .carousel-controls button{color:var(--olive);border-color:#51584399;background:#f6f3ecdf;backdrop-filter:none}
 .wedding-carousel .carousel-controls button:hover{background:var(--paper);border-color:var(--olive)}
 .wedding-carousel .carousel-controls button:focus-visible{outline-color:var(--olive)}
 .wedding-carousel .hero-slide-link:focus-visible{outline-color:var(--olive)}
}
@media(min-width:1600px){.wedding-carousel.model-carousel{height:calc(100svh - 112px)}}
@media(min-width:761px) and (max-width:1599px){
 .site-header.shop-header{display:grid;grid-template-columns:1fr auto;height:auto;min-height:112px;padding-top:18px;padding-bottom:18px;gap:18px 20px}
 .shop-header>.wordmark{grid-column:1;grid-row:1;justify-self:start}
 .shop-header>.header-actions{grid-column:2;grid-row:1}
 .shop-header #main-nav{grid-column:1/-1;grid-row:2;justify-self:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;font-size:12px}
}
@media(max-width:760px){
 /* Keep slideshow controls above the fixed mobile navigation and its compass. */
 .wedding-carousel.model-carousel{height:calc(100svh - 136px - 104px - env(safe-area-inset-bottom,0px));min-height:350px;padding:0}
 .wedding-carousel-label{top:24px;left:24px;right:24px;font-size:9px!important;line-height:1.8}
 .wedding-carousel .hero-slide-copy{position:absolute;bottom:94px;left:24px;right:24px;padding:0;gap:9px}
 .wedding-carousel .hero-slide-copy>strong{font-size:30px;max-width:100%}
 .wedding-carousel .carousel-controls{bottom:22px;left:24px;right:24px;gap:13px}
 .wedding-carousel .carousel-controls button{width:44px;height:44px}
 .wedding-introduction.bespoke-invitation,.wedding-home.bespoke-invitation{grid-template-columns:minmax(0,1fr);gap:30px}
 .wedding-introduction h1{font-size:43px;overflow-wrap:break-word}
 .wedding-introduction>div>p:not(.eyebrow){font-size:14px}
 .wedding-navigation{gap:.2rem 1rem}
 .wedding-navigation .text-link{font-size:.8rem}
 .wedding-guides .journal-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .wedding-selection .editorial-heading{display:block}
 .wedding-copy h2,.wedding-contact h2{font-size:37px}
 .wedding-practical-links{justify-content:flex-start}
 .wedding-closing{text-align:left}
 .wedding-closing p{margin-inline:0}
}
@media(prefers-reduced-motion:reduce){.wedding-carousel .hero-slide-visual img{transition:none}}
