
/* =========================================================
   OLIVE LIVING — BRAND + 3D NEIGHBOURHOOD + FACILITIES
   Additive enhancement layer
   ========================================================= */

/* Brand palette from the supplied Olive Living logo */
:root{
  --bg:#14180D;
  --bg-soft:#1B2113;
  --charcoal:#F3EFE4;
  --olive:#A8A653;
  --olive-soft:rgba(168,166,83,.16);
  --gold:#C7AD69;
  --deep-green:#1F2414;
  --text:#F3EFE4;
  --text-soft:#A9A38B;
  --line:rgba(229,222,195,.12);
  --card:#1A2012;
  color-scheme:dark;
}
[data-theme="dark"]{
  --bg:#11150B;
  --bg-soft:#181D10;
  --charcoal:#F5F0E5;
  --olive:#B5B05C;
  --olive-soft:rgba(181,176,92,.16);
  --gold:#D3BA74;
  --deep-green:#1B2112;
  --text:#F5F0E5;
  --text-soft:#AAA58E;
  --line:rgba(245,240,229,.11);
  --card:#171C10;
  color-scheme:dark;
}

/* Use the supplied logo precisely in the existing brand slots */
.brand-mark{
  width:42px!important;
  height:42px!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.foot-logo{
  width:190px!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
}

/* ---------------------------------------------------------
   Shared-room composition: fill the empty left/right space
   --------------------------------------------------------- */
.room-scroller.room-feature-layout{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);
  gap:22px;
  align-items:stretch;
}
.room-side-card{
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(34,40,21,.94),rgba(22,27,15,.94));
  border-radius:22px;
  padding:26px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.room-side-card::before{
  content:"";
  position:absolute;
  width:130px;height:130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(181,176,92,.13),transparent 70%);
  top:-55px;right:-55px;
}
.room-side-kicker{
  color:var(--gold);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.room-side-card h3{
  color:var(--text);
  font-size:21px;
  margin-bottom:16px;
}
.room-side-card p{
  color:var(--text-soft);
  font-size:13px;
  line-height:1.65;
}
.room-checks{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.room-check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:12.5px;
  color:var(--text-soft);
}
.room-check i{
  width:18px;height:18px;
  flex:0 0 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--olive-soft);
  color:var(--olive);
  font-style:normal;
  font-size:10px;
}
.room-side-stat{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:var(--text-soft);
  font-size:11px;
}
.room-side-stat strong{
  display:block;
  color:var(--gold);
  font-family:var(--serif);
  font-size:20px;
  margin-bottom:2px;
}

/* ---------------------------------------------------------
   Premium facility belt
   --------------------------------------------------------- */
.facility-belt{
  margin-top:46px;
  border:1px solid rgba(199,173,105,.24);
  border-radius:24px;
  background:
    linear-gradient(120deg,rgba(31,36,20,.96),rgba(20,24,13,.98));
  padding:22px 0 24px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.16);
  position:relative;
}
.facility-belt::before,
.facility-belt::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:100px;
  z-index:3;
  pointer-events:none;
}
.facility-belt::before{
  left:0;
  background:linear-gradient(90deg,var(--bg-soft),transparent);
}
.facility-belt::after{
  right:0;
  background:linear-gradient(270deg,var(--bg-soft),transparent);
}
.facility-heading{
  text-align:center;
  color:var(--gold);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:17px;
}
.facility-heading::before,
.facility-heading::after{
  content:"";
  display:inline-block;
  width:46px;
  height:1px;
  background:rgba(199,173,105,.45);
  vertical-align:middle;
  margin:0 12px;
}
.facility-viewport{
  overflow:hidden;
  width:100%;
}
.facility-track{
  display:flex;
  width:max-content;
  gap:12px;
  animation:oliveFacilityMarquee 34s linear infinite;
  will-change:transform;
}
.facility-belt:hover .facility-track{
  animation-play-state:paused;
}
.facility-card{
  width:158px;
  flex:0 0 158px;
  border:1px solid rgba(199,173,105,.22);
  border-radius:15px;
  overflow:hidden;
  background:#1B2112;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.facility-card img{
  width:100%;
  height:105px;
  object-fit:cover;
  display:block;
}
.facility-card span{
  display:block;
  padding:9px 10px 10px;
  color:#F2EBDD;
  text-align:center;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}
@keyframes oliveFacilityMarquee{
  from{transform:translateX(-50%);}
  to{transform:translateX(0);}
}




/* =========================================================
   RESPONSIVE HARDENING
   Mobile + tablet + desktop stability
   ========================================================= */

html{width:100%; overflow-x:hidden;}
body{width:100%; min-width:0; overflow-x:hidden;}
.wrap{width:100%;}

.mobile-menu{display:none;}

.burger{
  appearance:none;
  border:1px solid var(--line);
  background:var(--card);
  color:var(--text);
  width:42px;
  height:42px;
  padding:0;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  flex:0 0 auto;
}
.burger span{
  display:block;
  width:18px;
  height:1.5px;
  border-radius:2px;
  background:currentColor;
  transition:transform .25s ease, opacity .2s ease;
}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

@media (max-width:1100px){
  nav{width:min(1180px,94%); gap:16px; padding-left:20px;}
  .navlinks{gap:20px; font-size:13px;}
  .navcta .btn{padding:10px 17px;}
  .room-scroller{gap:18px;}
  .room-body{padding:22px;}
  .xcard{padding:30px 24px;}
}

@media (max-width:980px){
  header{top:12px;}
  nav{
    position:relative;
    width:calc(100% - 24px);
    min-height:66px;
    padding:10px 12px 10px 18px;
    border-radius:20px;
  }
  nav .navlinks{display:none;}
  nav .navcta{margin-left:auto;}
  nav .navcta .btn{display:none;}
  .burger{display:flex;}

  .mobile-menu{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--card);
    box-shadow:0 24px 55px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .mobile-menu.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .mobile-menu a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 14px;
    border-radius:12px;
    color:var(--text);
    font-size:14px;
    font-weight:600;
  }
  .mobile-menu a:hover{background:var(--olive-soft);}
  .mobile-menu .mobile-book{
    justify-content:center;
    margin-top:4px;
  }

  .hero{min-height:100svh; min-height:100vh; padding-bottom:76px;}
  .hero h1{font-size:clamp(44px,8vw,82px); max-width:13ch;}
  .hero-sub{font-size:16px; max-width:560px;}
  .hero-scroll{right:20px; bottom:24px;}

  .quickbar{border-radius:18px;}
  .qb-field{min-width:0; flex:1 1 45%; border-bottom:1px solid var(--line);}
  .qb-field:nth-of-type(2){border-right:none;}
  .quickbar .btn{flex:1 1 100%; justify-content:center; margin:8px;}

  .loc-wrap,.contact-wrap{grid-template-columns:1fr; gap:32px;}
  .map-card{height:min(58vw,420px); min-height:300px;}
  .dist-grid{grid-template-columns:repeat(2,minmax(0,1fr));}

  .feat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .foot-top{grid-template-columns:repeat(2,minmax(0,1fr));}
  .masonry{columns:2 180px;}
}

@media (max-width:720px){
  .wrap{padding-left:18px; padding-right:18px;}
  section{padding:82px 0;}

  nav{
    width:calc(100% - 20px);
    padding-left:14px;
    padding-right:10px;
  }
  .brand{font-size:18px; gap:7px;}
  .brand-mark{width:36px!important;height:36px!important;}
  .theme-toggle{width:36px;height:36px;}

  .hero{padding-bottom:64px;}
  .hero-inner{padding-right:18px;}
  .hero-tag{font-size:10.5px; letter-spacing:.16em; margin-bottom:18px;}
  .hero-tag::before{width:16px;}
  .hero h1{font-size:clamp(38px,11.5vw,60px); line-height:1.02; max-width:12ch;}
  .hero-sub{margin-top:20px; font-size:15px; line-height:1.55;}
  .hero-actions{gap:10px; margin-top:28px;}
  .hero-actions .btn{width:100%; justify-content:center; padding:14px 22px;}
  .hero-scroll{display:none;}

  .quickbar-wrap{margin-top:-30px;}
  .quickbar{padding:6px; display:grid; grid-template-columns:1fr 1fr;}
  .qb-field{grid-column:auto; width:100%; padding:12px 12px; border-right:1px solid var(--line);}
  .qb-field:nth-of-type(even){border-right:none;}
  .qb-field:nth-of-type(n+3){border-bottom:none;}
  .qb-field label{font-size:9px;}
  .qb-field .val,.qb-field input[type="date"]{font-size:13px;}
  .quickbar .btn{grid-column:1/-1; width:auto; margin:6px 2px 2px; padding:13px 18px;}

  .section-head{margin-bottom:38px;}
  .section-head h2{font-size:clamp(30px,9vw,42px); margin-top:15px;}
  .section-head p{font-size:15px; line-height:1.6;}

  .grid-3,.grid-4,.room-scroller,.loc-wrap,.contact-wrap,.foot-top{grid-template-columns:1fr;}
  .xcard{padding:28px 22px;}
  .room-media{height:58vw; min-height:220px; max-height:300px;}
  .room-body{padding:22px 20px;}
  .room-foot{gap:12px; align-items:flex-start;}
  .room-foot .btn{padding:11px 16px; font-size:12px;}

  .masonry{columns:1;}
  .masonry .ph:nth-child(n){height:260px;}
  .map-card{height:300px; min-height:0;}
  .dist-grid{grid-template-columns:1fr;}
  .dist-card.big{padding:20px;}
  .dist-card.big .dist-left{gap:12px;}
  .dist-card.big span.dist-name{font-size:16px;}
  .dist-card.big b{font-size:22px;}

  .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .feat-tile{padding:22px 10px 20px; min-width:0;}
  .feat-tile h5{font-size:12px;}

  .contact-info,.contact-form{padding:38px 22px;}
  .contact-line{font-size:13.5px; overflow-wrap:anywhere;}
  .row-2{grid-template-columns:1fr;}

  .wa-band{padding:42px 24px; border-radius:24px; gap:26px;}
  .wa-band-left{align-items:flex-start; gap:16px;}
  .wa-icon-lg{width:52px;height:52px;}
  .wa-icon-lg svg{width:26px;height:26px;}
  .wa-band .btn{width:100%; justify-content:center;}

  footer{padding:64px 0 30px;}
  .foot-top{gap:30px; padding-bottom:42px;}
  .foot-bottom{align-items:flex-start; flex-direction:column;}
  .fab-wa{width:52px;height:52px;right:16px;bottom:16px;}
  .fab-wa svg{width:25px;height:25px;}
}

@media (max-width:420px){
  .wrap{padding-left:15px;padding-right:15px;}
  nav{width:calc(100% - 14px);}
  .brand{font-size:17px;}
  .brand-mark{width:34px!important;height:34px!important;}
  .hero h1{font-size:clamp(36px,11.5vw,50px);}
  .hero-sub{font-size:14px;}
  .eyebrow{font-size:10px;letter-spacing:.16em;}
  .quickbar{grid-template-columns:1fr;}
  .qb-field,.qb-field:nth-of-type(even){border-right:none;border-bottom:1px solid var(--line);}
  .qb-field:nth-of-type(n+3){border-bottom:1px solid var(--line);}
  .quickbar .btn{grid-column:1;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .room-feat span{font-size:10.5px;padding:5px 9px;}
  .dist-card{padding:14px;}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu,.burger span{transition:none;}
}

/* =========================================================
   OLIVE LIVING — MOBILE VISUAL REFINEMENT
   Desktop (>980px) intentionally unchanged.
   ========================================================= */
.mobile-top-actions{display:none;}

@media (max-width:980px){
  header{top:12px;width:100%;flex-direction:column;align-items:center;}
  nav{order:1;}
  .mobile-top-actions{
    order:2;position:relative;left:auto;top:auto;transform:none;
    width:calc(100% - 24px);max-width:760px;margin-top:8px;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;z-index:2;
  }
  .mobile-top-action{
    min-width:0;min-height:46px;padding:7px 9px;display:flex;align-items:center;justify-content:center;gap:8px;
    color:var(--text);text-decoration:none;background:linear-gradient(145deg,rgba(31,36,20,.96),rgba(18,22,12,.96));
    border:1px solid rgba(199,173,105,.28);border-radius:15px;box-shadow:0 8px 22px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.03);
    backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);
    transition:transform .2s ease,border-color .2s ease,background .2s ease;
  }
  .mobile-top-action:active{transform:scale(.97);}
  .mobile-top-action:hover{border-color:rgba(199,173,105,.55);}
  .mobile-action-icon{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,rgba(199,173,105,.28),rgba(199,173,105,.12));color:var(--gold);font-size:14px;line-height:1;box-shadow:inset 0 0 0 1px rgba(199,173,105,.16);}
  .mobile-call .mobile-action-icon{font-size:15px;}
  .mobile-location .mobile-action-icon{font-size:17px;}
  .mobile-action-copy{min-width:0;display:flex;flex-direction:column;line-height:1.05;text-align:left;}
  .mobile-action-copy strong,.mobile-action-label{color:var(--text);font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap;}
  .mobile-action-copy small{margin-top:3px;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.01em;white-space:nowrap;}
  .mobile-whatsapp .mobile-action-icon{color:#25D366;background:rgba(37,211,102,.12);}

  nav{width:calc(100% - 20px);min-height:64px;padding:9px 10px 9px 14px;border-radius:22px;box-shadow:0 14px 36px rgba(0,0,0,.16);}
  .brand{font-size:18px;gap:8px;min-width:0;}
  .brand-mark{width:38px!important;height:38px!important;border-radius:11px;}
  .burger{width:44px;height:44px;border-radius:14px;}
  section[id]{scroll-margin-top:145px;}

  .room-scroller.room-feature-layout{grid-template-columns:1fr;gap:16px;}
  .room-side-card,.room-card{width:100%;}
  .room-side-card{min-height:0;padding:26px 22px;}
  .room-media{height:56vw;min-height:220px;max-height:330px;}
  .room-body{padding:22px;}
  .room-feat{display:flex;flex-wrap:wrap;gap:8px;}
  .room-foot{margin-top:24px;align-items:flex-end;}

  .facility-belt{margin-top:34px;padding:20px 0 22px;border-radius:22px;}
  .facility-belt::before,.facility-belt::after{width:28px;}
  .facility-viewport{
    overflow:hidden;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 18px 4px;
  }
  .facility-viewport::-webkit-scrollbar{display:none;}
  .facility-track{animation:oliveFacilityMarquee 28s linear infinite;gap:12px;}
  .facility-belt:hover .facility-track{animation-play-state:paused;}
  .facility-card{width:min(72vw,280px);flex-basis:min(72vw,280px);border-radius:17px;}
  .facility-card img{height:min(42vw,150px);}
  .facility-card span{padding:11px 10px 12px;font-size:12px;}

  .section-head{margin-bottom:34px;}
  .section-head h2{line-height:1.08;}
  .section-head p{font-size:14.5px;}
  .dist-grid{gap:12px;}
  .dist-card.big{padding:18px;min-height:118px;}
  .dist-card.big b{font-size:24px;}
  .feat-grid{gap:0;overflow:hidden;border-radius:22px;}
  .feat-tile{min-height:138px;padding:24px 10px 20px;}
  .feat-tile h5{font-size:12px;line-height:1.35;}
  .map-card{border-radius:22px;overflow:hidden;}
}

@media (max-width:520px){
  .mobile-top-actions{width:calc(100% - 18px);gap:6px;}
  .mobile-top-action{min-height:44px;padding:6px 5px;border-radius:13px;gap:5px;}
  .mobile-action-icon{width:23px;height:23px;flex-basis:23px;font-size:13px;}
  .mobile-action-copy strong,.mobile-action-label{font-size:9px;}
  .mobile-action-copy small{font-size:7.5px;}
  .brand{font-size:17px;}
  .brand-mark{width:36px!important;height:36px!important;}
  .wrap{padding-left:15px;padding-right:15px;}
  section{padding:74px 0;}
  .hero{padding-bottom:56px;}
  .hero h1{font-size:clamp(36px,11.5vw,52px);line-height:1.01;}
  .hero-sub{font-size:14px;line-height:1.58;}
  .room-side-card{padding:24px 20px;border-radius:20px;}
  .room-side-card h3{font-size:22px;}
  .room-check{font-size:12px;}
  .room-card{border-radius:20px;}
  .room-media{height:62vw;min-height:210px;}
  .room-body{padding:20px;}
  .room-body h3{font-size:25px;}
  .room-foot{flex-direction:column;align-items:flex-start;}
  .room-foot .btn{width:100%;justify-content:center;}
  .facility-heading{font-size:10px;letter-spacing:.18em;}
  .facility-heading::before,.facility-heading::after{width:28px;margin:0 8px;}
  .dist-card.big{min-height:108px;padding:16px;}
  .dist-card.big .dist-left{gap:10px;}
  .dist-card.big span.dist-name{font-size:15px;}
  .dist-card.big b{font-size:22px;}
  .feat-tile{min-height:128px;padding:20px 8px 18px;}
  .feat-tile h5{font-size:11px;}
  .fab-wa{width:54px;height:54px;right:14px;bottom:14px;}
}

@media (max-width:380px){
  .mobile-action-copy small{display:none;}
  .mobile-action-copy strong,.mobile-action-label{font-size:8.5px;}
  .mobile-top-action{padding-left:4px;padding-right:4px;}
  .mobile-top-actions{gap:4px;}
}


/* =========================================================
   OLIVE LIVING — FINAL MOBILE REFINEMENTS
   ========================================================= */
.hero-call-info{margin-top:24px;}
.hero-call-info a{display:inline-flex;align-items:center;gap:9px;color:rgba(251,247,239,.82);font-size:13px;font-weight:500;letter-spacing:.01em;}
.hero-call-info a:hover{color:var(--olive);}
.hero-call-info strong{color:#FBF7EF;font-weight:700;}
.hero-call-icon{width:26px;height:26px;border:1px solid rgba(199,173,105,.42);border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(199,173,105,.10);flex:0 0 26px;}
.hero-call-icon svg{width:14px;height:14px;}
.fab-call{position:fixed;right:28px;bottom:98px;z-index:800;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--olive);color:#181818;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 0 7px rgba(183,201,122,.10);transition:transform .2s ease,box-shadow .2s ease;}
.fab-call:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.30),0 0 0 9px rgba(183,201,122,.12);}
.fab-call svg{width:24px;height:24px;}
/* The four contextual location cards are always a clean 2×2 block. */
.dist-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.dist-card.local-dist{grid-column:auto;}

@media (max-width:980px){
  .mobile-top-actions{margin-top:7px;}
  .mobile-top-action{min-height:44px;}
  .mobile-action-copy small{display:none;}
  .mobile-action-label{font-size:10px;font-weight:800;letter-spacing:.05em;}
  .mobile-action-icon{width:28px;height:28px;flex-basis:28px;}
  .mobile-top-action{gap:8px;}
}

@media (max-width:720px){
  .hero-call-info{margin-top:22px;}
  .hero-call-info a{font-size:12px;gap:7px;}
  .hero-call-icon{width:24px;height:24px;flex-basis:24px;}
  .hero-call-icon svg{width:13px;height:13px;}
  .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  /* Shorter, tighter standard-feature tiles on mobile only. */
  .feat-tile{min-height:102px;padding:14px 8px 13px;gap:8px;}
  .feat-tile .feat-icon{width:25px;height:25px;}
  .feat-tile.highlight .feat-icon{width:25px;height:25px;padding:6px;}
  .feat-tile h5{font-size:10.5px;line-height:1.25;}
  .feat-tile.highlight::after{top:6px;right:7px;font-size:7px;padding:3px 6px;}
  .dist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .dist-card.local-dist{min-height:86px;padding:14px 13px;gap:4px;}
  .dist-card.local-dist span{font-size:10.5px;}
  .dist-card.local-dist b{font-size:17px;}
  .fab-call{width:50px;height:50px;right:14px;bottom:82px;}
  .fab-call svg{width:23px;height:23px;}
  .fab-wa{right:14px;bottom:14px;}
}

@media (max-width:420px){
  .mobile-top-actions{width:calc(100% - 18px);}
  .mobile-top-action{padding:6px 8px;gap:6px;}
  .mobile-action-icon{width:25px;height:25px;flex-basis:25px;}
  .mobile-action-label{font-size:9px;}
  .dist-card.local-dist{min-height:82px;padding:12px 11px;}
  .dist-card.local-dist span{font-size:10px;}
  .dist-card.local-dist b{font-size:16px;}
}

/* =========================================================
   OLIVE LIVING — CONTACT / CALL INFO POLISH
   Final pass: fixes desktop + mobile contact presentation.
   ========================================================= */
.hero-call-info a{
  font-family:var(--sans);
  font-size:16px;
  font-weight:700;
  letter-spacing:.005em;
  color:rgba(251,247,239,.94);
  line-height:1.35;
}
.hero-call-info a strong{
  font-weight:800;
  color:#FBF7EF;
}
.hero-call-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
}
.hero-call-icon svg{width:15px;height:15px;}

/* Contact card: keep both columns visually balanced and remove the empty-looking wall. */
.contact-wrap.contact-no-form{
  align-items:stretch;
  background:var(--card);
}
.contact-wrap.contact-no-form .contact-info{
  background:linear-gradient(145deg,#1D2414,#151A0E);
  color:var(--text);
  padding:52px 50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-wrap.contact-no-form .contact-info h2{
  color:var(--text)!important;
  font-size:clamp(34px,3.2vw,46px);
  margin-top:16px!important;
}
.contact-wrap.contact-no-form .contact-info p{
  color:var(--text-soft);
  max-width:430px;
  font-size:15px;
  line-height:1.7;
  margin-top:16px;
}
.contact-wrap.contact-no-form .contact-line{
  color:var(--text);
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  font-size:14px;
}
.contact-wrap.contact-no-form .contact-line:first-of-type{margin-top:28px;}
.contact-wrap.contact-no-form .contact-line .ico{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(199,173,105,.28);
  background:rgba(199,173,105,.07);
  color:var(--gold);
}
.contact-book-options{
  background:linear-gradient(145deg,#171D10,#11160B);
  padding:52px 50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  border-left:1px solid var(--line);
}
.book-option-copy{max-width:610px;}
.book-option-kicker{
  display:block;
  color:var(--gold);
  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.book-option-copy h3{
  color:var(--text);
  font-size:clamp(27px,2.4vw,38px);
  margin:0;
}
.book-option-copy p{
  color:var(--text-soft);
  font-size:14px;
  line-height:1.7;
  margin-top:12px;
  max-width:560px;
}
.book-option-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.book-option-actions .btn{
  min-height:54px;
  justify-content:center;
  padding:14px 24px;
  font-size:13px;
}

@media (max-width:720px){
  .hero-call-info{margin-top:22px;}
  .hero-call-info a{
    font-size:15px;
    font-weight:750;
    gap:8px;
  }
  .hero-call-icon{width:28px;height:28px;flex-basis:28px;}
  .hero-call-icon svg{width:14px;height:14px;}

  .contact-wrap.contact-no-form{
    border-radius:22px;
    overflow:hidden;
  }
  .contact-wrap.contact-no-form .contact-info{
    padding:32px 22px 28px;
  }
  .contact-wrap.contact-no-form .contact-info h2{
    font-size:34px;
    line-height:1.08;
  }
  .contact-wrap.contact-no-form .contact-info p{
    font-size:14px;
    line-height:1.65;
  }
  .contact-wrap.contact-no-form .contact-line{
    margin-top:14px;
    font-size:13px;
  }
  .contact-wrap.contact-no-form .contact-line:first-of-type{margin-top:22px;}
  .contact-wrap.contact-no-form .contact-line .ico{
    width:34px;height:34px;flex-basis:34px;
  }
  .contact-book-options{
    border-left:0;
    border-top:1px solid var(--line);
    padding:30px 22px 32px;
    min-height:0;
  }
  .book-option-kicker{font-size:9.5px;letter-spacing:.14em;}
  .book-option-copy h3{font-size:27px;line-height:1.12;}
  .book-option-copy p{font-size:13.5px;line-height:1.6;}
  .book-option-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px;}
  .book-option-actions .btn{width:100%;min-height:50px;font-size:12.5px;}
}


/* =========================================================
   PREMIUM FACILITIES — FINAL IMAGE + CENTERING PASS
   Generated high-resolution assets use the original filenames.
   ========================================================= */
.facility-belt{
  padding:24px 0 28px;
}
.facility-viewport{
  position:relative;
  padding:0 18px;
}
.facility-track{
  gap:16px;
  padding-inline:18px;
  animation:oliveFacilityMarquee 38s linear infinite;
}
.facility-card{
  width:190px;
  flex-basis:190px;
  border-radius:16px;
}
.facility-card img{
  width:100%;
  height:126px;
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
}
.facility-card span{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 10px 11px;
}
@keyframes oliveFacilityMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 8px));}
}
@media (max-width:720px){
  .facility-belt{
    margin-top:34px;
    padding:20px 0 22px;
    border-radius:20px;
  }
  .facility-viewport{
    padding:0 10px;
  }
  .facility-track{
    gap:12px;
    padding-inline:12px;
    animation-duration:32s;
  }
  .facility-card{
    width:min(72vw,250px);
    flex-basis:min(72vw,250px);
    border-radius:16px;
  }
  .facility-card img{
    height:min(46vw,155px);
    min-height:128px;
  }
  .facility-card span{
    min-height:44px;
    font-size:12px;
    padding:11px 12px 12px;
  }
}
@media (prefers-reduced-motion:reduce){
  .facility-track{animation:none;transform:none;}
}
