/* ============================================================
   MAINE STAYS — rebrand layer over the cloned REMUX styles.
   Loaded AFTER styles.css; overrides only what differs.
   Light editorial body + dark cinematic teal bands · teal-led.
   ============================================================ */
:root{
  --teal:#0e9aa7; --teal-deep:#0b7f8a; --teal-glow:#2bd4d4; --gold:#c8a96e;
  --ink-deep:#0f1419;
  --font-ui:'Poppins',sans-serif;
  --font-head:'Playfair Display',Georgia,'Times New Roman',serif;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* fonts: big display = serif; nav/kickers/buttons/labels stay Poppins, body Barlow */
.display,.hero-title{font-family:var(--font-head);font-weight:600;letter-spacing:-.01em;}
.nav-brand{font-family:var(--font-head);font-weight:600;font-size:1.3rem;letter-spacing:.01em;}
.proof-num{font-family:var(--font-ui);}            /* stats stay sans + tabular */

/* accent: teal-led */
::selection{background:var(--teal);color:#fff;}
:focus-visible{outline:2px solid var(--teal);}
.btn-pill{background:var(--teal);color:#fff;}
.btn-pill:hover{box-shadow:0 14px 30px -12px rgba(14,154,167,.55);}
.btn-pill-light{background:#fff;color:var(--ink);}
.btn-pill-light:hover{box-shadow:0 14px 30px -12px rgba(255,255,255,.4);}
.kicker{color:var(--teal);}
.kicker.on-dark{color:var(--teal-glow);}
.service-link{color:var(--teal);}
.faq-list summary::after{color:var(--teal);}
.faq-sub a,.quote-phone a{color:var(--teal);text-decoration-color:var(--teal);}
.check-points li::before{background:var(--teal);}
.check-points--dark li::before{background:var(--teal-glow);}
.fleet-badge{background:var(--teal);color:#fff;}
.fleet-card--popular{background:var(--ink-deep);}
.fleet-card--popular .fleet-badge{background:var(--teal);}

/* nav: white over the dark hero, frosted-light once scrolled past */
.nav-mark{width:26px;height:24px;flex:none;}
.nav--scrolled{background:rgba(244,243,240,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(22,24,26,.06);}

/* ---- static image hero (video-ready: swap .hero-media img for a <video> later) ---- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#0a0c10;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,19,.92),rgba(10,15,19,.72) 36%,rgba(10,15,19,.3) 62%,rgba(10,15,19,.08) 100%);}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1760px;margin:0 auto;padding:7rem var(--pad-x) 5rem;}
.hero-eyebrow{display:inline-block;font-family:var(--font-ui);font-weight:600;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-glow);}
.hero-title{color:#fff;font-size:clamp(2.6rem,6vw,5rem);line-height:1.04;margin-top:1.1rem;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.hero-sub{margin-top:1.4rem;max-width:34rem;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55;}
.hero-cta{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;}
.hero-cta .btn-pill{font-size:.92rem;padding:.95rem 1.7rem;}

/* homes: 2-up property cards + spec line */
.homes .service-cards{grid-template-columns:repeat(2,1fr);}
.service-spec{font-family:var(--font-ui);font-weight:600;font-size:.8rem;letter-spacing:.02em;color:var(--teal);margin-top:.35rem;}
.quote-card select{background:var(--fog);border:1px solid transparent;border-radius:.8rem;padding:.8rem 1rem;color:var(--ink);font-family:var(--font-body);font-size:.95rem;transition:border-color .25s,background .25s;}
.quote-card select:focus{outline:none;border-color:var(--teal);background:#fff;}

@media (max-width:1023px){ .homes .service-cards{grid-template-columns:1fr 1fr;} }
@media (max-width:767px){
  .hero{align-items:flex-start;}
  .hero-inner{padding-top:6.5rem;}
  .hero-scrim{background:linear-gradient(180deg,rgba(10,15,19,.82),rgba(10,15,19,.3) 42%,rgba(10,15,19,.72) 100%);}
  .hero-title{font-size:clamp(2.3rem,9vw,3rem);}
  .homes .service-cards{grid-template-columns:1fr;}
}

/* ================= v2 homepage additions ================= */
.hero-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;will-change:opacity;}
.hero-slide.is-active{opacity:1;}
@media (max-width:767px){ .hero-slide:first-child{background-image:url('../images/hero-living-mobile.webp?v=2026-06-20c')!important;} }

.trust{background:var(--white);border-bottom:1px solid rgba(22,24,26,.06);padding:2.2rem 0;}
.trust-label{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.06em;color:var(--ink-60);text-align:center;text-transform:uppercase;}
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2.2rem;margin-top:1.1rem;}
.trust-row span{font-family:var(--font-ui);font-weight:600;font-size:.95rem;color:var(--ink);opacity:.5;transition:opacity .2s;}
.trust-row span:hover{opacity:1;}
.industry-chips span a{color:inherit;text-decoration:none;}

.bookdirect{position:relative;overflow:hidden;padding:clamp(4.5rem,11vh,7.5rem) 0;background:var(--ink-deep);}
.bookdirect .band-bg::after{background:linear-gradient(110deg,rgba(13,18,22,.95) 0%,rgba(13,18,22,.72) 52%,rgba(11,127,138,.5) 100%);}
.bookdirect::before{content:"";position:absolute;width:560px;height:560px;right:-130px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(43,212,212,.22),transparent 70%);pointer-events:none;}
.bookdirect .split-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.bookdirect .split-img{border-radius:var(--radius-card);overflow:hidden;box-shadow:0 30px 70px -25px rgba(0,0,0,.7),0 0 0 1px rgba(43,212,212,.18);}
.bookdirect .split-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
@media (max-width:1023px){ .bookdirect .split-grid{grid-template-columns:1fr;} }

.reviews{background:var(--fog-deep);}
.reviews-track{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:clamp(2rem,4vh,3rem);}
.review-card{background:var(--white);border-radius:var(--radius-card);padding:1.6rem 1.5rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.85rem;}
.review-stars{color:var(--gold);letter-spacing:.12em;font-size:.95rem;}
.review-card blockquote{font-size:.95rem;line-height:1.6;color:var(--ink);}
.review-card figcaption{display:flex;flex-direction:column;gap:.15rem;margin-top:auto;}
.review-name{font-family:var(--font-ui);font-weight:600;font-size:.95rem;}
.review-prop{font-size:.78rem;color:var(--teal);}
@media (max-width:1023px){ .reviews-track{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .reviews-track{grid-template-columns:1fr;} }

.homes .service-cards{max-width:920px;margin-left:auto;margin-right:auto;}

/* ===== per-slide hero captions + scrims ===== */
.hero-slide{overflow:hidden;}
.hero-slide::after{content:"";position:absolute;inset:0;z-index:1;}
.hero-slide.scrim-left::after{background:linear-gradient(90deg,rgba(10,15,19,.92),rgba(10,15,19,.55) 42%,rgba(10,15,19,.12) 72%,transparent);}
.hero-slide.scrim-right::after{background:linear-gradient(270deg,rgba(10,15,19,.92),rgba(10,15,19,.55) 42%,rgba(10,15,19,.12) 72%,transparent);}
.hero-slide.scrim-center::after{background:radial-gradient(130% 120% at 50% 42%,rgba(10,15,19,.42),rgba(10,15,19,.85));}
.hero-cap{position:absolute;z-index:2;display:flex;flex-direction:column;width:min(640px,86%);}
.hero-cap--left{left:var(--pad-x);top:50%;transform:translateY(-50%);align-items:flex-start;text-align:left;}
.hero-cap--right{right:var(--pad-x);top:50%;transform:translateY(-50%);align-items:flex-end;text-align:right;}
.hero-cap--center{left:50%;top:46%;transform:translate(-50%,-50%);align-items:center;text-align:center;width:min(820px,90%);}
.hero-cap--right .hero-sub{margin-left:auto;}
.hero-cap--center .hero-sub{margin-left:auto;margin-right:auto;}
.hero-cap--right .hero-cta{justify-content:flex-end;}
.hero-cap--center .hero-cta{justify-content:center;}

/* ===== lodgify availability search (compact + narrow, centred) ===== */
.lodgify-search{background:var(--fog);padding:clamp(2rem,4.5vh,3.2rem) 0;}
.lodgify-search .section-inner{text-align:center;}
.lodgify-wrap{margin:clamp(1.1rem,2.5vh,1.7rem) auto 0;max-width:680px;background:var(--white);border-radius:16px;box-shadow:var(--shadow-soft);padding:.6rem .65rem;}
#lodgify-search-bar{min-height:54px;}

@media (max-width:767px){
  .hero-cap,.hero-cap--left,.hero-cap--right,.hero-cap--center{left:var(--pad-x);right:var(--pad-x);top:auto;bottom:14vh;transform:none;width:auto;align-items:flex-start;text-align:left;}
  .hero-cap--right .hero-sub,.hero-cap--center .hero-sub{margin-left:0;margin-right:0;}
  .hero-cap--right .hero-cta,.hero-cap--center .hero-cta{justify-content:flex-start;}
  .hero-slide::after{background:linear-gradient(180deg,rgba(10,15,19,.45),rgba(10,15,19,.2) 38%,rgba(10,15,19,.85)) !important;}
}

/* ===== tagline blockquote ===== */
.ms-tagline{background:var(--white);}
.ms-tagline blockquote{max-width:60rem;margin:0 auto;text-align:center;font-family:var(--font-head);font-weight:500;font-style:italic;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.42;color:var(--ink);}
.ms-tagline blockquote::before{content:"";display:block;width:44px;height:3px;background:var(--teal);margin:0 auto 1.4rem;border-radius:2px;}

/* ===== 365 locations ===== */
.ms-locations{background:var(--fog-deep);text-align:center;}
.ms-loc-sub{max-width:46rem;margin:1.1rem auto 0;color:var(--ink-60);line-height:1.55;}
.ms-loc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.8rem;}
.ms-loc-chips a{font-family:var(--font-ui);font-weight:500;font-size:.88rem;color:var(--ink);border:1px solid rgba(22,24,26,.16);border-radius:var(--radius-pill);padding:.5rem 1.05rem;transition:border-color .2s,color .2s;}
.ms-loc-chips a:hover{border-color:var(--teal);color:var(--teal);}
.ms-loc-all{margin-top:1.6rem;}
.ms-loc-all a{font-family:var(--font-ui);font-weight:600;color:var(--teal);}

/* ===================== 18 Jun 2026 — homepage overhaul ===================== */

/* ---- hero: a looping video per slide (desktop only; the still stays as poster + mobile/reduced fallback) ---- */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:0;transition:opacity .7s ease;pointer-events:none;}
.hero-slide.is-active .hero-video.is-playing{opacity:1;}
/* hero video plays on mobile too now (Jermaine, 2026-06-20) — gated only by reduced-motion */
@media (prefers-reduced-motion:reduce){ .hero-video{display:none!important;} }

/* ---- homes + availability merged (light premium) ---- */
.homes--merged{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(244,243,240,.9),rgba(236,234,229,.94)),url('../images/bg-homes-light.webp') center/cover no-repeat;}
.homes--merged::before{content:"";position:absolute;width:520px;height:520px;right:-150px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(43,212,212,.16),transparent 70%);pointer-events:none;}
.homes--merged .section-inner{position:relative;z-index:1;}
.homes-sub{max-width:46rem;margin-top:1rem;color:var(--ink-60);line-height:1.55;}
.homes-search{margin:clamp(1.5rem,3.5vh,2.4rem) 0 clamp(2.2rem,5vh,3.4rem);}
.homes-search .lodgify-wrap{margin:0 auto;max-width:780px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lift);padding:.6rem .65rem;}

/* Lodgify portable search bar — equal-height controls + a proper teal Search button.
   Targets the real rendered structure (hashed classes; Search is an <a class="primary">). */
#lodgify-search-bar{min-height:56px;}
#lodgify-search-bar #portable-search-bar{align-items:stretch;}
#lodgify-search-bar button{min-height:56px;margin:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;}
#lodgify-search-bar a[class*="primary"]{align-self:stretch;min-height:56px;padding:0 1.6rem;border-radius:12px;background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:600;text-decoration:none;white-space:nowrap;}
#lodgify-search-bar a[class*="primary"]:hover{background:var(--teal-deep);color:#fff;}

/* ---- reviews: dark cinematic teal band + carousel ---- */
.reviews--band{position:relative;overflow:hidden;padding:clamp(4.5rem,11vh,7.5rem) 0;background:var(--ink-deep);}
.reviews--band .band-bg::after{background:linear-gradient(120deg,rgba(13,18,22,.95) 0%,rgba(13,18,22,.8) 55%,rgba(11,127,138,.55) 100%);}
.reviews-carousel{position:relative;margin-top:clamp(2rem,4vh,3rem);}
.reviews-viewport{overflow:hidden;}
.reviews--band .reviews-track{display:flex;grid-template-columns:none;gap:1.25rem;margin-top:0;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform;}
.reviews--band .review-card{flex:0 0 calc((100% - 2 * 1.25rem) / 3);}
.reviews--band .review-prop{color:var(--teal-deep);}
.rev-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.94);color:var(--ink-deep);font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:transform .2s,background .2s;}
.rev-arrow:hover{transform:translateY(-50%) scale(1.07);background:#fff;}
.rev-prev{left:-6px;} .rev-next{right:-6px;}
.rev-arrow[disabled]{opacity:.32;cursor:default;}
.reviews-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.7rem;}
.reviews-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.34);transition:background .2s,transform .2s;}
.reviews-dots button[aria-selected="true"]{background:var(--teal-glow);transform:scale(1.25);}
@media (max-width:1023px){ .reviews--band .review-card{flex-basis:calc((100% - 1.25rem) / 2);} }
@media (max-width:640px){ .reviews--band .review-card{flex-basis:100%;} }
@media (prefers-reduced-motion:reduce){
  .reviews-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .reviews--band .reviews-track{transition:none;}
  .reviews--band .review-card{scroll-snap-align:start;}
  .rev-arrow,.reviews-dots{display:none;}
}
@media (max-width:560px){ .rev-prev{left:0;} .rev-next{right:0;} }

/* ---- guidebook feature (real screenshot in a phone frame) ---- */
.guidebook{background:var(--white);}
.guidebook .split-grid{align-items:center;}
.guidebook-media{display:flex;justify-content:center;}
.phone-frame{position:relative;width:min(300px,78%);aspect-ratio:9 / 19;background:#0f1419;border-radius:38px;padding:11px;box-shadow:0 30px 70px -25px rgba(15,20,25,.55),0 0 0 1px rgba(15,20,25,.08);}
.phone-frame::before{content:"";position:absolute;top:13px;left:50%;transform:translateX(-50%);width:42%;height:19px;background:#0f1419;border-radius:0 0 14px 14px;z-index:2;}
.phone-frame img{width:100%;height:100%;object-fit:cover;border-radius:28px;display:block;}
@media (max-width:1023px){ .guidebook-media{margin-bottom:2rem;} }

/* ===== real logo mark in nav + footer (2026-06-20) — replaces the old drawn SVG ===== */
.nav-brand .nav-logo{height:30px;width:auto;flex:none;display:none;}
.nav--on-video .nav-logo--cream{display:block;}      /* over the dark hero */
.nav--scrolled .nav-logo--colour{display:block;}     /* frosted-light nav */
.footer .nav-logo--colour{display:block;}            /* light footer */
.footer .nav-logo{height:34px;}
@media (max-width:767px){ .nav-brand .nav-logo{height:26px;} }

/* ===== mobile menu (hamburger) — button injected by site.js; works on every assets-v2 page ===== */
.nav-toggle{display:none;}
@media (max-width:1023px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .nav-toggle svg{width:27px;height:27px;}
  .nav .btn-pill{display:none;}   /* declutter the mobile bar — CTAs live in the menu, hero & sticky bar */
  .nav-links{display:flex!important;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:0;right:0;background:rgba(244,243,240,.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 22px 44px -18px rgba(0,0,0,.32);border-top:1px solid rgba(22,24,26,.08);padding:.3rem 0;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .32s ease,opacity .25s ease,visibility .25s;}
  .nav.nav-open .nav-links{max-height:85vh;overflow:auto;opacity:1;visibility:visible;}
  .nav-links a{padding:.95rem var(--pad-x);font-size:1.02rem;color:var(--ink);opacity:1;border-bottom:1px solid rgba(22,24,26,.06);}
  .nav-links .nav-social{padding:.9rem var(--pad-x);justify-content:flex-start;gap:1.1rem;border-bottom:0;}
  .nav-links .nav-social svg{width:22px;height:22px;}
}

/* ── Inside our homes gallery (ms-gallery-v1, 2026-07-01) ── */
.gallery{padding:5.5rem 0 5rem;background:#fff;}
.gallery .section-inner{padding-bottom:0;}
.gallery-sub{color:#5a6772;max-width:560px;margin-top:.9rem;font-size:1.02rem;line-height:1.6;}
.gallery-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:2.4rem max(24px,calc((100vw - 1180px)/2)) .6rem;scrollbar-width:none;}
.gallery-strip::-webkit-scrollbar{display:none;}
.gallery-strip figure{flex:0 0 auto;width:min(420px,78vw);margin:0;scroll-snap-align:start;}
.gallery-strip img{width:100%;height:300px;object-fit:cover;border-radius:16px;display:block;
  box-shadow:0 18px 40px -22px rgba(15,20,25,.35);}
.gallery-strip figcaption{font-size:.82rem;color:#5a6772;margin-top:9px;letter-spacing:.01em;}
@media (max-width:640px){.gallery{padding:4rem 0 3.4rem;}.gallery-strip img{height:230px;}}
