/* A lighter veil keeps the footage visible, with protection behind the text. */
:root { --section: clamp(4rem,7vw,6rem); }
.section-heading { margin-bottom: clamp(2rem,4vw,3rem); }
.section-heading h2 { font-size: clamp(2rem,3.5vw,3.4rem); line-height: 1.12; }
.experience h2,
.photo-teaser h2,
.final-cta h2,
.quote-form-section h2,
.about-layout h2,
.about-story h2,
.wedding-essentials > header h2,
.latino-seo-intro h2,
.latino-music-copy > h2,
.event-planning-intro h2,
.event-faq-inner header h2 { font-size: clamp(2rem,3.1vw,2.75rem); max-width: 25ch; line-height: 1.15; }
.service-modal h2 { font-size: clamp(1.75rem,3vw,2.5rem); max-width: 25ch; line-height: 1.12; }
.service-card b,
.showcase-body > b,
.showcase-body > span,
.service-modal li { font-size: 1rem; }
.showcase-body > small { font-size: .75rem; }
.service-modal-close { width: 44px; height: 44px; }
.home-hero-shade {
  background: linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.67) 45%,rgba(0,0,0,.24) 76%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 52%);
}
.event-detail-overlay,
.wedding-event-hero .event-detail-overlay {
  background: linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.68) 45%,rgba(0,0,0,.22) 78%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 55%);
}
.photo-overlay {
  background: linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.32) 62%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.43),transparent 55%);
}
.hero-intro,
.event-detail-hero-copy > p:not(.kicker),
.photo-hero-copy > p:not(.kicker),
.about-hero-copy > p:not(.kicker) {
  color: rgba(255,255,255,.95);
  text-shadow: 0 1px 3px rgba(0,0,0,.65);
}
[data-eleganza-island] { display: contents; }
.wedding-featured-booth { display: flex; flex-direction: column; }
.wedding-featured-booth > div { flex: 1; }
.wedding-featured-booth > div > p:not(.kicker) { font-size: 1rem; }
.wedding-featured-booth > div > strong { font-size: 1rem; }
.corporate-package-collection.corporate .wedding-package-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.corporate-package-collection.corporate .wedding-package-card:last-child { grid-column: auto; }
.corporate-package-collection.corporate .wedding-package-card:last-child .wedding-package-image { max-height: none; }
.corporate-package-collection.corporate .wedding-package-image { aspect-ratio: 16 / 10; }
.corporate-package-collection.corporate .wedding-package-body h4 { font-size: clamp(1.65rem,2.5vw,2.3rem); }
body:has(.multicultural-hub-hero) .latino-seo-intro { grid-template-columns: 1fr 1.2fr; gap: clamp(2rem,5vw,4rem); }
body:has(.multicultural-hub-hero) .latino-seo-intro h2 { font-size: clamp(1.9rem,3.1vw,2.75rem); max-width: none; line-height: 1.15; }
.simple-hero.split-media-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; padding-block: clamp(3rem,6vw,5rem); }
.simple-hero.split-media-hero h1 { max-width: 18ch; font-size: clamp(2.4rem,4.1vw,4rem); line-height: 1.08; }
.split-media-hero-copy > p:not(.kicker) { max-width: 58ch; color: var(--muted); }
.split-media-hero > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.package-modal h2 { font-size: clamp(1.75rem,3vw,2.5rem); max-width: 28ch; line-height: 1.12; }
.package-comparison-scroll th,
.package-comparison-scroll td { font-size: 1rem; line-height: 1.5; }
.package-comparison-scroll table { min-width: 760px; }
.package-comparison-scroll::before { content: 'Faites défiler horizontalement pour voir les autres forfaits.'; display: none; margin-bottom: .75rem; font-size: .875rem; color: var(--muted); }
html[lang="en"] .package-comparison-scroll::before { content: 'Scroll horizontally to see the other packages.'; }
html[lang="es"] .package-comparison-scroll::before { content: 'Deslice horizontalmente para ver los otros paquetes.'; }
.wedding-package-description,
.wedding-package-body > ul li,
.wedding-package-actions .button,
.package-modal-actions .button,
.package-compare-bar .button { font-size: 1rem; }
.wedding-package-schedule,
.wedding-package-progression,
.wedding-package-value,
.package-compare-toggle,
.package-compare-bar span,
.package-compare-bar button:not(.button) { font-size: .875rem; }
.wedding-package-actions { grid-template-columns: 1fr; }
.package-compare-toggle { text-transform: none; letter-spacing: normal; }
.wedding-package-description { min-height: 0; }
.package-compare-bar button:not(.button) { min-height: 44px; padding-inline: .5rem; }
.package-modal-close { width: 44px; height: 44px; }
.package-modal > ul li { font-size: 1rem; }
.package-comparison-scroll { max-width: 100%; overscroll-behavior-x: contain; }
.package-comparison-scroll ul { padding-left: 1rem; }
.package-comparison-scroll li { margin-bottom: .6rem; }
.footer-grid.has-resources { grid-template-columns: 1.2fr .85fr 1fr 1.15fr; gap: 2rem; }
.footer-grid > div { min-width: 0; }
.footer-grid a { overflow-wrap: anywhere; }
.footer-grid a { font-size: 1rem; }
.footer-grid h3 { font-size: .875rem; }
.site-footer { padding-top: clamp(3rem,5vw,5rem); }
.footer-statement { margin-bottom: 3rem; }
.footer-statement h2 { font-size: clamp(2.2rem,4vw,3.5rem); }
.footer-bottom { margin-top: 2rem; font-size: .875rem; color: rgba(255,255,255,.65); }
.button { font-size: 1rem; }
.mobile-sticky-cta { font-size: 1rem; }
.header-cta,
.languages a { font-size: .875rem; }
#primary-nav a,
.nav-dropdown > button,
#primary-nav .nav-dropdown-menu a,
#primary-nav .nav-dropdown-submenu a { font-size: .875rem; }
@media (max-width: 1000px) {
  .footer-grid.has-resources { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .package-comparison-scroll::before { display: block; }
}
@media (max-width: 1120px) and (min-width: 781px) {
  .corporate-package-collection.corporate .wedding-package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .corporate-package-collection.corporate .wedding-package-card:last-child { grid-column: 1 / -1; width: calc((100% - 1.1rem) / 2); justify-self: center; }
}
@media (max-width: 780px) {
  .section-heading.split { gap: 1rem; }
  .section-heading.split h2 { margin-bottom: .5rem; }
  .section-heading.split > p { margin-top: 0; }
  .footer-grid.has-resources { grid-template-columns: 1fr; }
  .corporate-package-collection.corporate .wedding-package-grid,
  body:has(.multicultural-hub-hero) .latino-seo-intro,
  .simple-hero.split-media-hero { grid-template-columns: 1fr; }
  .split-media-hero > img { max-height: 320px; }
  .package-modal { padding: 3.4rem 1.2rem 1.5rem; max-height: calc(100dvh - 1.5rem); }
  .package-modal-backdrop { padding: .75rem; }
  .home-hero-shade,
  .event-detail-overlay,
  .wedding-event-hero .event-detail-overlay,
  .photo-overlay {
    background: linear-gradient(0deg,rgba(0,0,0,.83),rgba(0,0,0,.32)),linear-gradient(90deg,rgba(0,0,0,.58),transparent);
  }
}
