/* Phone composition only. The approved desktop grid and motion remain untouched. */
@media (max-width:700px) {
  html { scrollbar-gutter:auto; }
  :root { --gutter:24px; --direction-space:80px; }
  main p:not(.eyebrow) { text-wrap:pretty; }
  main .text-link { min-height:48px; font-size:10px; letter-spacing:.12em; }
  main :is(h2,h3) { text-wrap:balance; }

  .site-header.villa-site-header { padding:8px 20px; gap:12px; min-height:78px; }
  .villa-site-header .bcr-logo { --display-size:1.95rem; --icon-size:2.4rem; --icon-gap:.45rem; --sub-size:.55rem; --sub-shift:3rem; }
  .shell-actions { gap:14px; }
  .villa-site-header .header-inquire { display:inline-flex; min-width:72px; min-height:44px; gap:9px; font-size:10px; padding:8px 0; }
  .header-inquire svg { width:13px; height:13px; }
  .villa-site-header .menu-toggle { width:44px; padding:12px; }
  .shell-menu .shell-languages { gap:14px; }
  .shell-menu .shell-languages>* { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }

  .hero { min-height:640px; }
  .hero-content { padding:110px 24px 115px; }
  .hero h1 { font-size:clamp(40px,11.4vw,58px); line-height:1.07; }
  .hero-eyebrow { font-size:9px; letter-spacing:.12em; margin-bottom:24px; }
  .hero-undertext { margin-top:24px; }
  .hero-undertext p { line-height:1.65; max-width:440px; }
  .hero-cta { margin-top:20px; }
  .hero-bottom { bottom:25px; }

  .direction-intro-copy { padding:76px 24px 40px; }
  .direction-intro .eyebrow { font-size:10px; letter-spacing:.1em; max-width:310px; }
  .direction-intro .direction-title { font-size:clamp(32px,9.2vw,50px); line-height:1.15; }
  .direction-intro-description { margin:27px 0 0; }
  .direction-intro-description p { line-height:1.72; }
  .direction-expanding-frame { height:88vw; min-height:300px; max-height:480px; clip-path:none; }
  .direction-expanding-frame img { object-position:62% 55%; }
  .direction-panorama figcaption { font-size:9px; line-height:1.7; padding-top:18px; }
  .direction-intro+.services-intro { padding:76px 24px 42px; }
  .services-intro .eyebrow { font-size:10px; letter-spacing:.12em; margin-bottom:24px; }
  .services-intro h2 { font-size:clamp(42px,10.7vw,62px); line-height:1.1; }
  .services-intro .section-lead { margin:26px 0 0; line-height:1.72; }

  /* Let each photograph establish its scene; keep the message on clean paper. */
  .panorama-chapter { padding-bottom:66px; }
  .panorama-visual { aspect-ratio:4/3; }
  .panorama-chapter[data-scene="1"] .panorama-visual { aspect-ratio:16/9; }
  .panorama-chapter[data-scene="2"] .panorama-visual img { object-position:52% 50%; }
  .panorama-heading { margin-top:28px; }
  .panorama-heading>.eyebrow { font-size:10px; letter-spacing:.08em; margin-bottom:18px; }
  .panorama-heading h3 { font-size:clamp(42px,10.7vw,62px); line-height:1.08; }
  .panorama-description { margin-top:23px; }
  .panorama-description>p { line-height:1.72; }
  .panorama-description>.text-link { margin-top:22px; }
  .panorama-chapter:last-child { padding-bottom:0; }

  /* A deliberate image > message sequence, with restrained asymmetry. */
  .values-study { padding:86px 24px 80px; }
  .study-opening { margin-bottom:34px; }
  .study-opening .eyebrow { font-size:10px; letter-spacing:.1em; margin-bottom:24px; }
  .study-opening h2 { font-size:clamp(42px,10.7vw,62px); line-height:1.1; }
  .study-lead { margin-top:26px; line-height:1.72; }
  .values-study .study-family { margin:0 0 0 -24px; }
  .values-study .study-family figcaption { padding-left:24px; }
  .values-study .study-contact { margin:30px 0 48px; }
  .values-study .study-waterfall { margin:0 -24px 0 24px; }
  .values-study .study-waterfall .image-window { aspect-ratio:4/5; max-height:530px; }
  .values-study .study-itinerary { margin:30px 0 0 24px; }
  .study-copy>.eyebrow { font-size:10px; letter-spacing:.1em; margin-bottom:18px; }
  .study-copy h3 { font-size:clamp(36px,9.6vw,51px); line-height:1.13; margin-bottom:20px; }
  .study-copy p:not(.eyebrow) { line-height:1.72; }
  .study-copy>.text-link { margin-top:24px; gap:24px; }
  .study-photo figcaption { font-size:9px; line-height:1.7; }

  /* Native thumb scrolling with a visible next frame and explicit navigation. */
  .direction-collection-stage { padding:64px 0 48px; }
  .direction-collection-heading { padding:0 24px 30px; }
  .direction-collection-heading h2 { font-size:clamp(42px,10.7vw,62px); max-width:none; }
  .direction-collection-heading .eyebrow { font-size:10px; }
  .direction-gallery-window { overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:24px; scrollbar-width:none; overscroll-behavior-x:contain; }
  .direction-gallery-window::-webkit-scrollbar { display:none; }
  .direction-gallery-track { display:flex; gap:16px; width:max-content; padding:0 24px; transform:none; }
  .direction-gallery-card { flex:0 0 calc(100vw - 64px); width:calc(100vw - 64px); margin:0; scroll-snap-align:start; }
  .direction-gallery-card>.image-window { aspect-ratio:4/3; height:auto; }
  .direction-gallery-caption { padding-top:20px; gap:12px; align-items:flex-start; }
  .direction-gallery-caption h3 { font-size:30px; line-height:1.15; text-wrap:initial; }
  .gallery-number { padding-top:7px; }
  .gallery-arrow { padding-top:4px; }
  .direction-collection-bottom { display:flex; padding:24px 24px 0; gap:12px; }
  .direction-collection-bottom>.eyebrow { display:none; }
  .collection-position { display:flex; width:100%; gap:10px; }
  .collection-position::before { content:'Swipe to explore'; margin-right:auto; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
  .collection-position button { display:none; min-width:44px; min-height:44px; padding:8px; border-bottom:1px solid transparent; }
  .mobile-gallery-ready .collection-position button { display:inline-flex; align-items:center; justify-content:center; }
  .collection-position button[aria-pressed=true] { border-bottom-color:var(--forest); }
  .collection-progress { display:none; }

  .direction-journal { padding:76px 24px 80px; }
  .direction-journal-heading { margin-bottom:36px; }
  .direction-journal-heading .direction-title { font-size:clamp(39px,10vw,58px); line-height:1.12; }
  .direction-journal .eyebrow { font-size:10px; }
  .direction-journal-heading>.text-link { margin-top:22px; }
  .direction-journal-story { margin-bottom:42px; }
  .direction-journal-story .image-window { aspect-ratio:4/3; }
  .direction-journal-meta { font-size:9px; margin:19px 0 16px; }
  .direction-journal-story h3 { font-size:34px; line-height:1.15; text-wrap:pretty; }
  .direction-journal-story>p { line-height:1.72; }

  .closing-finale.is-cinematic .finale-film { height:160svh; }
  .finale-film,.finale-stage { min-height:540px; }
  .finale-heading { top:20%; }
  .finale-heading h2 { font-size:clamp(44px,11.5vw,65px); line-height:1.08; }
  .finale-contact-card .contact-channel { min-height:76px; padding:17px 0; }
  .finale-contact-card .contact-channel-detail { font-size:13px; }
  .quiet-footer.final-site-footer { padding-bottom:max(18px,env(safe-area-inset-bottom)); }
  .final-site-footer nav { gap:0 18px; font-size:11px; }
  .final-site-footer nav a { min-height:44px; display:inline-flex; align-items:center; }
}
@media (max-width:700px) and (max-height:720px) {
  .hero-content { padding-bottom:98px; }
  .hero-undertext { margin-top:20px; }
  .hero-eyebrow { margin-bottom:20px; }
  .hero-bottom { bottom:15px; }
}
@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .closing-finale.is-cinematic .finale-film { height:100svh; }
}
