
/* ============================================================
   MOBILE SCROLL-PERFORMANCE FIXES  (added)
   Scoped to mobile/touch only. Desktop (>=881px, mouse) is UNCHANGED.
   Fixes the reported "scroll freezes for a few seconds while taps
   still work" symptom on phones, present on all pages.
   ============================================================ */

/* Touch devices of any width: disable animated scroll so tapping an
   in-page menu link cannot lock finger-scrolling for a second or two. */
@media (hover:none) and (pointer:coarse){
  html{scroll-behavior:auto !important;}
}

@media (max-width:880px){
  /* 1) Same, by screen size (covers the whole mobile layout range). */
  html{scroll-behavior:auto !important;}

  /* 2) Stop the box-shadow pulse on the FIXED contact button on mobile.
        Animated box-shadow is not GPU-composited, so it repaints the
        floating button every frame over moving content = scroll jank.
        The button still shows (static shadow); it just stops pulsing. */
  .contact-hub:not(.open) .hub-toggle{animation:none !important;}

  /* 3) Do not keep the hero slide images pinned as permanent GPU layers
        on mobile (several large images = memory pressure / layer thrash).
        The Ken Burns zoom still runs; the browser just manages the layer. */
  .hslide img{will-change:auto !important;}

  /* 4) Drop the per-frame nav blur on mobile. The bar background is about
        98% opaque, so this looks identical, but it removes the
        backdrop-filter re-blur cost during scroll on tablets/large phones. */
  .nav{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE PERFECTION LAYER  ·  appended last (wins the cascade)
   Anchor offset · iOS scroll-lock · overscroll containment ·
   iOS form-zoom fix · real touch targets · press feedback ·
   reduced-motion · safe-area insets · dynamic-viewport modals.
   Shared by index.html and index_fr.html.
   ═══════════════════════════════════════════════════════════════ */

/* 1 · Anchor links clear the sticky nav (headings no longer hide under the bar) */
html{scroll-padding-top:96px;}
@media (max-width:880px){ html{scroll-padding-top:78px;} }

/* 2 · Scrolling stays inside overlays (no chaining to the page behind) */
.mobile-menu,.modal-box,.cb-modal-box,.port-lightbox,.lb-wrap,.hub-cards{overscroll-behavior:contain;}

/* 3 · Body scroll-lock used by JS · position:fixed pattern works on iOS Safari */
body.scroll-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden;}

/* 3b · Restore sticky nav on mobile. overflow-x:clip contains horizontal overflow
   WITHOUT creating a scroll container; overflow-x:hidden does, which silently
   disables position:sticky on descendants. Browsers without clip fall back to the
   earlier overflow-x:hidden, so they are no worse than before. */
html,body{overflow-x:clip!important;overflow-y:visible!important;}

/* 4 · Dynamic viewport so modal controls never sit under the iOS URL bar */
.modal-box{max-height:90dvh;}
.cb-modal-box{max-height:90dvh;}
.lb-wrap{max-height:88dvh;}
.lb-wrap img{max-height:72dvh;}

/* 5 · iOS auto-zooms a focused field under 16px · pin to 16px on mobile */
@media (max-width:880px){
  .mform input,.mform select,.mform textarea,
  .cb-field input,.cb-field select,.cb-field textarea{font-size:16px;}
}

/* 6 · Real touch-target sizes for carousel / lightbox controls */
@media (hover:none) and (pointer:coarse){
  .hero-nav-btn{width:46px!important;height:46px!important;font-size:22px!important;}
  .lb-prev,.lb-next{width:50px!important;height:50px!important;font-size:24px!important;}
  .lb-close{width:48px!important;height:48px!important;}
  .lb-dot{width:12px!important;height:12px!important;}
  .tdot{width:13px!important;height:13px!important;}
}

/* 7 · Press feedback (global tap-highlight was removed) */
@media (hover:none){
  .nl,.hub-card,.hub-toggle,.flt,.btn-pri,.nav-btn-book,.btn-quote-hero,.btn-cb-hero,
  .nav-phone,.mobile-menu-link,.mob-menu-phone,.lb-prev,.lb-next,.lb-close,.hero-nav-btn,
  .co2,.co-option,.fv2-link,.cb-info-link,.contact-map-link,.btn-book,.btn-quote,.lang{
    transition:opacity .12s ease, background .2s, border-color .2s, color .2s;
  }
  .nl:active,.hub-card:active,.hub-toggle:active,.flt:active,.btn-pri:active,
  .nav-btn-book:active,.btn-quote-hero:active,.btn-cb-hero:active,.nav-phone:active,
  .mobile-menu-link:active,.mob-menu-phone:active,.lb-prev:active,.lb-next:active,
  .lb-close:active,.hero-nav-btn:active,.co2:active,.co-option:active,.fv2-link:active,
  .cb-info-link:active,.contact-map-link:active,.btn-book:active,.btn-quote:active{opacity:.62;}
  .psc-card{transition:transform .15s ease;}
  .psc-card:active img{transform:scale(1.05);}
}

/* 8 · Service-card text stays legible without hover on touch */
@media (hover:none){
  .psc-card .psc-ov{background:linear-gradient(to top,rgba(13,20,25,.92) 30%,rgba(13,20,25,.12) 68%,rgba(13,20,25,.4) 100%);}
}

/* 9 · Respect Reduce Motion (iOS/Android) · stop Ken Burns, sweeps, fades */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.05ms!important;
    scroll-behavior:auto!important;
  }
  .hslide.on img{animation:none!important;transform:none!important;}
  .hero-chapter,.hero-h1,.hero-tagline,.hero-rating,.hero-cta-row{opacity:1!important;animation:none!important;}
}

/* 10 · Trust strip horizontal scroll · snap + swipe hint */
@media (max-width:880px){
  .trust-strip{scroll-snap-type:x proximity;}
  .trust-item{scroll-snap-align:start;}
}

/* 11 · iPhone notch / home-indicator safe areas */
@media (max-width:880px){
  .nav{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important;}
  .contact-hub{right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;}
  .mobile-menu{padding-bottom:max(24px,env(safe-area-inset-bottom))!important;}
}

/* luxe pass v2: pill buttons aligned with project pages */
.hero-cta-row button,.team-about-ctas button,.nav-btn-book,.nav-btn-quote,.btn-book,.btn-quote,.btn-pri,.btn-quote-hero{border-radius:999px!important}

/* unified footer */
footer.lk-foot{padding:26px var(--pad-x) 110px;border-top:1px solid var(--border);font:300 12px/1.9 'Inter',sans-serif;color:var(--muted2,#9a927f);text-align:center}
footer.lk-foot a{color:inherit;text-decoration:none}
footer.lk-foot a:hover{color:var(--gold)}

/* home numbers band + service links + hero frame */
.homestats{display:flex;flex-wrap:wrap;gap:14px;max-width:1200px;margin:0 auto;padding:0 var(--pad-x) 72px}
.homestats .hs{flex:1 1 190px;background:#101E2C;border:1px solid rgba(201,168,100,.14);border-radius:14px;padding:20px 16px;text-align:center}
.homestats .hs b{display:block;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(24px,2.2vw,34px);color:var(--gold);margin-bottom:5px}
.homestats .hs span{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted2,#9a927f)}
.psc-link{position:relative;z-index:3;display:inline-block;margin-top:10px;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.psc-link:hover{color:#D4B87A}@media(max-width:768px){.psc-card .psc-link{padding:9px 0;margin-top:4px}}
.hero-right{margin:18px 18px 18px 0;border-radius:18px}
@media(max-width:880px){.hero-right{margin:0 14px 14px;border-radius:16px}}

/* header CTA fit: right-align the action group and only show the CTA when the row has room */
.nav-actions{justify-self:end}
.nav-bookbtn{margin-left:10px;display:none}
@media(min-width:1500px){.nav-bookbtn{display:inline-flex}}

/* header fit for laptop widths: tighten the row so the action group never leaves the viewport */
.nav-actions{margin-left:auto;justify-self:end}
@media(max-width:1520px){
  .nav-links{gap:18px}
  .nl{padding:6px 7px;letter-spacing:1.4px}
  .nav-phone{padding:10px 14px;letter-spacing:1.2px}
}
@media(max-width:1240px){
  .nav-links{gap:10px}
  .nl{padding:6px 5px;font-size:9.5px;letter-spacing:1.1px}
}

/* header breakpoints: use the mobile drawer until the full desktop row genuinely fits */
@media(max-width:1360px){.nav-hamburger{display:flex!important}.nav-links{display:none!important}}
@media(max-width:1499px){.nav-bookbtn{display:none!important}}
@media(min-width:1500px){.nav-bookbtn{display:inline-flex!important}}

/* the drawer must be usable wherever the hamburger is shown (up to 1360px) */
@media(max-width:1360px){.mobile-menu,.mobile-menu-overlay{display:flex!important}}
@media(max-width:1360px){.mobile-menu{display:flex!important}}
@media(min-width:1361px){.mobile-menu,.mobile-menu-overlay{display:none!important}}

/* ═══ HEADER SPEC v3 · one skin on every page ═══ */
nav.nav,.nav{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;height:82px!important;padding:0 32px!important;background:rgba(13,20,25,.97)!important;gap:0!important}
.nav-logo,.nav-logo-wrap{justify-self:start}
.nav-links,.nav-mid{justify-self:center;display:flex;gap:22px!important}
.nav-actions,.nav-right{justify-self:end;display:flex;align-items:center;gap:10px!important}
.nav-links a,.nl,.nav-mid a{font:500 10px/1 'Inter',sans-serif!important;letter-spacing:2.5px!important;text-transform:uppercase!important;color:var(--muted2,#9a927f)!important;padding:6px 0!important}
.nav-links a:hover,.nl:hover,.nav-mid a:hover,.nav-mid a[aria-current],.nav-links a[aria-current]{color:var(--gold)!important}
.nav-phone,.nav-tel{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid var(--gold)!important;border-radius:999px!important;padding:11px 20px!important;color:var(--gold)!important;font:500 11px/1 'Inter',sans-serif!important;letter-spacing:1.5px!important;background:transparent!important}
.nav-phone svg{display:none!important}
.nav-lang-wrap,.lang{display:flex!important;align-items:stretch!important;gap:0!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:2px!important}
.nav-lang-wrap a,.lang a{display:flex!important;align-items:center!important;padding:8px 11px!important;font:600 10px/1 'Inter',sans-serif!important;letter-spacing:1.5px!important;text-decoration:none!important}
.lang i{width:1px!important;height:auto!important;background:rgba(255,255,255,.12)!important;display:block!important}
.nav-bookbtn,.nav-book{font:600 11px/1 'Inter',sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;border-radius:999px!important;padding:12px 20px!important}
.nav-hamburger{width:44px!important;height:44px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;background:none!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;padding:0 11px!important;cursor:pointer}
.nav-hamburger span{display:block!important;height:1.5px!important;width:100%!important;background:var(--cream)!important;margin:0!important}
@media(max-width:1360px){.nav-links,.nav-mid{display:none!important}}
@media(max-width:880px){nav.nav,.nav{display:flex!important;justify-content:space-between!important;height:70px!important;padding:0 16px!important}.nav-lang-wrap,.lang{display:none!important}}
.dl-lang{display:flex;border:1px solid rgba(255,255,255,.14);border-radius:2px;align-self:flex-start;margin:2vh 0 3vh}
.dl-lang a{padding:9px 14px;font:600 11px/1 'Inter',sans-serif;letter-spacing:1.5px;color:var(--cream);text-decoration:none}
.dl-lang a[aria-current]{color:var(--gold)}
.dl-lang i{width:1px;background:rgba(255,255,255,.14)}

/* mobile scroll performance: cull live blurs and the continuous hero zoom */
@media(max-width:1100px){
  .hero-nav-btn,.psc-top-tag,.hub-card,.lb-next,.lb-prev{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(13,20,25,.72)!important}
}
@media(max-width:880px){
  .hslide img{animation:none!important;transform:none!important}
}

/* ═══ HEADER SPEC v3.1 · lang + phone micro-parity ═══ */
.nav-lang-wrap .lang,.nav-lang-wrap a,.lang a{display:flex!important;align-items:center!important;padding:8px 11px!important;font:600 10px/1 'Inter',sans-serif!important;letter-spacing:1.5px!important;text-decoration:none!important;background:transparent!important}
.nav-lang-wrap .lang.on,.lang a[aria-current]{color:var(--gold)!important}
.nav-lang-wrap .lang.off,.lang a:not([aria-current]){color:rgba(243,238,231,.55)!important}
.nav-lang-wrap a:hover,.lang a:hover{color:var(--gold)!important}
.nav-lang-wrap .lang.on{border-right:1px solid rgba(255,255,255,.12)!important}
.nav-phone:hover,.nav-tel:hover{background:rgba(201,168,100,.08)!important;border-color:var(--gold)!important;color:var(--gold)!important;transform:none!important;box-shadow:none!important}
.nav-phone-dot,.nav-tel .dot{width:6px!important;height:6px!important;border-radius:50%!important;background:#6b7280!important}
.nav-phone-dot.live,.nav-tel .dot.live{background:#5FBF8A!important;box-shadow:0 0 0 3px rgba(95,191,138,.16)!important}
.nav-phone-dot.live::before{display:none!important;animation:none!important}


/* SPEC v3.1b · lock height and live color with max specificity */
a.nav-phone,a.nav-tel,.nav-phone,.nav-tel{height:36px!important;box-sizing:border-box!important;line-height:1!important}
nav .nav-phone-dot.live,#navPhoneDot.live,nav .nav-tel .dot.live{background:#5FBF8A!important;box-shadow:0 0 0 3px rgba(95,191,138,.16)!important}

/* ═ mobile hero CTAs: decisive reset (stacked, full pills, whole frames) ═ */
@media(max-width:560px){
  .hero-cta-row{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;max-width:340px}
  .hero-cta-row .btn-pri,.hero-cta-row .btn-quote-hero,.hero-cta-row .btn-cb-hero{
    width:100%!important;flex:none!important;height:46px!important;padding:0 18px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    font-size:10px!important;letter-spacing:2px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
    border-radius:999px!important}
  .hero-cta-row .btn-quote-hero{background:transparent!important;border:1px solid rgba(201,168,100,.5)!important;color:var(--cream)!important}
  .hero-cta-row .btn-cb-hero{background:transparent!important;border:1px solid rgba(201,168,100,.3)!important;border-top:1px solid rgba(201,168,100,.3)!important;color:rgba(201,168,100,.9)!important;padding-top:0!important}
}


/* ═ mobile action bar · copied verbatim from the project pages ═ */
.sbar{--grd:linear-gradient(135deg,#d4a857 0%,#c9a864 50%,#b8915d 100%);--line2:rgba(201,168,100,.30);--ink:#0D1419;--warm:#8B7E6B}
/* ════ CONVERSION FURNITURE ════ */ .sbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:repeat(3,1fr); gap:1px;background:var(--line2);border-top:1px solid var(--line2)}
.sbar button,.sbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px; padding:11px 4px;background:rgba(13,20,25,.97);backdrop-filter:blur(12px);border:0;cursor:pointer; font:600 8.5px/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.sbar .prim{background:var(--grd);color:var(--ink)}
.sbar svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* ════════ LUXE COMPONENT LANGUAGE, matched to the homepage ════════ Six things the homepage does that a flat button does not: 1. an inner top highlight, so gold reads as a lit surface not a fill 2. a diagonal sheen that fades in on hover 3. a hairline ring in the shadow, so edges never dissolve into the dark 4. 12px radius on cards, 100px on the pill, 0 on structural blocks 5. blur behind translucent panels 6. staggered reveal, bottom card first, so the group unfolds */ .b1b,.nav-book,.hub-t,.sbar .prim,.rec-cta .b1b{ position:relative;overflow:hidden; border-radius:100px; box-shadow:0 8px 24px rgba(201,168,100,.32), 0 0 0 1px rgba(201,168,100,.15), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.12); }
.sbar .prim{border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.b1b:focus-visible,.nav-book:focus-visible,.hub-t:focus-visible,.sbar .prim:focus-visible{ outline:2px solid var(--cream);outline-offset:3px; }
/* focus ring for the unclassed controls in the sticky bar and overlays */ .sbar a:focus-visible,.sbar button:focus-visible,.gal-none button:focus-visible, .zoom-x:focus-visible,.ov-x:focus-visible{ outline:2px solid var(--gold2);outline-offset:-3px; }
.sbar .prim:focus-visible{outline-color:var(--ink)}
@media(max-width:900px){.sbar{display:grid}.contact-hub{display:none!important}footer.lk-foot{padding-bottom:76px}}
@media(min-width:901px){.sbar{display:none!important}}


/* ═══ SPEC v3.2 · phone pill: icon on mobile, number on desktop ═══ */
@media(min-width:881px){.nav-phone svg,.nav-tel svg{display:none!important}}
@media(max-width:880px){
  .nav-phone,.nav-tel{padding:11px 13px!important}
  .nav-phone svg,.nav-tel svg{display:inline-block!important;width:14px!important;height:14px!important;stroke:currentColor!important;fill:none!important}
  .nav-tel span{display:none!important}
  .nav-phone{font-size:0!important}
}

/* ═══ hero CTAs · slim mobile hierarchy ═══ */
@media(max-width:560px){
  .hero-cta-row{flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important}
  .hero-cta-row .btn-pri{flex:1 1 100%!important;height:44px!important}
  .hero-cta-row .btn-quote-hero,.hero-cta-row .btn-cb-hero{flex:1 1 calc(50% - 5px)!important;width:auto!important;height:38px!important;font-size:9.5px!important;letter-spacing:1.6px!important;border-color:rgba(201,168,100,.35)!important}
}

/* v3.2b · identical icon size in both families */
.nav-phone svg.nav-phone-icon,.nav-tel svg.tel-ic{width:13px!important;height:13px!important}

/* ═══ mobile polish v4 · hero arrows + trust strip ═══ */
@media(max-width:880px){
  .hero-nav-btn{width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid rgba(243,238,231,.22)!important;background:rgba(13,20,25,.55)!important;color:var(--cream)!important}
  .hero-prev{left:12px!important}
  .hero-next{right:12px!important}
  .trust-row,.trust-strip{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;align-items:stretch!important;overflow:visible!important}
  .trust-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:3px!important;padding:16px 10px!important;border-right:1px solid rgba(201,168,100,.12)!important;border-bottom:1px solid rgba(201,168,100,.12)!important;min-width:0!important;white-space:normal!important}
  .trust-item:nth-child(2n){border-right:0!important}
  .trust-item b,.trust-item strong{font-size:19px!important;line-height:1.1!important}
  .trust-item span,.trust-item small{font-size:10px!important;letter-spacing:.1em!important;line-height:1.3!important}
}

/* ═══ drawer v5 · close control + header row + scroll comfort ═══ */
.mobile-menu{padding-top:22px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mm-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.mm-top .dl-lang{margin:0}
.mm-close{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:var(--cream);font-size:19px;line-height:1;cursor:pointer;padding:0}
.mm-close:hover{border-color:var(--gold);color:var(--gold)}
.mobile-menu .mobile-menu-section:last-of-type{padding-bottom:12px}

/* ═══ drawer head unify · one identical head on all 20 pages ═══ */
.mm-brand{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--cream)}
.mm-brand em{color:var(--gold);font-style:italic}
.mm-top{border-bottom:0!important;padding-bottom:0!important;margin-bottom:18px!important}
.lk-drawer-top{margin-bottom:18px!important}
.lk-drawer{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.dl-lang{margin:0 0 4vh!important}

/* drawer v5b · full-screen sheet everywhere, like the project pages */
.mobile-menu{width:100%!important;max-width:100%!important;border-left:0!important;padding-left:27px!important;padding-right:27px!important}

/* ═══ drawer body parity · same big serif menu as the project pages ═══ */
.mobile-menu,.mobile-menu-drawer{display:flex!important;flex-direction:column!important}
.mobile-menu a.dl,.mobile-menu-drawer a.dl{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,6vw,34px);font-weight:300;color:var(--cream);text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mobile-menu a.dl:hover,.mobile-menu-drawer a.dl:hover{color:var(--gold)}
.mobile-menu .dl-cta,.mobile-menu-drawer .dl-cta{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap;padding-top:24px}
.mobile-menu .dl-cta button,.mobile-menu .dl-cta a,.mobile-menu-drawer .dl-cta button,.mobile-menu-drawer .dl-cta a{flex:1 1 160px;text-align:center;font:600 11px/1 'Inter',sans-serif;letter-spacing:.15em;text-transform:uppercase;padding:15px 12px;border-radius:999px;cursor:pointer;text-decoration:none}
.mobile-menu .dl-book,.mobile-menu-drawer .dl-book{background:linear-gradient(135deg,#C9A864,#D4B87A);color:#0D1419;border:0}
.mobile-menu .dl-tel,.mobile-menu-drawer .dl-tel{border:1px solid var(--gold);color:var(--gold);background:none}

/* ═══ SPEC v3.3 · iOS-safe sticky header (no live blur on phones) ═══ */
@media(max-width:880px){
  nav.nav,.nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(13,20,25,.995)!important}
}

/* touch devices: no sticky hover states on the hero buttons */
*{-webkit-tap-highlight-color:transparent}
@media(hover:none){
  .btn-pri:hover{background:linear-gradient(135deg,#C9A864,#D4B87A)!important;transform:none!important}
  .btn-quote-hero:hover,.btn-quote-hero:focus{background:transparent!important;border-color:rgba(201,168,100,.5)!important;color:var(--cream)!important;transform:none!important;letter-spacing:inherit!important}
  .btn-cb-hero:hover,.btn-cb-hero:focus{background:transparent!important;color:rgba(201,168,100,.9)!important;letter-spacing:inherit!important;gap:8px!important}
  .btn-pri:active{filter:brightness(1.06)}
  .btn-quote-hero:active,.btn-cb-hero:active{background:rgba(201,168,100,.12)!important}
}

/* ═══ SPEC v3.4 · mobile: native instant scroll (kills load-restore and resume freezes) ═══ */
@media(max-width:880px){
  html{scroll-behavior:auto!important}
}

/* ═══ SPEC v3.5 · mobile GPU purge: zero live blurs/filters, no dvh relayout ═══ */
@media(max-width:880px){
  .sbar button,.sbar a{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .psc-top-tag,.hero-nav-btn,.hub-card,.lb-prev,.lb-next,.cb-modal-overlay,.mobile-menu-overlay,.modal-overlay,.cb-map-overlay,.hub-backdrop,.contact-hub.open ~ .hub-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .cb-showroom-img,.contact-map-section iframe,.insta-compact-item img{filter:none!important}
  .hslide,.hslide img{will-change:auto!important}
  .trow{transition:opacity .3s ease!important}
}

/* ═══ map facade: the Google Maps app boots only when asked ═══ */
.map-shell{position:relative}
.map-load{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:#101E2C;border:1px solid rgba(201,168,100,.25);color:var(--cream);cursor:pointer;
  font:600 11px/1.5 'Inter',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.map-load svg{width:26px;height:26px;stroke:var(--gold)}
.map-load small{font:400 12px/1.5 'Inter',sans-serif;letter-spacing:0;text-transform:none;color:#A89B86}
.map-load:hover{border-color:var(--gold)}

/* ═══ flat book buttons: no gold glow anywhere (per design decision) ═══ */
.btn-pri,.nav-btn-book,.rec-cta .b1b,.btn-pri:hover,.nav-btn-book:hover,.rec-cta .b1b:hover{box-shadow:none!important}

/* ═══ SPEC v5 · Safari quiet-mode: nothing animates forever on a phone ═══ */
@media(max-width:880px){
  .contact-hub:not(.open) .hub-toggle,.nav-phone-dot.live::before,.nav-tel .dot.live::before{animation:none!important}
  .nav-phone-dot::before,.nav-phone-dot.live::before,.nav-tel .dot::before,.nav-tel .dot.live::before{display:none!important;animation:none!important;content:none!important}
  a,button,.psc-card,.hslide,.trust-item,.hub-card{transition-property:opacity,color,background-color,border-color!important;transition-duration:.2s!important}
}

/* ═══ drawer motion: identical to project pages (translateX, .38s) ═══ */
.mobile-menu,.mobile-menu-drawer{right:0!important;left:auto!important;
  transform:translateX(100%)!important;
  transition:transform .38s cubic-bezier(.4,0,.2,1)!important}
.mobile-menu.active,.mobile-menu-drawer.active{transform:translateX(0)!important}
.mobile-menu-overlay{transition:opacity .38s cubic-bezier(.4,0,.2,1)!important}

/* ═══ SPEC v7 · drawer CTAs sit under the links, never behind the browser bar ═══ */
@media(max-width:880px){
  html body .mobile-menu .dl-cta,html body .mobile-menu-drawer .dl-cta,html body .lk-drawer .dl-cta,html body .lk-drawer.open .dl-cta{
    margin-top:40px!important;margin-bottom:0!important;
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)!important}
  .mobile-menu,.mobile-menu-drawer,.lk-drawer{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
}

/* ═══ SPEC v9 · audit fixes: instant hero, real landmarks, honest touch targets ═══ */
/* 1 · hero copy is visible from the first paint. Motion is enhancement only. */
.hero-chapter,.hero-h1,.hero-tagline,.hero-rating,.hero-cta-row{opacity:1}
@media(min-width:881px){
  .hero-chapter{animation:up .55s .05s both}
  .hero-h1{animation:up .55s .12s both}
  .hero-tagline{animation:up .55s .2s both}
  .hero-rating{animation:up .55s .26s both}
  .hero-cta-row{animation:up .55s .32s both}
}
@media(max-width:880px){
  .hero-chapter,.hero-h1,.hero-tagline,.hero-rating,.hero-cta-row{animation:none!important;opacity:1!important;transform:none!important}
}
/* 2 · skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--gold,#C9A864);color:#0D1419;
  padding:12px 18px;font:600 12px/1 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{left:12px;top:12px;outline:2px solid #0D1419;outline-offset:2px}
/* 3 · carousel dots keep a 7px look on a 26px target */
html body .hdot{width:26px;height:26px;border:0;background:transparent;border-radius:50%;padding:0;position:relative}
html body .hdot::after{content:'';position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-4px 0 0 -4px;
  border-radius:50%;border:1px solid rgba(243,238,231,.65);background:transparent;transition:background .3s,border-color .3s}
html body .hdot.on{background:transparent}
html body .hdot.on::after{background:var(--gold);border-color:var(--gold)}
html body .hero-dots,html body #hdots{gap:2px!important}
/* 4 · visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold,#C9A864);outline-offset:3px;border-radius:2px}
/* 5 · lift the two lowest-contrast text roles */
.spec-l,.tcard-loc{color:rgba(232,224,212,.72)!important}
.feat-txt p,.feat-txt li{color:rgba(232,224,212,.78)!important}
/* 6 · map iframe sizes in CSS, not with an invalid width attribute */
.map-shell iframe,.contact-map-section iframe{width:100%;max-width:100%;border:0}

/* ═══════════ LIMAK HOME v12 · single responsive system · 2026-08-01 ═══════════ */
/* This block is the only final authority for the homepage header, hero, hero controls,
   mobile action bar and overlay end states. Earlier component CSS remains as fallback. */
:root{
  --lk-mobile-header:70px;
  --lk-desktop-header:82px;
  --lk-actionbar:64px;
  --lk-page-x:clamp(16px,4vw,64px);
}

html body .nav{
  position:sticky!important;top:0!important;z-index:1000!important;
  background:#0D1419!important;border-bottom:1px solid rgba(201,168,100,.14)!important;
}
html body .nav-logo-wrap img{width:auto!important;object-fit:contain!important}
html body .nav-actions,
html body .nav-actions .nav-phone,
html body .nav-hamburger{position:static!important;inset:auto!important;transform:none!important}

html body #main>.hero{
  position:relative!important;isolation:isolate!important;background:linear-gradient(180deg,#101E2C 0%,#0D1419 82%)!important;background-color:#0D1419!important;
  color:#F3EEE7!important;margin:0!important;padding:0!important;
}
html body #main>.hero>.hero-left{
  position:relative!important;z-index:2!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;min-width:0!important;
  background:transparent!important;background-image:none!important;
}
html body #main>.hero .hero-main{
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  min-width:0!important;min-height:0!important;margin:0!important;
}
html body #main>.hero .hero-chapter{
  color:#C9A864!important;font:600 10.5px/1.5 'Inter',sans-serif!important;
  letter-spacing:.22em!important;text-transform:uppercase!important;
}
html body #main>.hero .hero-h1{
  color:#F3EEE7!important;font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;letter-spacing:-.025em!important;margin:0!important;
  text-wrap:balance!important;
}
html body #main>.hero .hero-h1 .l2,
html body #main>.hero .hero-h1 .l3{display:block!important}
html body #main>.hero .hero-h1 em{color:#D4B87A!important;font-weight:300!important}
html body #main>.hero .hero-tagline{
  color:#C9D4E0!important;font-family:'Inter',sans-serif!important;font-weight:400!important;
  letter-spacing:0!important;text-transform:none!important;
  border-left:1px solid rgba(201,168,100,.34)!important;padding-left:18px!important;
}
html body #main>.hero .hero-cta-row{
  display:flex!important;flex:0 0 auto!important;min-width:0!important;align-items:center!important;
}
html body #main>.hero .hero-cta-row button{
  box-sizing:border-box!important;display:inline-flex!important;flex:0 0 auto!important;
  align-items:center!important;justify-content:center!important;border-radius:999px!important;cursor:pointer!important;
  font-family:'Inter',sans-serif!important;font-weight:700!important;text-transform:uppercase!important;
  white-space:normal!important;text-align:center!important;line-height:1.2!important;
}
html body #main>.hero .hero-cta-row .btn-pri{
  background:#D7B45F!important;color:#0D1419!important;border:1px solid #D7B45F!important;
  font-size:12px!important;letter-spacing:.16em!important;box-shadow:none!important;
}
html body #main>.hero .hero-cta-row .btn-quote-hero{
  background:transparent!important;color:#F3EEE7!important;border:1px solid rgba(243,238,231,.32)!important;
  font-size:11.5px!important;letter-spacing:.14em!important;
}
html body #main>.hero .hero-cta-row .btn-cb-hero{
  background:transparent!important;color:#D4B87A!important;border:0!important;
  min-height:44px!important;padding:8px 4px!important;border-radius:0!important;
  font-size:11.5px!important;letter-spacing:.12em!important;text-decoration:underline!important;
  text-underline-offset:4px!important;
}
html body #main>.hero>.hero-cta-row-mobile{display:none!important}
html body #main>.hero .hero-cta-row .btn-pri:hover,
html body #main>.hero .hero-cta-row .btn-quote-hero:hover{transform:translateY(-1px)!important}

html body #main>.hero>.hero-right{
  position:relative!important;z-index:1!important;min-width:0!important;min-height:0!important;
  overflow:hidden!important;background:#101E2C!important;
}
html body #main>.hero>.hero-right .hslide{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:none!important;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s!important;
}
html body #main>.hero>.hero-right .hslide.on{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
html body #main>.hero>.hero-right picture,
html body #main>.hero>.hero-right img{
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
html body #main>.hero>.hero-right #h0 img{object-position:center center!important}
html body #main>.hero>.hero-right #h1 img,
html body #main>.hero>.hero-right #h2 img{object-position:center 58%!important}
html body #main>.hero>.hero-right .slide-caption{
  z-index:4!important;color:#F3EEE7!important;text-shadow:0 2px 14px rgba(0,0,0,.72)!important;
}
html body #main>.hero .hero-bottom,
html body #main>.hero .hero-nav-btn,
html body #main>.hero .hero-dots{display:none!important}

html body #main>.hero>.hctl{
  z-index:5!important;display:flex!important;align-items:center!important;gap:12px!important;
  min-width:0!important;background:transparent!important;background-image:none!important;
}
html body #main>.hero .hc-count{
  min-width:54px!important;color:#A8BAC8!important;white-space:nowrap!important;
  font:400 12px/1 'Inter',sans-serif!important;letter-spacing:.12em!important;
}
html body #main>.hero .hc-count b{
  color:#D4B87A!important;font:300 24px/1 'Cormorant Garamond',serif!important;
}
html body #main>.hero .hc-bar{
  display:flex!important;flex:1 1 auto!important;align-items:center!important;justify-content:center!important;
  gap:clamp(6px,1vw,10px)!important;min-width:76px!important;height:16px!important;
  overflow:visible!important;border-radius:0!important;background:transparent!important;
}
html body #main>.hero .hc-fill{
  display:none!important;
}
html body #main>.hero .hc-dot{
  display:block!important;flex:0 0 auto!important;width:5px!important;height:5px!important;
  border:1px solid rgba(212,184,122,.62)!important;border-radius:50%!important;
  background:rgba(243,238,231,.14)!important;opacity:.52!important;
  transition:opacity .25s,background .25s,transform .25s!important;
}
html body #main>.hero .hc-dot.is-active{
  background:#D4B87A!important;border-color:#D4B87A!important;opacity:1!important;transform:scale(1.25)!important;
}
html body #main>.hero .hc-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:0!important;border-radius:50%!important;border:1px solid rgba(201,168,100,.46)!important;
  background:rgba(13,20,25,.25)!important;color:#F3EEE7!important;font-size:20px!important;
}
html body #main>.hero #hLive{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

html body #quoteModal,html body #callbackModal{
  visibility:hidden!important;pointer-events:none!important;opacity:0!important;
  transition:opacity .3s,visibility 0s .3s!important;
}
html body #quoteModal.open,html body #callbackModal.active{
  visibility:visible!important;pointer-events:auto!important;opacity:1!important;
  transition:opacity .3s,visibility 0s 0s!important;
}
html body #callbackModal,html body #callbackModal.active{transition:none!important}
html body #mobileMenu{
  visibility:hidden!important;pointer-events:none!important;transform:translateX(100%)!important;
  transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s .35s!important;
}
html body #mobileMenu.active{
  visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;
  transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s 0s!important;
}
.psc-top-tag{display:none!important}

/* Mobile · 320–767 */
@media(max-width:767px){
  html body{padding-bottom:calc(var(--lk-actionbar) + env(safe-area-inset-bottom,0px))!important}
  html body .nav{
    height:var(--lk-mobile-header)!important;min-height:var(--lk-mobile-header)!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) 55px 44px!important;
    align-items:center!important;gap:10px!important;padding:0 16px!important;
  }
  html body .nav-logo-wrap{grid-column:1!important;min-width:0!important;justify-self:start!important}
  html body .nav-logo-wrap,html body .nav-actions,html body .nav-hamburger{grid-row:1!important}
  html body .nav-logo-wrap img{height:34px!important;max-width:min(44vw,154px)!important}
  html body .nav-links,html body .nav-mid{display:none!important}
  html body .nav-actions{
    grid-column:2!important;display:flex!important;width:55px!important;min-width:55px!important;
    align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;
  }
  html body .nav-actions .nav-lang-wrap,html body .nav-actions .nav-bookbtn,
  html body .nav-actions .nav-phone-num{display:none!important}
  html body .nav-actions .nav-phone{
    position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    width:55px!important;height:36px!important;min-width:55px!important;min-height:36px!important;
    margin:0!important;padding:0 13px!important;border:1px solid #C9A864!important;border-radius:999px!important;
  }
  html body .nav-actions .nav-phone-dot{
    display:block!important;position:static!important;flex:0 0 6px!important;
    width:6px!important;height:6px!important;border-radius:50%!important;background:#6B7280!important;
  }
  html body .nav-actions .nav-phone-dot.live{
    background:#5FBF8A!important;box-shadow:0 0 0 3px rgba(95,191,138,.16)!important;
  }
  html body .nav-actions .nav-phone-icon{display:block!important;flex:0 0 13px!important;width:13px!important;height:13px!important}
  html body .nav-hamburger{
    grid-column:3!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;
  }

  html body #main>.hero{
    display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;
    max-height:none!important;overflow:visible!important;
  }
  html body #main>.hero>.hero-left{
    order:3!important;height:auto!important;min-height:0!important;overflow:visible!important;
    padding:22px 16px 8px!important;justify-content:flex-start!important;
  }
  html body #main>.hero .hero-chapter{display:none!important}
  html body #main>.hero .hero-main{padding:0!important;justify-content:flex-start!important}
  html body #main>.hero .hero-h1{
    font-size:clamp(30px,9.4vw,40px)!important;line-height:1.04!important;
  }
  html body #main>.hero .hero-tagline{
    max-width:38ch!important;margin:12px 0 0!important;padding-left:16px!important;
    font-size:15px!important;line-height:1.55!important;display:block!important;overflow:visible!important;
    -webkit-line-clamp:unset!important;
  }
  html body #main>.hero .hero-cta-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;gap:8px!important;margin-top:12px!important;
  }
  html body #main>.hero .hero-cta-row-primary{display:none!important}
  html body #main>.hero .hero-cta-row button{
    width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 10px!important;
    font-size:10px!important;letter-spacing:.08em!important;
  }
  html body #main>.hero .hero-cta-row .btn-pri{
    grid-column:1 / -1!important;min-height:46px!important;
  }
  html body #main>.hero .hero-cta-row .btn-cb-hero{
    align-self:stretch!important;justify-content:center!important;margin:0!important;
    border:1px solid rgba(212,184,122,.28)!important;border-radius:999px!important;text-decoration:none!important;
  }
  html body #main>.hero>.hero-right{
    order:1!important;width:calc(100% - 28px)!important;height:clamp(220px,60vw,340px)!important;
    min-height:220px!important;max-height:340px!important;margin:14px 14px 0!important;border-radius:14px!important;
    box-shadow:0 0 0 1px rgba(201,168,100,.16)!important;
  }
  html body #main>.hero>.hero-cta-row-mobile{
    order:4!important;display:grid!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;
    margin:0!important;padding:10px 14px 10px!important;background:#0D1419!important;
  }
  html body #main>.hero>.hctl{
    order:2!important;width:100%!important;min-height:64px!important;
    padding:10px 16px!important;
  }
  html body #main>.hero .hc-count{display:none!important}
  html body #main>.hero .hc-bar{gap:clamp(7px,2.2vw,10px)!important}
  html body #main .services-new h2,
  html body #main .featured h2,
  html body #main .why h2,
  html body #main .process h2,
  html body #main .testimonials h2{
    font-size:clamp(35px,10.8vw,42px)!important;line-height:1.04!important;letter-spacing:-.02em!important;
  }
  html body #main .contact h2{font-size:clamp(33px,9.8vw,39px)!important;line-height:1.05!important}
  html body #main .why-body{font-size:14px!important;line-height:1.7!important}
  html body #main .insta-compact-follow,
  html body #main .cb-trust-cta,
  html body #main .contact-map-link{font-size:10.5px!important}
  html body .sbar{
    display:grid!important;height:calc(var(--lk-actionbar) + env(safe-area-inset-bottom,0px))!important;
    transform:translateY(110%)!important;opacity:0!important;pointer-events:none!important;
    transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s!important;
  }
  html body .sbar.is-visible{
    transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important;
  }
}

@media(max-width:360px){
  html body .nav{padding-left:16px!important;padding-right:16px!important;gap:10px!important}
  html body .nav-logo-wrap img{height:30px!important;max-width:140px!important}
  html body #main>.hero>.hero-left{padding:14px 14px 4px!important}
  html body #main>.hero .hero-h1{font-size:29px!important;line-height:1.03!important}
  html body #main>.hero .hero-tagline{font-size:14.5px!important;line-height:1.48!important;margin-top:10px!important}
  html body #main>.hero .hero-cta-row{margin-top:9px!important;gap:6px!important}
  html body #main>.hero .hero-cta-row .btn-pri{min-height:46px!important}
  html body #main>.hero .hero-cta-row .btn-quote-hero{min-height:44px!important}
  html body #main>.hero>.hero-right{height:220px!important;min-height:220px!important;margin-top:10px!important}
  html body #main>.hero>.hctl{min-height:60px!important;padding:8px 14px!important}
}

/* Tablet and compact laptop · 768–1100 */
@media(max-width:767px) and (max-height:700px){
  html body #main>.hero>.hero-right{
    height:clamp(167px,52vw,205px)!important;min-height:167px!important;max-height:205px!important;
    margin-top:8px!important;
  }
  html body #main>.hero>.hctl{min-height:50px!important;height:50px!important;padding:3px 14px!important}
  html body #main>.hero>.hero-left{padding:10px 14px 2px!important}
  html body #main>.hero .hero-h1{font-size:clamp(23px,7vw,30px)!important;line-height:1!important}
  html body #main>.hero .hero-tagline{
    margin-top:6px!important;padding-left:10px!important;font-size:12.5px!important;line-height:1.32!important;
  }
  html body #main>.hero>.hero-cta-row-mobile{padding:5px 14px 8px!important;gap:6px!important}
  html body #main>.hero .hero-cta-row button{min-height:44px!important;padding:6px 8px!important;font-size:9.5px!important}
  html body #main>.hero .hero-cta-row .btn-pri{min-height:44px!important}
}

@media(min-width:768px) and (max-width:1100px){
  html body{padding-bottom:0!important}
  html body .nav{
    height:var(--lk-mobile-header)!important;min-height:var(--lk-mobile-header)!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) 55px 44px!important;
    align-items:center!important;gap:10px!important;padding:0 24px!important;
  }
  html body .nav-logo-wrap{grid-column:1!important;justify-self:start!important}
  html body .nav-logo-wrap,html body .nav-actions,html body .nav-hamburger{grid-row:1!important}
  html body .nav-logo-wrap img{height:38px!important;max-width:180px!important}
  html body .nav-links,html body .nav-mid{display:none!important}
  html body .nav-actions{
    grid-column:2!important;display:flex!important;width:55px!important;min-width:55px!important;
    justify-content:center!important;margin:0!important;padding:0!important;
  }
  html body .nav-actions .nav-lang-wrap,html body .nav-actions .nav-bookbtn,
  html body .nav-actions .nav-phone-num{display:none!important}
  html body .nav-actions .nav-phone{
    position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    width:55px!important;height:36px!important;min-width:55px!important;min-height:36px!important;margin:0!important;padding:0 13px!important;
    border:1px solid #C9A864!important;border-radius:999px!important;
  }
  html body .nav-actions .nav-phone-dot{
    display:block!important;position:static!important;flex:0 0 6px!important;
    width:6px!important;height:6px!important;border-radius:50%!important;background:#6B7280!important;
  }
  html body .nav-actions .nav-phone-dot.live{
    background:#5FBF8A!important;box-shadow:0 0 0 3px rgba(95,191,138,.16)!important;
  }
  html body .nav-actions .nav-phone-icon{display:block!important;flex:0 0 13px!important;width:13px!important;height:13px!important}
  html body .nav-hamburger{grid-column:3!important;display:flex!important;width:44px!important;height:44px!important;margin:0!important}

  html body #main>.hero{
    display:grid!important;grid-template-columns:44% 56%!important;
    grid-template-rows:minmax(0,1fr) 64px!important;grid-template-areas:'copy image' 'control image'!important;
    height:clamp(560px,calc(100svh - var(--lk-mobile-header)),800px)!important;
    min-height:560px!important;max-height:800px!important;overflow:hidden!important;
  }
  html body #main>.hero>.hero-left{
    grid-area:copy!important;order:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;
    padding:clamp(24px,4vw,42px) clamp(24px,4vw,40px) 8px!important;justify-content:center!important;
  }
  html body #main>.hero .hero-chapter{display:block!important;margin-bottom:10px!important}
  html body #main>.hero .hero-main{padding:0!important}
  html body #main>.hero .hero-h1{font-size:clamp(38px,5.2vw,54px)!important;line-height:1.02!important}
  html body #main>.hero .hero-tagline{font-size:14px!important;line-height:1.55!important;margin-top:14px!important;max-width:36ch!important}
  html body #main>.hero .hero-cta-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:'pri pri' 'quote cb'!important;
    align-items:stretch!important;width:100%!important;max-width:340px!important;gap:8px!important;margin-top:14px!important;
  }
  html body #main>.hero .hero-cta-row .btn-pri{grid-area:pri!important;white-space:nowrap!important}
  html body #main>.hero .hero-cta-row .btn-quote-hero{grid-area:quote!important}
  html body #main>.hero .hero-cta-row .btn-cb-hero{grid-area:cb!important}
  html body #main>.hero .hero-cta-row button{
    width:100%!important;min-width:0!important;min-height:46px!important;padding:6px 10px!important;
    font-size:10.5px!important;line-height:1.18!important;letter-spacing:.055em!important;
  }
  html body #main>.hero .hero-cta-row .btn-pri,
  html body #main>.hero .hero-cta-row .btn-quote-hero,
  html body #main>.hero .hero-cta-row .btn-cb-hero{
    min-height:46px!important;font-size:10.5px!important;line-height:1.18!important;letter-spacing:.055em!important;
  }
  html body #main>.hero .hero-cta-row .btn-cb-hero{
    align-self:stretch!important;justify-content:center!important;width:100%!important;max-width:none!important;
    border:1px solid rgba(212,184,122,.28)!important;border-radius:999px!important;text-decoration:none!important;
  }
  html body #main>.hero>.hero-cta-row.hero-cta-row-mobile{display:none!important}
  html body #main>.hero>.hero-right{
    grid-area:image!important;order:0!important;width:auto!important;height:auto!important;min-height:0!important;
    max-height:none!important;margin:12px 12px 12px 0!important;border-radius:14px!important;
  }
  html body #main>.hero>.hctl{
    grid-area:control!important;order:0!important;min-height:64px!important;padding:8px clamp(24px,4vw,40px) 12px!important;
  }
  html body .sbar{display:none!important}
  html body #main .why h2{font-size:clamp(48px,6vw,58px)!important;line-height:1.02!important}
}

/* Full desktop · 1101+ */
@media(min-width:1101px){
  html body{padding-bottom:0!important}
  html body #main>.hero>.hero-cta-row-mobile{display:none!important}
  html body .nav{
    height:var(--lk-desktop-header)!important;min-height:var(--lk-desktop-header)!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;gap:24px!important;padding:0 clamp(24px,3.4vw,64px)!important;
  }
  html body .nav-logo-wrap{grid-column:1!important;min-width:0!important}
  html body .nav-logo-wrap,html body .nav-links,html body .nav-mid,html body .nav-actions{grid-row:1!important}
  html body .nav-logo-wrap img{height:42px!important;max-width:190px!important}
  html body .nav-hamburger{display:none!important}
  html body .nav-links,html body .nav-mid{
    grid-column:2!important;display:flex!important;align-items:center!important;justify-content:center!important;
    gap:clamp(12px,1.25vw,24px)!important;min-width:0!important;
  }
  html body .nav-links a,html body .nav-mid a{font-size:10px!important;letter-spacing:.11em!important;white-space:nowrap!important}
  html body .nav-actions{
    grid-column:3!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
    gap:10px!important;min-width:0!important;
  }
  html body .nav-actions .nav-phone{display:inline-flex!important;min-height:44px!important}
  html body .nav-actions .nav-phone-num,html body .nav-actions .nav-phone-dot{display:inline-block!important}
  html body .nav-actions .nav-phone-icon{display:none!important}

  html body #main>.hero{
    display:grid!important;grid-template-columns:46% 54%!important;
    grid-template-rows:minmax(0,1fr) 68px!important;grid-template-areas:'copy image' 'control image'!important;
    height:clamp(620px,calc(100svh - var(--lk-desktop-header)),900px)!important;
    min-height:620px!important;max-height:900px!important;overflow:hidden!important;
  }
  html body #main>.hero>.hero-left{
    grid-area:copy!important;order:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;
    padding:clamp(34px,4vw,64px) clamp(40px,4vw,72px) 8px!important;justify-content:center!important;
  }
  html body #main>.hero .hero-chapter{display:block!important;margin-bottom:12px!important}
  html body #main>.hero .hero-main{padding:0!important}
  html body #main>.hero .hero-h1{font-size:clamp(54px,5.1vw,84px)!important;line-height:.98!important}
  html body #main>.hero .hero-tagline{font-size:14px!important;line-height:1.62!important;margin-top:18px!important;max-width:42ch!important}
  html body #main>.hero .hero-cta-row{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;max-width:520px!important;gap:8px!important;margin-top:18px!important;
  }
  html body #main>.hero .hero-cta-row button{
    width:100%!important;min-width:0!important;min-height:46px!important;padding:7px 9px!important;
    font-size:10px!important;letter-spacing:.075em!important;
  }
  html body #main>.hero .hero-cta-row .btn-pri,
  html body #main>.hero .hero-cta-row .btn-quote-hero,
  html body #main>.hero .hero-cta-row .btn-cb-hero{
    align-items:center!important;justify-content:center!important;text-align:center!important;
    padding:6px 7px!important;font-size:9.5px!important;font-weight:600!important;
    line-height:1.12!important;letter-spacing:.055em!important;
  }
  html body #main>.hero .hero-cta-row .btn-cb-hero{
    width:100%!important;max-width:none!important;min-height:46px!important;justify-content:center!important;
    border:1px solid rgba(212,184,122,.28)!important;border-radius:999px!important;text-decoration:none!important;
  }
  html body #main>.hero>.hero-cta-row.hero-cta-row-mobile{display:none!important}
  html body #main>.hero>.hero-right{
    grid-area:image!important;order:0!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:14px 14px 14px 0!important;border-radius:16px!important;
  }
  html body #main>.hero>.hctl{
    grid-area:control!important;order:0!important;min-height:68px!important;
    padding:8px clamp(40px,4vw,72px) 16px!important;
  }
  html body .sbar{display:none!important}
}

@media(min-width:1280px){
  html body #main>.hero{grid-template-columns:40% 60%!important}
}

@media(min-width:1101px) and (max-width:1279px){
  html body .nav{gap:16px!important;padding-left:22px!important;padding-right:22px!important}
  html body .nav-logo-wrap img{height:38px!important;max-width:160px!important}
  html body .nav-links,html body .nav-mid{gap:11px!important}
  html body .nav-links a,html body .nav-mid a{font-size:9.5px!important;letter-spacing:.08em!important}
  html body .nav-bookbtn{display:none!important}
  html body #main>.hero .hero-cta-row{max-width:none!important}
}

@media(min-width:768px) and (max-height:740px){
  html body #main>.hero{height:max(480px,calc(100svh - var(--lk-mobile-header)))!important;min-height:480px!important;max-height:none!important}
  html body #main>.hero>.hero-left{padding-top:18px!important;padding-bottom:4px!important}
  html body #main>.hero .hero-chapter{margin-bottom:7px!important;font-size:9.5px!important}
  html body #main>.hero .hero-h1{font-size:clamp(34px,4.2vw,52px)!important}
  html body #main>.hero .hero-tagline{font-size:13px!important;line-height:1.5!important;margin-top:10px!important}
  html body #main>.hero .hero-cta-row{margin-top:10px!important;gap:7px!important}
  html body #main>.hero .hero-cta-row .btn-pri,
  html body #main>.hero .hero-cta-row .btn-quote-hero,
  html body #main>.hero .hero-cta-row .btn-cb-hero{min-height:46px!important}
  html body #main>.hero>.hctl{min-height:60px!important;padding-top:6px!important;padding-bottom:10px!important}
}

@media(min-width:1101px) and (max-height:740px){
  html body #main>.hero{height:max(500px,calc(100svh - var(--lk-desktop-header)))!important;min-height:500px!important}
}

/* Header parity with the internal pages: compact desktop remains usable down to 881px.
   The hero keeps its tablet composition in this range; only the shared header skin changes. */
@media(min-width:881px) and (max-width:1100px){
  html body .nav{
    height:var(--lk-desktop-header)!important;min-height:var(--lk-desktop-header)!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;gap:12px!important;padding:0 clamp(18px,2.5vw,28px)!important;
  }
  html body .nav-logo-wrap{grid-column:1!important;min-width:0!important;justify-self:start!important}
  html body .nav-logo-wrap,html body .nav-links,html body .nav-mid,html body .nav-actions{grid-row:1!important}
  html body .nav-logo-wrap img{height:34px!important;max-width:148px!important}
  html body .nav-links,html body .nav-mid{
    grid-column:2!important;display:flex!important;align-items:center!important;justify-content:center!important;
    gap:clamp(7px,1vw,11px)!important;min-width:0!important;
  }
  html body .nav-links a,html body .nav-mid a{
    padding:6px 4px!important;font-size:9px!important;line-height:1.2!important;
    letter-spacing:.055em!important;white-space:nowrap!important;
  }
  html body .nav-actions{
    grid-column:3!important;display:flex!important;width:auto!important;min-width:0!important;
    align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin:0!important;padding:0!important;
  }
  html body .nav-actions .nav-lang-wrap{display:flex!important}
  html body .nav-actions .nav-bookbtn{display:none!important}
  html body .nav-actions .nav-phone-num,html body .nav-actions .nav-phone-dot{display:inline-block!important}
  html body .nav-actions .nav-phone{
    display:inline-flex!important;width:auto!important;height:36px!important;min-width:0!important;min-height:36px!important;
    padding:0 11px!important;gap:7px!important;border:1px solid #C9A864!important;border-radius:999px!important;
  }
  html body .nav-actions .nav-phone-icon{display:none!important}
  html body .nav-hamburger{display:none!important}
  html body #main>.hero{
    height:clamp(560px,calc(100svh - var(--lk-desktop-header)),800px)!important;
  }
}

@media(min-width:881px) and (max-width:1100px) and (max-height:740px){
  html body #main>.hero{
    height:max(480px,calc(100svh - var(--lk-desktop-header)))!important;
    min-height:480px!important;max-height:none!important;
  }
}

/* Mobile footer: remove legacy 200px caps and use the same full-width rhythm as internal pages. */
@media(max-width:880px){
  html body .footer-v2-main,
  html body .footer-v2-social-strip,
  html body .footer-v2-bar{
    box-sizing:border-box!important;width:100%!important;max-width:none!important;
    margin-left:0!important;margin-right:0!important;
  }
  html body .footer-v2-main{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    padding:40px 24px 32px!important;overflow:hidden!important;
  }
  html body .footer-v2-brand,
  html body .footer-v2-contact{
    box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
    padding:36px 0!important;
  }
  html body .footer-v2-brand>div:first-child,
  html body .footer-v2-brand>div:last-child{
    box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
  }
  html body .footer-v2-tagline{width:auto!important;max-width:100%!important}
  html body .footer-v2-social-strip,
  html body .footer-v2-bar{padding-left:24px!important;padding-right:24px!important}
}

@media(max-width:360px){
  html body .footer-v2-main{padding-left:20px!important;padding-right:20px!important}
  html body .footer-v2-social-strip,
  html body .footer-v2-bar{padding-left:20px!important;padding-right:20px!important}
}

@media(prefers-reduced-motion:reduce){
  html body #main>.hero>.hero-right .hslide,
  html body #main>.hero .hc-fill,
  html body .sbar{transition:none!important;animation:none!important}
  html body #main>.hero>.hero-right img{animation:none!important;transform:none!important}
}
/* ═══════════ END LIMAK HOME v12 ═══════════ */
