/* Central Florida wedding landing page — clean editorial extension of the core brand */
.page-wedding{--wedding-ink:#302a2b;--wedding-wine:#744b52;--wedding-rose:#a8737b;--wedding-blush:#f5e9e7;--wedding-ivory:#faf7f3;padding-bottom:0}
.page-wedding h1 em,.page-wedding h2 em{color:var(--wedding-wine);font-style:italic;font-weight:400}
.wedding-hero{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(390px,.83fr);min-height:min(780px,78vh);background:var(--wedding-ivory)}
.wedding-hero-photo{min-height:650px;overflow:hidden}
.wedding-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.wedding-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,7rem)}
.wedding-hero-copy h1{max-width:650px;margin:.85rem 0 1.5rem;font-size:clamp(3rem,5.4vw,6.2rem);line-height:.93;letter-spacing:-.035em}
.wedding-hero-copy h1 em{display:block;margin-top:.15em;font-size:.68em;line-height:1.02}
.wedding-hero-copy .lead{max-width:610px;margin:0 0 2rem;color:#5e5557;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.8}
.wedding-hero-copy .button-row{align-items:center;gap:1.35rem}
.wedding-text-link{color:var(--wedding-ink);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.wedding-text-link span{margin-left:.35rem;color:var(--wedding-wine);font-size:1rem}
.wedding-hero-copy .booking-reassurance{max-width:560px;margin-top:1.6rem;color:#786d6f;font-size:.78rem}
.wedding-proof{display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,1120px);margin:0 auto;padding:2.15rem 0;border-bottom:1px solid var(--line)}
.wedding-proof div{text-align:center;border-right:1px solid var(--line)}
.wedding-proof div:last-child{border:0}
.wedding-proof strong{display:block;color:var(--wedding-ink);font-family:var(--display);font-size:1.65rem;font-weight:400}
.wedding-proof span{display:block;margin-top:.25rem;color:var(--muted);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.wedding-introduction{padding-top:clamp(5rem,8vw,9rem)}
.wedding-intro-copy{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:clamp(1.5rem,4vw,5rem);align-items:start;margin-bottom:clamp(3rem,6vw,6rem)}
.wedding-intro-copy .eyebrow{margin-top:.65rem}
.wedding-intro-copy h2{margin:0;font-size:clamp(2.45rem,4vw,4.8rem);line-height:1}
.wedding-intro-copy h2 em{display:block;margin-top:.15em;font-size:.72em;line-height:1.08}
.wedding-intro-copy p:not(.eyebrow){margin:0;color:#605759;line-height:1.85}
.wedding-intro-copy p:not(.eyebrow)+p{margin-top:1rem}
.wedding-editorial-strip{display:grid;grid-template-columns:.82fr 1.18fr 1fr;gap:clamp(.65rem,1.25vw,1.2rem);height:clamp(430px,48vw,720px)}
.wedding-editorial-strip figure{overflow:hidden}
.wedding-editorial-strip figure:nth-child(2){margin-top:9%}
.wedding-editorial-strip figure:nth-child(3){margin-bottom:12%}
.wedding-editorial-strip img{width:100%;height:100%;object-fit:cover}
.wedding-quote{padding:clamp(4.5rem,8vw,8.5rem) 5vw;background:#fff;text-align:center}
.wedding-quote p{max-width:1050px;margin:0 auto;color:var(--wedding-ink);font-family:var(--display);font-size:clamp(2.25rem,4.4vw,5.25rem);font-style:italic;line-height:1.05;text-wrap:balance}
.wedding-stories{background:var(--wedding-ivory)}
.wedding-stories-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(3rem,5vw,5rem)}
.wedding-stories-heading h2{margin:.55rem 0 0;font-size:clamp(2.75rem,4.5vw,5.25rem);line-height:.98}
.wedding-stories-heading h2 em{display:block;margin-top:.12em;font-size:.72em}
.wedding-stories-heading>p{margin:0;color:#62595b;line-height:1.8}
.wedding-story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.15rem,2.5vw,2.75rem)}
.wedding-story-card{position:relative;display:block;min-height:clamp(430px,47vw,680px);overflow:hidden;background:#302a2b;color:#fff;text-decoration:none}
.wedding-story-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.wedding-story-card:nth-child(2) img{object-position:center 45%}
.wedding-story-card:nth-child(3) img{object-position:center 35%}
.wedding-story-card:nth-child(4) img{object-position:center 25%}
.wedding-story-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(24,18,19,.78) 100%)}
.wedding-story-card span{position:absolute;z-index:1;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr auto;align-items:end;padding:clamp(1.4rem,3vw,2.6rem)}
.wedding-story-card small{grid-column:1/-1;margin-bottom:.4rem;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.wedding-story-card strong{font-family:var(--display);font-size:clamp(2rem,3vw,3.65rem);font-weight:400;line-height:1}
.wedding-story-card em{font-size:.63rem;font-style:normal;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.wedding-story-card b{font-size:.9rem}
.wedding-story-card:hover img{transform:scale(1.025)}
.wedding-story-card:last-child:nth-child(odd){grid-column:1/-1;min-height:clamp(360px,35vw,520px)}
.wedding-story-card:last-child:nth-child(odd) img{object-position:center 48%}
.wedding-testimonials{background:#fff}
.wedding-testimonials-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:1rem clamp(2.5rem,5vw,6rem);align-items:end;max-width:1220px;margin:0 auto clamp(2.75rem,4vw,4.5rem)}
.wedding-testimonials-heading .eyebrow{grid-column:1/-1;margin:0}
.wedding-testimonials-heading h2{max-width:19ch!important;margin:0;font-size:clamp(2.35rem,3.2vw,3.85rem)!important;line-height:1.04!important}
.wedding-testimonials-heading>p{margin:0;color:#62595b;font-size:1rem;line-height:1.8}
.wedding-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:1320px;margin:0 auto;background:#ded4d1;border:1px solid #ded4d1}
.wedding-testimonial-grid blockquote{display:flex;min-height:310px;flex-direction:column;justify-content:space-between;margin:0;padding:clamp(2rem,3.5vw,3.5rem);background:var(--wedding-ivory)}
.wedding-testimonial-grid blockquote p{margin:0;color:var(--wedding-ink);font-family:var(--display);font-size:clamp(1.5rem,2vw,2.15rem);font-weight:400;line-height:1.28}
.wedding-testimonial-grid cite{margin-top:2rem;color:var(--wedding-wine);font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.wedding-experience .shell{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.wedding-experience-image{height:clamp(520px,62vw,760px);overflow:hidden}
.wedding-experience-image img{width:100%;height:100%;object-fit:cover}
.wedding-experience-copy h2{margin:.65rem 0 2.5rem;font-size:clamp(2.7rem,4.6vw,5.2rem);line-height:.98}
.wedding-experience-copy h2 em{display:block;margin-top:.12em;font-size:.74em}
.wedding-steps{margin-bottom:2.25rem;border-top:1px solid var(--line)}
.wedding-steps>div{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.wedding-steps span{color:var(--wedding-rose);font-family:var(--display);font-size:1.35rem}
.wedding-steps p{margin:0;color:#62595b;line-height:1.65}
.wedding-steps strong{color:var(--wedding-ink)}
.wedding-faq{background:#fff}
.wedding-faq .faq-list details{border-color:#ded5d2}
.wedding-final-cta{background:linear-gradient(rgba(38,30,31,.67),rgba(38,30,31,.67)),url('/assets/images/journal-restored/the-white-barn-wedding-venue/Loew-Sparkler-de9f88d6.webp') center 48%/cover no-repeat}
.wedding-final-cta h2,.wedding-final-cta p{color:#fff}
.wedding-final-cta .eyebrow{color:#f0d7d7}
.wedding-final-cta .button{border-color:#fff;background:#fff;color:var(--wedding-ink)}
.wedding-final-cta .button:hover{border-color:var(--wedding-blush);background:var(--wedding-blush)}
.wedding-final-cta .button-ghost{background:transparent;color:#fff}
.wedding-mobile-cta{display:none}
@media(max-width:980px){
.wedding-hero{grid-template-columns:1fr;min-height:0}.wedding-hero-photo{min-height:0;aspect-ratio:4/3}.wedding-hero-copy{grid-row:1;padding:4rem 5vw}.wedding-hero-copy h1{max-width:800px}
.wedding-intro-copy{grid-template-columns:1fr 1.5fr}.wedding-intro-copy .eyebrow{grid-column:1/-1}.wedding-intro-copy p:not(.eyebrow){grid-column:2}
.wedding-stories-heading{grid-template-columns:1fr}.wedding-experience .shell{gap:3rem}
.wedding-testimonials-heading{grid-template-columns:1fr}.wedding-testimonial-grid{grid-template-columns:1fr}
.wedding-testimonial-grid blockquote{min-height:0}
}
@media(max-width:720px){
.page-wedding{padding-bottom:72px}.wedding-hero-photo{aspect-ratio:4/3}.wedding-hero-photo img{object-position:center 38%}.wedding-hero-copy{padding:3rem 5vw 3.5rem}.wedding-hero-copy h1{font-size:clamp(2.75rem,13vw,4rem)}.wedding-hero-copy .button-row{align-items:flex-start;flex-direction:column}
.wedding-proof{grid-template-columns:1fr;padding:0 5vw}.wedding-proof div{padding:1.2rem 0;border-right:0;border-bottom:1px solid var(--line)}.wedding-proof div:last-child{border-bottom:0}
.wedding-intro-copy{display:block}.wedding-intro-copy h2{margin:.75rem 0 1.5rem}.wedding-editorial-strip{grid-template-columns:1fr 1fr;height:auto}.wedding-editorial-strip figure{aspect-ratio:4/5}.wedding-editorial-strip .wedding-editorial-tall{grid-row:span 2;aspect-ratio:auto}.wedding-editorial-strip figure:nth-child(2),.wedding-editorial-strip figure:nth-child(3){margin:0}
.wedding-story-grid{grid-template-columns:1fr}.wedding-story-card{min-height:118vw}.wedding-story-card span{grid-template-columns:1fr}.wedding-story-card em{margin-top:.8rem}
.wedding-story-card:last-child:nth-child(odd){grid-column:auto;min-height:112vw}
.wedding-experience .shell{grid-template-columns:1fr}.wedding-experience-image{height:auto;aspect-ratio:4/5}.wedding-experience-copy h2{font-size:clamp(2.6rem,12vw,4rem)}
.wedding-mobile-cta{position:fixed;z-index:880;right:0;bottom:0;left:0;display:block;padding:.65rem;background:rgba(253,251,249,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px)}.wedding-mobile-cta .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.wedding-story-card img{transition:none}}

/* Wedding packages */
.wedding-packages{background:#fff}
.wedding-packages-heading{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.75rem,5vw,4.75rem)}
.wedding-packages-heading h2{margin:.55rem 0 0;font-size:clamp(2.75rem,4.5vw,5.25rem);line-height:.98}
.wedding-packages-heading>p{margin:0;color:#62595b;line-height:1.8}
.wedding-package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.wedding-package-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(1.5rem,2.4vw,2.5rem);background:#fff}
.wedding-package-card small{color:var(--wedding-wine);font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.wedding-package-card h3{margin:.55rem 0 .15rem;font-family:var(--display);font-size:clamp(2rem,2.7vw,3.1rem);font-weight:400;line-height:1}
.wedding-package-price{margin:.6rem 0 1.5rem;color:var(--wedding-ink);font-family:var(--display);font-size:clamp(2rem,2.8vw,3rem);line-height:1}
.wedding-package-card ul{margin:0 0 1.5rem;padding:0;list-style:none}
.wedding-package-card li{position:relative;padding:.7rem 0 .7rem 1.2rem;border-bottom:1px solid #eee8e5;color:#62595b;font-size:.86rem;line-height:1.5}
.wedding-package-card li::before{content:"";position:absolute;top:1.15rem;left:0;width:5px;height:5px;border-radius:50%;background:var(--wedding-rose)}
.wedding-package-note{margin:0 0 1.4rem;color:#786d6f;font-size:.74rem;line-height:1.6}
.wedding-package-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--wedding-ink);color:var(--wedding-ink);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}
.wedding-package-link span{color:var(--wedding-wine);font-size:1rem}
.wedding-package-featured{z-index:1;background:var(--wedding-ivory);box-shadow:inset 0 4px 0 var(--wedding-wine)}
.wedding-package-badge{align-self:flex-start;margin:-.35rem 0 1.35rem;padding:.45rem .65rem;background:var(--wedding-wine);color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.wedding-package-footnote{max-width:720px;margin:1.6rem auto 0;color:#716668;font-size:.78rem;line-height:1.65;text-align:center}
@media(max-width:1050px){.wedding-package-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wedding-packages-heading{grid-template-columns:1fr}.wedding-package-grid{grid-template-columns:1fr}.wedding-package-card{padding:2rem}.wedding-package-card h3{font-size:2.6rem}.wedding-package-price{font-size:2.5rem}}

/* Match the shared site typography exactly; romance comes from layout and imagery. */
.page-wedding h1 em,.page-wedding h2 em{display:inline;margin:0;color:inherit;font-family:inherit;font-size:inherit;font-style:normal;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
.page-wedding .wedding-quote p{font-style:normal}


/* Luxury editorial refinement — v6 */
.page-wedding{--wedding-ink:#2b2526;--wedding-wine:#70474e;--wedding-rose:#9f7278;--wedding-ivory:#f8f4f1}
.wedding-hero-copy h1{max-width:11ch!important;font-size:clamp(3.15rem,4.65vw,5.7rem)!important;font-weight:300!important;line-height:.98!important;letter-spacing:0!important}
.wedding-hero-copy .lead{max-width:570px}
.wedding-proof{grid-template-columns:repeat(4,1fr);width:var(--max);padding:0;border:1px solid var(--line);border-top:0;background:#fff}
.wedding-proof div{display:flex;min-height:116px;flex-direction:column;justify-content:center;padding:1.5rem;border-right:1px solid var(--line)}
.wedding-proof strong{font-size:1.55rem}
.wedding-introduction{padding-top:clamp(5rem,7vw,8rem)!important}
.wedding-intro-copy{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(3rem,7vw,8rem);max-width:1220px;margin-right:auto;margin-left:auto;align-items:start}
.wedding-intro-copy .eyebrow{grid-column:1/-1;margin:0 0 -1rem}
.wedding-intro-copy h2{font-size:clamp(2.5rem,3.7vw,4.5rem)!important;line-height:1.02!important}
.wedding-intro-body p{max-width:650px!important}
.wedding-author-note{padding-top:1.25rem;border-top:1px solid var(--line);font-size:.78rem!important;color:var(--muted)!important}
.wedding-author-note a{color:var(--wedding-wine);font-weight:600}
.wedding-editorial-strip{max-width:1320px;margin:0 auto;gap:clamp(.8rem,1.3vw,1.35rem)}
.wedding-editorial-strip figure{background:#fff;box-shadow:0 18px 48px rgba(54,40,39,.1)}
.wedding-quote{background:var(--wedding-ink)}
.wedding-quote p{color:#fff;font-size:clamp(2.2rem,3.7vw,4.5rem);font-style:normal;letter-spacing:0}
.wedding-location-expertise{border-bottom:1px solid var(--line)}
.wedding-location-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,8rem);max-width:1220px;margin:0 auto;align-items:start}
.wedding-location-grid h2{max-width:13ch!important;font-size:clamp(2.4rem,3.4vw,4rem)!important}
.wedding-location-copy p{max-width:650px!important;color:#605759}
.wedding-location-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}
.wedding-location-list span{padding:.62rem .8rem;border:1px solid #dcd0ce;background:#fff;color:var(--wedding-ink);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.wedding-stories-heading{max-width:1250px;margin-right:auto;margin-left:auto}
.wedding-story-grid{max-width:1450px;margin:0 auto}
.wedding-packages{background:#fbfaf8}
.wedding-packages-heading{max-width:1220px;margin-right:auto;margin-left:auto}
.wedding-packages-heading h2{max-width:16ch!important;font-size:clamp(2.5rem,3.7vw,4.5rem)!important}
.wedding-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1220px;margin:0 auto;gap:1.15rem;border:0;background:transparent}
.wedding-package-card{min-height:570px;padding:clamp(2.2rem,3.5vw,3.7rem);border:1px solid #ded4d1;background:#fff;box-shadow:0 18px 48px rgba(54,40,39,.055)}
.wedding-package-card h3{margin-top:.75rem;font-size:clamp(2.35rem,3.2vw,3.7rem)!important}
.wedding-package-duration{margin:.25rem 0 0;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.wedding-package-price{margin:1.25rem 0 1.8rem;font-size:clamp(2.15rem,2.8vw,3.15rem)}
.wedding-package-card li{padding:.78rem 0 .78rem 1.3rem;font-size:.9rem}
.wedding-package-featured{background:var(--wedding-ink);box-shadow:0 24px 58px rgba(43,37,38,.2)}
.wedding-package-featured h3,.wedding-package-featured .wedding-package-price{color:#fff}
.wedding-package-featured small,.wedding-package-featured .wedding-package-duration,.wedding-package-featured li{color:#e8dedc}
.wedding-package-featured li{border-color:rgba(255,255,255,.14)}
.wedding-package-featured .wedding-package-link{border-color:rgba(255,255,255,.55);color:#fff}
.wedding-package-featured .wedding-package-badge{background:#fff;color:var(--wedding-ink)}
.wedding-package-featured li::before{background:#d7a9ae}
.wedding-package-footnote{margin-top:2rem}
.wedding-photo-booth{background:#f3ece8}
.wedding-photo-booth-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:clamp(3rem,6vw,7rem);align-items:center;max-width:1320px;margin:0 auto}
.wedding-photo-booth-image{padding:.48rem;background:#fff;box-shadow:0 24px 64px rgba(54,40,39,.13)}
.wedding-photo-booth-image img{width:100%;aspect-ratio:1.08/1;object-fit:cover}
.wedding-photo-booth-copy{max-width:560px}
.wedding-photo-booth-copy h2{max-width:14ch!important;margin:.7rem 0 1.5rem;font-size:clamp(2.5rem,3.7vw,4.45rem)!important}
.wedding-photo-booth-copy p{color:#605759}
.wedding-photo-booth-copy .button{margin-top:.75rem}
.wedding-experience-copy h2{font-size:clamp(2.45rem,3.7vw,4.5rem)!important}
.wedding-faq .text-shell{width:min(88vw,980px)}
.wedding-faq summary{font-family:var(--display);font-size:clamp(1.25rem,1.6vw,1.7rem);font-weight:400}
.wedding-final-cta .final-cta-inner{max-width:850px}
@media(max-width:980px){
.wedding-proof{grid-template-columns:repeat(2,1fr)}
.wedding-proof div:nth-child(2){border-right:0}
.wedding-intro-copy,.wedding-location-grid,.wedding-photo-booth-grid{grid-template-columns:1fr}
.wedding-intro-copy .eyebrow{margin-bottom:0}
.wedding-photo-booth-image{max-width:850px}
}
@media(max-width:720px){
.wedding-hero-copy h1{max-width:13ch!important}
.wedding-proof{grid-template-columns:1fr}
.wedding-proof div{min-height:92px;border-right:0;border-bottom:1px solid var(--line)}
.wedding-package-grid{grid-template-columns:1fr}
.wedding-package-card{min-height:0}
.wedding-photo-booth-grid{gap:2.5rem}
}


/* Proportion and flow correction — v7 */
.page-wedding .section{padding:clamp(4rem,5.2vw,6.25rem) 0!important}
.wedding-hero{
  width:min(94vw,1500px);
  min-height:0;
  margin:clamp(1.5rem,2.5vw,2.75rem) auto clamp(2rem,3vw,3.5rem);
  grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);
  align-items:center;
  gap:clamp(2.25rem,4vw,5rem);
  background:#faf7f4;
}
.wedding-hero-photo{
  min-height:0;
  aspect-ratio:4/3;
  max-height:590px;
  padding:.45rem;
  background:#fff;
  box-shadow:0 22px 58px rgba(54,40,39,.12);
}
.wedding-hero-photo img{object-position:center 38%}
.wedding-hero-copy{padding:clamp(2.25rem,3.6vw,4.25rem) clamp(2.25rem,3.8vw,4.5rem) clamp(2.25rem,3.6vw,4.25rem) 0}
.wedding-hero-copy h1{
  width:auto;
  max-width:20ch!important;
  margin:.7rem 0 1.35rem;
  font-size:clamp(2.9rem,3.55vw,4.25rem)!important;
  line-height:1.01!important;
  text-wrap:balance!important;
}
.wedding-hero-copy .lead{max-width:590px!important;margin-bottom:1.45rem;line-height:1.68!important}
.wedding-hero-copy .button-row{margin-top:1.5rem}
.wedding-hero-copy .booking-reassurance{margin-top:1.2rem}
.wedding-proof{width:min(94vw,1500px);margin-bottom:0}
.wedding-introduction{padding-top:clamp(4.5rem,5.8vw,6.75rem)!important}
.wedding-intro-copy{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2.75rem,5vw,6rem);
  max-width:1180px;
  margin-bottom:clamp(2.75rem,4.2vw,4.75rem);
}
.wedding-intro-copy .eyebrow{margin-bottom:-.25rem}
.wedding-intro-copy h2{
  max-width:18ch!important;
  font-size:clamp(2.35rem,3.15vw,3.75rem)!important;
  line-height:1.04!important;
}
.wedding-intro-body{padding-top:.2rem}
.wedding-editorial-strip{height:clamp(420px,41vw,620px)}
.wedding-quote{padding:clamp(3.75rem,5.5vw,6.5rem) 5vw}
.wedding-quote p{max-width:900px;font-size:clamp(2.05rem,3.2vw,3.85rem);line-height:1.08}
.wedding-location-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.75rem,5vw,6rem);max-width:1180px}
.wedding-location-grid h2{
  max-width:18ch!important;
  font-size:clamp(2.25rem,3vw,3.55rem)!important;
  line-height:1.05!important;
}
.wedding-stories-heading{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:clamp(2.5rem,4.5vw,5.5rem);margin-bottom:clamp(2.6rem,4vw,4.5rem)}
.wedding-stories-heading h2{max-width:18ch!important;font-size:clamp(2.35rem,3.25vw,3.9rem)!important;line-height:1.03!important}
.wedding-story-card{min-height:clamp(390px,39vw,590px)}
.wedding-packages-heading{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:clamp(2.5rem,4.5vw,5.5rem);margin-bottom:clamp(2.6rem,4vw,4.5rem)}
.wedding-packages-heading h2{max-width:20ch!important;font-size:clamp(2.3rem,3.05vw,3.65rem)!important;line-height:1.04!important}
.wedding-package-grid{max-width:1120px}
.wedding-package-card{min-height:520px;padding:clamp(2rem,3vw,3.1rem)}
.wedding-package-card h3{font-size:clamp(2.15rem,2.75vw,3.25rem)!important}
.wedding-photo-booth-grid{grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);gap:clamp(2.75rem,5vw,6rem);max-width:1220px}
.wedding-photo-booth-image{max-width:680px}
.wedding-photo-booth-image img{aspect-ratio:1.12/1}
.wedding-photo-booth-copy h2{max-width:18ch!important;font-size:clamp(2.3rem,3.15vw,3.75rem)!important;line-height:1.04!important}
.wedding-experience .shell{grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:clamp(2.75rem,5vw,6rem);max-width:1180px}
.wedding-experience-image{height:auto;aspect-ratio:4/5;max-height:650px}
.wedding-experience-copy h2{max-width:18ch!important;font-size:clamp(2.3rem,3.15vw,3.75rem)!important;line-height:1.04!important}
.wedding-steps>div{padding:1.05rem 0}
.wedding-faq .section-heading h2{max-width:20ch!important}
@media(max-width:1080px){
  .wedding-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:2.5rem}
  .wedding-hero-copy{padding:2.5rem 2.5rem 2.5rem 0}
  .wedding-hero-copy h1{font-size:clamp(2.75rem,4.8vw,4rem)!important}
}
@media(max-width:900px){
  .wedding-hero{
    width:min(92vw,760px);
    grid-template-columns:1fr;
    gap:0;
    margin-top:1.25rem;
  }
  .wedding-hero-copy{grid-row:1;padding:3rem 5vw 2.5rem}
  .wedding-hero-copy h1{max-width:17ch!important;font-size:clamp(2.7rem,7.8vw,4rem)!important}
  .wedding-hero-photo{aspect-ratio:16/10;max-height:470px;padding:.35rem}
  .wedding-intro-copy,.wedding-location-grid,.wedding-photo-booth-grid,.wedding-experience .shell{grid-template-columns:1fr}
  .wedding-intro-copy h2,.wedding-location-grid h2,.wedding-photo-booth-copy h2,.wedding-experience-copy h2{max-width:22ch!important}
  .wedding-stories-heading,.wedding-packages-heading{grid-template-columns:1fr}
  .wedding-stories-heading h2,.wedding-packages-heading h2{max-width:22ch!important}
  .wedding-photo-booth-image{max-width:760px}
  .wedding-experience-image{max-width:620px}
}
@media(max-width:620px){
  .page-wedding .section{padding:3.5rem 0!important}
  .wedding-hero{width:100%;margin:0;background:#faf7f4}
  .wedding-hero-copy{padding:2.6rem 5vw 2.25rem}
  .wedding-hero-copy h1{max-width:16ch!important;font-size:clamp(2.45rem,10.5vw,3.35rem)!important;line-height:1.02!important}
  .wedding-hero-photo{aspect-ratio:4/3;max-height:390px;padding:0;box-shadow:none}
  .wedding-proof{width:100%}
  .wedding-intro-copy{gap:1.5rem;margin-bottom:2.5rem}
  .wedding-intro-copy h2,.wedding-location-grid h2,.wedding-stories-heading h2,.wedding-packages-heading h2,.wedding-photo-booth-copy h2,.wedding-experience-copy h2{max-width:none!important;font-size:clamp(2.05rem,9vw,2.75rem)!important}
  .wedding-editorial-strip{height:auto}
  .wedding-quote{padding:3.5rem 7vw}
  .wedding-quote p{font-size:clamp(1.8rem,8.2vw,2.5rem)}
  .wedding-story-card{min-height:112vw}
  .wedding-package-card{min-height:0;padding:2rem 1.5rem}
  .wedding-photo-booth-grid{gap:2rem}
  .wedding-experience .shell{gap:2.25rem}
}


/* Editorial closing panel */
.wedding-final-cta{
  min-height:0!important;
  padding:clamp(4.5rem,7vw,7rem) 4vw!important;
  background:#f6f0ed!important;
}
.wedding-final-shell{
  width:min(100%,1500px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  background:#fff;
  box-shadow:0 24px 70px rgba(52,40,41,.11);
}
.wedding-final-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(3.5rem,6vw,7rem);
}
.wedding-final-copy .eyebrow{
  margin:0 0 1.25rem;
  color:var(--wedding-rose)!important;
}
.wedding-final-copy h2{
  max-width:9ch;
  margin:0 0 1.4rem;
  color:var(--wedding-ink)!important;
  font-family:var(--display);
  font-size:clamp(3.2rem,4.8vw,5.8rem);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.025em;
}
.wedding-final-copy>p:not(.eyebrow){
  max-width:590px;
  margin:0;
  color:#62595a!important;
  font-size:clamp(1rem,1.15vw,1.15rem);
  line-height:1.85;
}
.wedding-final-copy .button-row{
  margin-top:2.25rem;
  align-items:center;
}
.wedding-final-copy .button{
  border-color:var(--wedding-ink);
  background:var(--wedding-ink);
  color:#fff;
}
.wedding-final-copy .button:hover{
  border-color:var(--wedding-rose);
  background:var(--wedding-rose);
}
.wedding-final-copy .button-ghost{
  border-color:#b6a8a7;
  background:transparent;
  color:var(--wedding-ink);
}
.wedding-final-image{
  min-height:clamp(480px,43vw,680px);
  margin:0;
  overflow:hidden;
}
.wedding-final-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 48%;
}
@media(max-width:900px){
  .wedding-final-cta{padding:3.5rem 5vw!important}
  .wedding-final-shell{grid-template-columns:1fr}
  .wedding-final-copy{padding:clamp(3rem,8vw,5rem)}
  .wedding-final-copy h2{max-width:11ch;font-size:clamp(3rem,9vw,4.8rem)}
  .wedding-final-image{min-height:0;aspect-ratio:4/3}
}
@media(max-width:560px){
  .wedding-final-cta{padding:2rem 0!important}
  .wedding-final-shell{box-shadow:none}
  .wedding-final-copy{padding:3rem 5vw 3.5rem}
  .wedding-final-copy .button-row{width:100%;align-items:stretch;flex-direction:column}
  .wedding-final-copy .button{width:100%;text-align:center}
  .wedding-final-image{aspect-ratio:1/1}
}


/* Match the dimensional package interaction used across the site */
.wedding-package-card{
  transform:translateZ(0);
  transform-origin:center;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
@media (hover:hover) and (min-width:721px){
  .wedding-package-card:hover,
  .wedding-package-card:focus-within{
    z-index:4;
    transform:translateY(-7px) scale(1.018);
    box-shadow:0 24px 52px rgba(55,41,39,.14),0 6px 14px rgba(55,41,39,.07);
  }
  .wedding-package-card:hover .wedding-package-link span,
  .wedding-package-card:focus-within .wedding-package-link span{
    transform:translateX(4px);
  }
}
.wedding-package-link span{transition:transform .25s ease}
@media(prefers-reduced-motion:reduce){
  .wedding-package-card,.wedding-package-link span{transition:none}
  .wedding-package-card:hover,.wedding-package-card:focus-within{transform:none}
}


/* Curated wedding carousel */
.wedding-carousel{max-width:1460px;margin:clamp(3.5rem,6vw,6rem) auto 0}
.wedding-carousel-header{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-bottom:1.25rem}
.wedding-carousel-header>p{margin:0;color:var(--wedding-ink);font-family:var(--display);font-size:clamp(1.7rem,2.4vw,2.5rem);font-weight:400}
.wedding-carousel-controls{display:flex;align-items:center;gap:.8rem}
.wedding-carousel-controls button{width:46px;height:46px;padding:0;border:1px solid #cfc3c1;border-radius:50%;background:#fff;color:var(--wedding-ink);font-size:1.1rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.wedding-carousel-controls button:hover,.wedding-carousel-controls button:focus-visible{border-color:var(--wedding-ink);background:var(--wedding-ink);color:#fff;transform:scale(1.05)}
.wedding-carousel-controls [data-carousel-status]{min-width:64px;color:#7c7071;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-align:center}
.wedding-carousel-viewport{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
.wedding-carousel-viewport::-webkit-scrollbar{display:none}
.wedding-carousel-rail{display:flex;gap:clamp(1rem,1.6vw,1.6rem)}
.wedding-carousel-slide{position:relative;flex:0 0 clamp(310px,35vw,520px);aspect-ratio:4/5;margin:0;overflow:hidden;background:#eee8e5;scroll-snap-align:start;box-shadow:0 16px 42px rgba(54,40,39,.09)}
.wedding-carousel-slide img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.wedding-carousel-slide:hover img{transform:scale(1.025)}
.wedding-carousel-slide figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:3.5rem 1.35rem 1.25rem;background:linear-gradient(transparent,rgba(31,25,26,.72));color:#fff}
.wedding-carousel-slide figcaption strong{font-family:var(--display);font-size:clamp(1.35rem,1.8vw,1.8rem);font-weight:400;line-height:1}
.wedding-carousel-slide figcaption span{font-size:.62rem;font-weight:600;letter-spacing:.11em;text-align:right;text-transform:uppercase}
@media(max-width:720px){
.wedding-carousel{margin-top:3rem}
.wedding-carousel-header{align-items:flex-end}
.wedding-carousel-header>p{max-width:8ch}
.wedding-carousel-controls{gap:.45rem}
.wedding-carousel-controls button{width:42px;height:42px}
.wedding-carousel-controls [data-carousel-status]{min-width:54px}
.wedding-carousel-slide{flex-basis:82vw}
.wedding-carousel-slide figcaption{padding:3rem 1.1rem 1.05rem}
}
@media(prefers-reduced-motion:reduce){.wedding-carousel-slide img,.wedding-carousel-controls button{transition:none}.wedding-carousel-slide:hover img{transform:none}}


/* Image-only carousel with every photograph shown at its natural orientation */
.wedding-carousel-natural{position:relative;max-width:none;margin-top:clamp(3.5rem,6vw,6rem)}
.wedding-carousel-natural .wedding-carousel-viewport{padding:1.5rem 0 2.5rem}
.wedding-carousel-natural .wedding-carousel-rail{align-items:center;gap:clamp(1rem,1.5vw,1.5rem)}
.wedding-carousel-natural .wedding-carousel-slide{
  flex:0 0 auto;
  width:auto;
  height:clamp(420px,42vw,620px);
  aspect-ratio:var(--photo-ratio);
  margin:0;
  background:transparent;
  box-shadow:0 16px 42px rgba(54,40,39,.1);
}
.wedding-carousel-natural .wedding-carousel-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.wedding-carousel-natural .wedding-carousel-controls{
  position:absolute;
  z-index:3;
  top:50%;
  right:-23px;
  left:-23px;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
  transform:translateY(-50%);
}
.wedding-carousel-natural .wedding-carousel-controls button{
  pointer-events:auto;
  box-shadow:0 8px 24px rgba(43,37,38,.16);
}
@media(max-width:720px){
  .wedding-carousel-natural{margin-right:-5vw;margin-left:-5vw}
  .wedding-carousel-natural .wedding-carousel-viewport{padding:1rem 5vw 2rem;scroll-padding-left:5vw}
  .wedding-carousel-natural .wedding-carousel-slide{height:clamp(340px,82vw,500px)}
  .wedding-carousel-natural .wedding-carousel-controls{right:8px;left:8px}
}


/* Wedding client review carousel */
.wedding-testimonial-carousel{max-width:1320px;margin:0 auto}
.wedding-testimonial-viewport{overflow-x:auto;scroll-behavior:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.wedding-testimonial-viewport::-webkit-scrollbar{display:none}
.wedding-testimonial-rail{display:grid;grid-auto-columns:calc((100% - 2px)/3);grid-auto-flow:column;gap:1px;background:#ded4d1;border:1px solid #ded4d1}
.wedding-testimonial-card{display:flex;min-height:360px;flex-direction:column;justify-content:space-between;margin:0;padding:clamp(2rem,3.3vw,3.35rem);background:var(--wedding-ivory);scroll-snap-align:start}
.wedding-testimonial-card p{margin:0;color:var(--wedding-ink);font-family:var(--display);font-size:clamp(1.35rem,1.75vw,1.9rem);font-weight:400;line-height:1.32}
.wedding-testimonial-card cite{display:flex;flex-direction:column;gap:.45rem;margin-top:2rem;font-style:normal}
.wedding-testimonial-card cite strong{color:var(--wedding-wine);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase}
.wedding-testimonial-card cite span{color:#766b6d;font-size:.72rem;line-height:1.5}
.wedding-testimonial-controls{display:grid;grid-template-columns:3.25rem 1fr 3.25rem;align-items:center;gap:1rem;margin-top:1.25rem}
.wedding-testimonial-controls button{width:3.25rem;height:3.25rem;border:1px solid #d7ccca;background:#fff;color:var(--wedding-ink);font-size:1.15rem;cursor:pointer}
.wedding-testimonial-controls button:hover,.wedding-testimonial-controls button:focus-visible{border-color:var(--wedding-wine);background:var(--wedding-wine);color:#fff}
.wedding-testimonial-controls p{margin:0;color:#786d6f;font-size:.72rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}
@media(max-width:980px){.wedding-testimonial-rail{grid-auto-columns:calc((100% - 1px)/2)}}
@media(max-width:620px){.wedding-testimonial-rail{grid-auto-columns:100%}.wedding-testimonial-card{min-height:340px;padding:2rem 1.6rem}.wedding-testimonial-card p{font-size:1.45rem}.wedding-testimonial-controls p{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.wedding-testimonial-viewport{scroll-behavior:auto}}
