/* Infinity & Beyond — cinematic-v6: the shared cinematic layer for every page.
 * Loads after the inherited v2–v5 stylesheets and adjusts the presentation without touching content:
 * a header that is transparent over imagery and settles into a solid bar on scroll, quieter controls,
 * no preview chrome in the guest view, one photographic grade, slow drift on page openings, film grain,
 * and gentle section reveals. */

:root { --v6-ink: #071b16; --v6-paper: #f4f0e4; --v6-brass: #e4d6b4; --v6-clay: #a8613c; }

/* ---------- header: fully transparent over imagery, solid once the page moves ---------- */
.cinematic-v6 .site-header, .cinematic-v6 .site-header:not(.is-scrolled) {
  position: fixed; inset: 0 0 auto; z-index: 90;
  background: linear-gradient(180deg, #05130ec2 0%, #05130e00 100%);
  border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
  transition: background .6s ease, border-color .6s ease;
}
.cinematic-v6 .site-header.is-scrolled {
  background: #071b16e6; border-bottom: 1px solid #e7ede21f;
  backdrop-filter: blur(14px) saturate(1.1); -webkit-backdrop-filter: blur(14px) saturate(1.1);
}
.cinematic-v6 .header-inner { border-bottom: 0; }
.cinematic-v6 .desktop-nav a { letter-spacing: .04em; opacity: .84; transition: opacity .3s; }
.cinematic-v6 .desktop-nav a:hover, .cinematic-v6 .desktop-nav a[aria-current] { opacity: 1; }

/* ---------- remove preview chrome from the guest view ---------- */
.cinematic-v6 .preview-control { display: none !important; }
.cinematic-v6 .footer-preview {
  background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; opacity: .7;
  text-decoration: underline dotted; text-underline-offset: 3px;
}
.cinematic-v6 .footer-preview:hover { opacity: 1; }

/* ---------- motion control (journey-v4 pages): a small pill instead of a boxed button ---------- */
.cinematic-v6 [data-motion-toggle] {
  display: inline-flex !important; align-items: center; gap: 9px; padding: 9px 13px 9px 11px; border-radius: 999px;
  background: #0b1f1ad1; border: 1px solid #f0e9d54d; color: #f3ecd9; font:500 var(--type-caption)/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 6px 24px #0000002e; transition: border-color .3s, background .3s;
}
.cinematic-v6 [data-motion-toggle]:hover, .cinematic-v6 [data-motion-toggle]:focus-visible { border-color: #f0e9d5a6; background: #0b1f1aeb; }
.cinematic-v6 [data-motion-toggle] [data-motion-icon] { display: none; }
.cinematic-v6 [data-motion-toggle]::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--v6-brass); box-shadow: 0 0 0 3px #e4d6b433; }
.cinematic-v6 [data-motion-toggle][aria-pressed="true"]::before, .cinematic-v6 [data-cinematic-motion="paused"] [data-motion-toggle]::before { background: #f3ecd980; box-shadow: none; }

/* ---------- page openings: slow drift, deeper vignette ---------- */
.cinematic-v6 .journey-hero { overflow: hidden; }
.cinematic-v6 .journey-media img { transform-origin: 50% 40%; animation: v6-drift 16s cubic-bezier(.2,.5,.2,1) both; }
@keyframes v6-drift { from { transform: scale(1.07); } to { transform: scale(1); } }
.cinematic-v6 .journey-hero-shade {
  background:
    linear-gradient(0deg, #05130ec7 0%, #05130e33 45%, #05130e4d 100%),
    radial-gradient(130% 100% at 50% 45%, transparent 55%, #04110c80 100%);
}
.cinematic-v6 .journey-scene, .cinematic-v6 .journey-continuation { overflow: hidden; }

/* ---------- one photographic grade across property photography and gathering candids ---------- */
.cinematic-v6 .journey-media img, .cinematic-v6 .journey-scene img, .cinematic-v6 .journey-continuation img,
.cinematic-v6 .source-gallery img, .cinematic-v6 .week-photo-main img, .cinematic-v6 .origin-photo img,
.cinematic-v6 .day-photo img, .cinematic-v6 .portrait-field img, .cinematic-v6 .paired-land-images img,
.cinematic-v6 .travel-photos img, .cinematic-v6 .room-enlarge img, .cinematic-v6 .room-gallery img {
  filter: saturate(.9) contrast(1.03) sepia(.045);
}
.cinematic-v6 .source-gallery img, .cinematic-v6 .week-photo-main img, .cinematic-v6 .origin-photo img, .cinematic-v6 .day-photo img {
  filter: saturate(.82) contrast(1.05) sepia(.08) brightness(.97);
}

/* ---------- film grain over the whole page (very light) ---------- */
body.cinematic-v6::after {
  content: ''; position: fixed; inset: 0; z-index: 88; pointer-events: none; opacity: .055; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
body.movie-home-v5.cinematic-v6::after { display: none; } /* the film stage carries its own grain */

/* ---------- section reveals (added by cinematic-v6.js) ---------- */
.v6-reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s cubic-bezier(.2,.6,.2,1), transform .9s cubic-bezier(.2,.6,.2,1); }
.v6-reveal.is-in { opacity: 1; transform: none; }

/* ---------- quieter guest ribbon and page furniture ---------- */
.cinematic-v6 .guest-ribbon { font-size:var(--type-caption); letter-spacing: .04em; }
.cinematic-v6 .journey-page-count { opacity: .7; }

/* ---------- the motion pill must never sit on the hero page count; on phones it shrinks to a dot ---------- */
@media (min-width: 701px) { .cinematic-v6 .journey-hero-foot .journey-page-count { padding-right: 132px; } }
@media (max-width: 700px) {
  .cinematic-v6 .journey-motion-control { font-size:inherit; gap: 0; padding: 0; width: 36px; height: 36px; min-height: 36px; justify-content: center; opacity: .9; }
  .cinematic-v6 .journey-motion-control::before { width: 8px; height: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .cinematic-v6 .journey-media img { animation: none; }
  .v6-reveal { opacity: 1; transform: none; transition: none; }
}

/* ---------- cut pass (September 2026): the conversation row is a single line on every page but Our people ---------- */
.cinematic-v4 .conversation.conversation-slim { grid-template-columns: 1fr auto; padding-block: 52px; }
.cinematic-v4 .conversation.conversation-slim .conversation-copy h2 { font-size:var(--type-section); }
@media (max-width: 700px) {
  .cinematic-v4 .conversation.conversation-slim { display: block; padding-block: 40px; }
  .cinematic-v4 .conversation.conversation-slim .conversation-copy h2 { font-size:var(--type-section); }
}
/* inline links inside running copy (question answers, the steps, the price note) read as links */
.cinematic-v6 .faq-group details p a, .cinematic-v6 .reservation-steps p a, .cinematic-v6 .reservation-summary .small-note a {
  color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, currentColor 55%, transparent);
  transition: color .2s, text-decoration-color .2s;
}
.cinematic-v6 .faq-group details p a:hover, .cinematic-v6 .reservation-steps p a:hover, .cinematic-v6 .reservation-summary .small-note a:hover { color: var(--rust); text-decoration-color: var(--rust); }

/* round 3: the footer without its display wordmark — the conditions line takes the space */
.cinematic-v6 .site-footer .footer-conditions { margin-top: 64px; }
@media (max-width: 700px) { .cinematic-v6 .site-footer .footer-conditions { margin-top: 44px; } }

/* round 5: no arrows anywhere — the header's "Your response" is plain underlined text */
.cinematic-v6 .header-reserve { gap: 0; padding: 12px 0 5px; min-height: 0; border-bottom: 1px solid #f3f0e766; transition: border-color .2s; }
.cinematic-v6 .header-reserve:hover, .cinematic-v6 .header-reserve[aria-current="page"] { border-color: #f3f0e7; }
