/* Owner-approved four-scene mobile treatment. Booking behavior and desktop stay independent. */
.mobile-hero-scenes,.hero-rotation-controls {display:none;}
@media (max-width:620px) {
 .site-header {
  position:absolute;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  text-shadow:0 1px 7px rgba(8,15,33,.5);
 }
 .site-nav {background:rgba(12,25,40,.96);border-radius:0 0 1rem 1rem;}
 .hero {isolation:isolate;background:#f7f3ed;}
 .hero > .hero-scene {
  isolation:auto;
  min-height:720px;
  align-items:flex-start;
  padding:7.5rem 1.25rem 12rem;
 }
 .hero > .hero-scene::before {content:none;}
 .hero > .hero-scene::after {
  inset:0;
  background:linear-gradient(180deg,rgba(8,15,33,.28),rgba(8,15,33,.12) 16%,rgba(8,15,33,.34) 38%,rgba(8,15,33,.30) 53%,transparent 73%);
 }
 .mobile-hero-scenes {
  display:block;
  position:absolute;
  top:0;left:0;right:0;
  height:calc(100% + 280px);
  z-index:0;
  pointer-events:none;
 }
 .mobile-hero-scenes:not([data-loaded]) {background:#162c3d;}
 .mobile-hero-slide {
  display:block;
  position:absolute;
  top:0;left:0;right:0;
  height:100%;
  z-index:0;
  opacity:0;
  transition:opacity 1100ms ease-in-out;
  -webkit-mask-image:linear-gradient(#000 calc(100% - 48px),transparent);
  mask-image:linear-gradient(#000 calc(100% - 48px),transparent);
 }
 .mobile-hero-slide.is-outgoing {opacity:1;z-index:1;}
 .mobile-hero-slide.is-current {opacity:1;z-index:2;}
 .mobile-hero-slide img {width:100%;height:100%;max-width:none;object-fit:cover;}
 .mobile-hero-slide[data-photo="setting-sun"] img {object-position:60% center;}
 .mobile-hero-slide[data-photo="sailboat"] {height:calc(100% - 160px);}
 .mobile-hero-slide[data-photo="sailboat"] img {object-position:50% center;}
 .mobile-hero-slide[data-photo="purple-marina"] {height:calc(100% - 200px);}
 /* Scene 3 display grade only: the authentic photo and its framing stay intact. */
 .mobile-hero-slide[data-photo="purple-marina"] {isolation:isolate;}
 .mobile-hero-slide[data-photo="purple-marina"] img {object-position:50% center;filter:saturate(1.22) contrast(1.06);}
 .mobile-hero-slide[data-photo="purple-marina"]::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(61,35,137,.36),rgba(86,37,134,.20) 26%,rgba(105,55,130,.08) 46%,transparent 65%);
  mix-blend-mode:color;
 }
 .mobile-hero-slide[data-photo="daytime-pool"] {height:calc(100% - 240px);}
 .mobile-hero-slide[data-photo="daytime-pool"] img {object-position:42% center;}
 .hero > .hero-scene #hero-title {font-size:clamp(2.875rem,13vw,3.65rem);}
 .hero .hero-copy {text-shadow:0 2px 8px rgba(8,15,33,.52);}
 .hero .eyebrow {color:#fff;}
 .hero .hero-summary {color:#fff;}
 .hero .hero-facts {gap:.5rem;}
 .hero .hero-facts :is(.fact-button,.fact-static) {
  font-size:.84rem;
  background:rgba(8,26,35,.30);
  border-color:rgba(255,255,255,.65);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
 }
 .hero-booking-backdrop {margin-top:-96px;}
 .hero-rotation-controls {
  display:flex;
  position:absolute;
  z-index:3;
  right:1rem;bottom:104px;
  gap:0;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(8,26,35,.18);
 }
 .hero-rotation-controls button {
  display:grid;place-items:center;
  width:44px;height:44px;
  font-size:16px;
  border:0;border-radius:999px;
  color:inherit;background:transparent;
  cursor:pointer;
 }
 .hero-rotation-controls [data-hero-scene] span {width:3px;height:3px;background:currentColor;opacity:.55;border-radius:50%;}
 .hero-rotation-controls [aria-pressed="true"][data-hero-scene] span {width:5px;height:5px;opacity:1;box-shadow:0 0 0 2px rgba(255,255,255,.12);}
 .hero-rotation-controls [data-hero-pause] span {font-size:13px;opacity:.85;}
 .hero-rotation-controls button:focus-visible {outline:3px solid white;outline-offset:2px;}
 .hero #savings-calculator {
  --sd-ink:#082f3a;
  --sd-ink-soft:#213d46;
  --sd-line:rgba(8,47,58,.17);
  background:#fffdf9;
  border:1px solid rgba(255,255,255,.78);
  border-radius:1.3rem;
  box-shadow:0 18px 44px rgba(8,26,35,.18),inset 0 1px 0 rgba(255,255,255,.72);
 }
 .hero #savings-calculator :is(.savings-top,.savings-result) {background:transparent;}
 .hero #savings-calculator .savings-eyebrow {color:#083b46;}
 .hero #savings-calculator :is(input,select,#savings-dates) {background:#fff;}
 .hero #savings-calculator .savings-market-link {background:rgba(255,255,255,.94);}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .hero #savings-calculator {
   background:linear-gradient(135deg,rgba(255,253,249,.80),rgba(255,253,249,.68));
   -webkit-backdrop-filter:blur(10px);
   backdrop-filter:blur(10px);
  }
 }
 @media (prefers-reduced-motion:reduce) {.mobile-hero-slide {transition:none;}}
 @media (prefers-reduced-transparency:reduce) {
  .hero #savings-calculator {background:#fffdf9;-webkit-backdrop-filter:none;backdrop-filter:none;}
 }
 @media (forced-colors:active) {
  .hero #savings-calculator {background:Canvas;color:CanvasText;border-color:CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .hero-rotation-controls {background:Canvas;color:CanvasText;border-color:CanvasText;}
  .hero-rotation-controls button {border:1px solid ButtonText;}
 }
}
