/* Collective only: chosen refinements 1–5, 7 and 8. Slideshow pacing is unchanged. */
html[data-motion-preferences="system"] { --nav-overlay-duration: 400ms; }

/* The opening starts on ivory, but its photograph can scroll under either
   control. Follow each control's actual position, not the whole hero: the
   desktop Menu stays dark over copy, and the inset mobile lead-in stays dark.
   Frosted reading surfaces always keep the shared dark ink. Logo untouched. */
html[data-header-material="glass"] body > .site-header[aria-label]:is(.site-header--full-wordmark, .site-header--over-hero):not([data-header-hero-surface="frosted"]) :is(.menu-toggle, .inquire-link).is-over-opening-image {
  --header-ink: #fff;
  --header-menu-shadow: 0 1px 3px rgba(35, 26, 16, .9);
  --header-menu-filter: drop-shadow(0 1px 2px rgba(35, 26, 16, .8));
}

/* Separate, measurable header hit areas; enlarged labels can use a second row. */
.site-header:not(.home-header-v3) {
  width: 100%; display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(44px, 220px) minmax(0, 1fr);
  gap: 12px; transition: none;
}
.site-header .brand, .site-header.site-header--full-wordmark .brand {
  position: relative; top: auto; left: auto; grid-column: 2; grid-row: 1;
  width: 100%; min-width: 0; height: 44px; min-height: 44px;
  justify-self: center; transform: none;
}
.site-header .header-icon.header-icon--full-name, .site-header .header-icon:not(.header-icon--full-name) {
  width: 220px; max-width: none; pointer-events: none; transition: none;
}
.site-header .menu-toggle { grid-column: 1; justify-self: start; min-width: 0; }
.site-header:not(.home-header-v3) .inquire-link {
  min-width: 0; min-height: 44px; margin-left: 0; white-space: normal; justify-self: end;
}
.collective-intro { padding-top: var(--collective-header-height, 84px); }
.collective-intro, .travel-together { overflow: visible; }
.editorial-copy, .editorial-image, .collective-intro__body { min-width: 0; }
.collective-intro__body { grid-template-columns: minmax(0, 1fr); }
.collective-page :is(h1, h2, p, a) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.collective-page :is(h1, h2) { font-optical-sizing: auto; }
.outlined-cta span:first-child { min-width: 0; }
.outlined-cta span:last-child { flex-shrink: 0; }
.collective-page, .footer-legal-v2 { scroll-margin-top: var(--collective-header-height, 84px); }

@media (min-width: 1001px) {
  .collective-intro .editorial-copy { padding-block: clamp(36px, 4vh, 64px); }
  .collective-intro h1 { font-size: clamp(3.5rem, 5.3vw, 5.5rem); }
}
@media (max-width: 1000px) {
  .collective-intro, .travel-together { grid-template-columns: minmax(0, 1fr); }
  .collective-intro__image { margin-top: 16px; }
  .footer-legal-v2 .legal-footer__identity { grid-template-columns: minmax(0, 1fr); }
  .footer-legal-v2 :is(.legal-footer__brand-link, .legal-footer__zuvani-name, .legal-footer__credentials) { min-width: 0; }
}
@media (max-width: 640px) {
  .site-header:not(.home-header-v3) { grid-template-columns: auto minmax(44px, 1fr) auto; gap: 8px; padding-inline: 16px; }
  .site-header:not(.home-header-v3) .inquire-link { padding-inline: 12px; }
  .site-header.header-is-crowded { grid-template-columns: minmax(0, 1fr) auto; padding-block: 10px; }
  .site-header.header-is-crowded .brand { grid-column: 1 / -1; grid-row: 1; width: 120px; height: 64px; }
  .site-header.header-is-crowded .menu-toggle, .site-header.header-is-crowded .inquire-link { grid-row: 2; }
  .site-header.header-is-crowded .inquire-link { grid-column: 2; }
  .site-header.header-is-crowded .menu-toggle { flex-direction: column; gap: 2px; align-items: start; }
  .footer-legal-v2 :is(.legal-footer__closing, .legal-footer__brand-line, .legal-footer__affiliation-copy, .legal-footer__protection-copy) { overflow-wrap: anywhere; }
  .footer-legal-v2 .legal-footer__zuvani-word { font-size: min(clamp(2.7rem, 14vw, 3.5rem), 17vw); }
  .footer-legal-v2 .legal-footer__collective-word { letter-spacing: .24em; text-indent: .24em; }
}

/* Keep arrows 12px from Play/Pause at every width. Flexible outer columns
   preserve the full-width second row for all six progress selectors. */
.scene-carousel__controls { display: grid; grid-template-columns: minmax(44px, 1fr) max-content minmax(44px, 1fr); gap: 4px 12px; }
.scene-carousel__arrow { width: 44px; height: 44px; }
[data-carousel-prev] { grid-column: 1; grid-row: 1; justify-self: end; }
[data-carousel-next] { grid-column: 3; grid-row: 1; justify-self: start; }
/* The six lines share --photo-indicator-hit with the Home and About pillar
   indicators, so every photo indicator on the site is the same size. Fixed
   widths replace the old flex fill, which ran the lines to 97px at desktop and
   63px on a phone; the row centres them instead. */
.scene-carousel__dots { grid-column: 1 / -1; grid-row: 2; gap: 2px; justify-content: center; }
.scene-carousel__dot { flex: 0 0 var(--photo-indicator-hit, 56px); width: var(--photo-indicator-hit, 56px); min-width: 0; height: 44px; justify-content: center; }
.scene-carousel__dot-track { width: calc(100% - 8px); }
.scene-carousel__playback {
  grid-column: 2; grid-row: 1; justify-self: center;
}
.scene-carousel.is-user-paused .scene-carousel__dot.is-active .scene-carousel__dot-fill { animation-play-state: paused; }
.scene-carousel__controls :focus-visible { outline: 2px solid var(--warm-ivory); outline-offset: 3px; }

/* Reuse the existing reversible drawer. Large-panel motion earns 400ms;
   keyboard input and preference changes never wait for it to finish. */
.zuvani-nav-overlay.is-visible { transition-delay: 0s; }
.zuvani-nav-link { transition-duration: 200ms, 250ms; transition-delay: calc(var(--nav-index) * 30ms); }
.zuvani-nav-meta { transition-duration: 200ms, 250ms; transition-delay: 80ms; }
.zuvani-nav-backdrop, .zuvani-nav-backdrop.is-open { transition-duration: 200ms, 0s; }
.zuvani-nav-link-text, .zuvani-nav-close-icon { transition-duration: 200ms; }
.nav-motion-instant :is(.zuvani-nav-overlay, .zuvani-nav-overlay *, .zuvani-nav-backdrop),
html.collective-keyboard-input :is(a, button, a span, button svg) { transition: none !important; }
html[data-motion-preferences="system"] .footer-legal-v2 .legal-footer__reveal { opacity: 1; transform: none; transition: none; }
@media (prefers-reduced-motion: reduce) {
  html[data-motion-preferences="system"] :is(.zuvani-nav-overlay, .zuvani-nav-link, .zuvani-nav-meta) { transform: none; transition: none; }
  html[data-motion-preferences="system"] .zuvani-nav-backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  html[data-motion-preferences="system"] .site-header,
  html[data-motion-preferences="system"] .zuvani-nav-overlay {
    background: #f3ede0; color: #231a10; backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .scene-carousel__arrow, .scene-carousel__playback { background: #231a10; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
