/* ============================================================
   LUMA INTERIORS SOLUTION — Premium Static Interior Website
   Clean multi-page build, no framework, responsive, no horizontal overflow
   ============================================================ */
:root{
  --royal:#0d2e6b;
  --royal-2:#174593;
  --ink:#15162b;
  --muted:#5b6072;
  --soft:#858b9a;
  --cream:#fbf7ef;
  --cream-2:#fffdf9;
  --line:#ece4da;
  --white:#fff;
  --cyan:#1ba4e6;
  --pink:#d63384;
  --pink-2:#ec74ad;
  --yellow:#f7c72a;
  --green:#25d366;
  --shadow:0 22px 70px rgba(17,24,39,.09);
  --shadow-soft:0 10px 36px rgba(17,24,39,.07);
  --grad-pink:linear-gradient(135deg,#c82f78,#ec73aa);
  --grad-blue:linear-gradient(135deg,#0d2e6b,#1f57ad);
  --nav-h:76px;
  --ticker-h:40px;
  --pad:clamp(18px,4vw,52px);
  --max:1240px;
  --ease:cubic-bezier(.22,.9,.34,1);
  --ease2:cubic-bezier(.34,1.56,.64,1);
  --font-head:'Outfit',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;background:var(--cream)}
body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.no-scroll,body.intro-active{overflow:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{border:0;background:none;cursor:pointer}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
main{position:relative;z-index:1}


/* Theme cursor follower (desktop) + touch feedback (mobile) */
.cursor-ring,.cursor-dot{position:fixed;left:0;top:0;z-index:120000;pointer-events:none;border-radius:50%;opacity:0;transform:translate3d(-50%,-50%,0);transition:opacity .18s ease, width .18s ease, height .18s ease, background .18s ease, border-color .18s ease}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(214,51,132,.55);box-shadow:0 0 0 6px rgba(27,164,230,.07),0 12px 30px rgba(13,46,107,.12);backdrop-filter:blur(2px)}
.cursor-dot{width:8px;height:8px;background:linear-gradient(135deg,var(--cyan),var(--pink),var(--yellow));box-shadow:0 0 16px rgba(214,51,132,.28)}
.cursor-ring.cursor-active{width:48px;height:48px;border-color:rgba(27,164,230,.65);background:rgba(255,255,255,.14)}
.touch-ripple{position:fixed;z-index:119999;pointer-events:none;width:18px;height:18px;border-radius:50%;left:0;top:0;transform:translate(-50%,-50%) scale(.2);background:radial-gradient(circle,rgba(236,116,173,.35),rgba(27,164,230,.22) 55%,rgba(247,199,42,.0) 72%);border:1px solid rgba(214,51,132,.32);animation:touchRipple .62s var(--ease) forwards}
@keyframes touchRipple{to{opacity:0;transform:translate(-50%,-50%) scale(3.8)}}
@media (pointer:fine){body{cursor:auto}.cursor-enabled .cursor-ring,.cursor-enabled .cursor-dot{opacity:1}}
@media (pointer:coarse){.cursor-ring,.cursor-dot{display:none!important}}

/* Loader: home page only */
#intro-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fff 0%,#fbf7ef 58%,#f2eadd 100%);transition:opacity .34s ease,visibility .34s ease}
#intro-overlay.hide{opacity:0;visibility:hidden;pointer-events:none}
#intro-logo-wrapper{display:grid;place-items:center}
#intro-logo-img{width:170px;height:auto;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;padding:0!important;opacity:0;animation:introIn .55s var(--ease) forwards}
@keyframes introIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}

/* Navbar */
.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:rgba(255,255,255,.91);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);border-bottom:1px solid rgba(13,46,107,.08);box-shadow:0 5px 24px rgba(16,24,40,.035);opacity:0;transition:opacity .28s ease,box-shadow .25s ease,background .25s ease}
.navbar.visible{opacity:1}
.navbar.scrolled{background:rgba(255,255,255,.97);box-shadow:0 8px 30px rgba(16,24,40,.08)}
.nav-logo{display:flex;align-items:center;justify-content:center;line-height:0;flex:0 0 auto;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.nav-logo img{width:112px;height:auto;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;padding:0!important;border-radius:0!important;transition:none!important}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:var(--font-head);font-size:.9rem;font-weight:600;color:#34364a;letter-spacing:.01em;position:relative;padding:8px 0;transition:color .24s var(--ease)}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:2px;border-radius:5px;background:var(--grad-pink);transition:width .28s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--royal)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta,.mobile-quote{display:inline-flex!important;align-items:center;justify-content:center;padding:12px 25px!important;border-radius:999px;background:var(--grad-pink);color:#fff!important;box-shadow:0 10px 24px rgba(214,51,132,.22);font-weight:700!important;transition:transform .25s var(--ease2),box-shadow .25s var(--ease)!important}
.nav-cta:hover,.mobile-quote:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(214,51,132,.30)}
.nav-cta::after{display:none!important}
.hamburger{display:none;width:44px;height:44px;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.08);align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:1200}
.hamburger span{width:22px;height:2px;border-radius:6px;background:var(--ink);transition:transform .25s var(--ease),opacity .2s ease}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1100;background:rgba(255,253,249,.98);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu a{font-family:var(--font-head);font-weight:700;font-size:1.2rem;color:var(--ink)}

/* Light premium social/contact ticker */
.social-ticker{position:fixed;top:var(--nav-h);left:0;width:100%;height:var(--ticker-h);z-index:950;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,#fffaf2 0%,#f7fbff 48%,#fff7fb 100%);border-top:1px solid rgba(13,46,107,.05);border-bottom:1px solid rgba(13,46,107,.08);box-shadow:0 8px 22px rgba(13,46,107,.045);opacity:0;transition:opacity .25s ease}
.social-ticker.visible{opacity:1}
.social-ticker::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow),var(--cyan));opacity:.75}
.ticker-track{display:flex;width:max-content;animation:tickerMove 38s linear infinite;will-change:transform}
.social-ticker:hover .ticker-track{animation-play-state:paused}
.ticker-segment{display:flex;align-items:center;gap:18px;padding-right:18px;white-space:nowrap;min-width:max-content}
.ticker-item{display:inline-flex;align-items:center;gap:7px;color:var(--royal);font-family:var(--font-head);font-size:.86rem;font-weight:700;letter-spacing:.01em;transition:color .2s ease,transform .2s ease}
.ticker-item:hover{color:var(--pink);transform:translateY(-1px)}
.ticker-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(13,46,107,.08);color:var(--royal);font-size:.72rem;font-weight:800}
.ticker-dot{width:5px;height:5px;border-radius:50%;background:var(--pink);opacity:.45;flex:0 0 auto}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Hero */
.hero{position:relative;min-height:calc(100vh - var(--nav-h) - var(--ticker-h));margin-top:calc(var(--nav-h) + var(--ticker-h));display:flex;align-items:center;gap:clamp(24px,5vw,78px);overflow:hidden;padding:64px var(--pad)}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;background:#eadfd1}
.hero-video video{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);filter:saturate(1.08) contrast(1.02)}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(255,250,244,.88) 0%,rgba(255,250,244,.72) 36%,rgba(255,255,255,.24) 68%,rgba(255,255,255,.08) 100%)}
.hero-content{position:relative;z-index:2;width:min(590px,100%);padding:42px 44px;border-radius:28px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.70);box-shadow:var(--shadow);opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.hero-content.visible{opacity:1;transform:translateY(0)}
.hero-logo-mark img{width:136px;height:auto;object-fit:contain;margin-bottom:18px;background:transparent!important;box-shadow:none!important;border:0!important}
.eyebrow,.section-label{font-family:var(--font-head);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:var(--pink);margin-bottom:10px}
.hero h1{font-family:var(--font-head);font-size:clamp(2.15rem,4.4vw,4.1rem);line-height:1.05;letter-spacing:-.045em;color:var(--ink);margin-bottom:20px;max-width:9.6em}
.hero h1::after{content:"";display:block;width:90px;height:4px;margin-top:14px;border-radius:8px;background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))}
.hero p{color:var(--muted);font-size:1rem;max-width:520px;margin-bottom:20px}
.hero-trust-line{font-family:var(--font-head);font-weight:700!important;font-size:.9rem!important;color:var(--royal)!important;margin-bottom:22px!important}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-family:var(--font-head);font-weight:800;font-size:.95rem;transition:transform .25s var(--ease2),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:var(--grad-pink);color:#fff;box-shadow:0 14px 28px rgba(214,51,132,.24)}
.btn-primary:hover{box-shadow:0 18px 36px rgba(214,51,132,.32)}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 24px rgba(15,23,42,.07)}
.btn-secondary:hover{border-color:rgba(13,46,107,.25);box-shadow:0 16px 34px rgba(13,46,107,.12)}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.hero-chips span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(13,46,107,.08);color:var(--royal);font-family:var(--font-head);font-weight:700;font-size:.78rem}
.hero-chips span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pink)}
.hero-chips span:nth-child(2)::before{background:var(--cyan)}.hero-chips span:nth-child(3)::before{background:var(--yellow)}

.hero-info-panel{position:relative;z-index:2;width:min(365px,100%);margin-left:auto;padding:26px;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,248,239,.64));backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);border:1px solid rgba(255,255,255,.72);box-shadow:0 22px 70px rgba(13,46,107,.10);opacity:0;transform:translateY(20px) scale(.98);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.hero-info-panel.visible{opacity:1;transform:none}
.info-kicker{font-family:var(--font-head);font-size:.74rem!important;text-transform:uppercase;letter-spacing:.2em;color:var(--pink)!important;font-weight:900;margin-bottom:10px!important}
.hero-info-panel h2{font-family:var(--font-head);font-size:1.55rem;line-height:1.12;color:var(--royal);letter-spacing:-.02em;margin-bottom:18px}
.info-list{display:grid;gap:12px;margin-bottom:20px}
.info-list div{padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(13,46,107,.07)}
.info-list span{display:block;font-family:var(--font-head);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:800;margin-bottom:2px}
.info-list strong{display:block;color:var(--ink);font-family:var(--font-head);font-size:.94rem;line-height:1.25}
.info-quote{width:100%;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 16px;background:linear-gradient(135deg,var(--royal),var(--royal-2));color:#fff;font-family:var(--font-head);font-weight:900;box-shadow:0 14px 28px rgba(13,46,107,.18);transition:transform .25s var(--ease2),box-shadow .25s ease}
.info-quote:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(13,46,107,.24)}

/* Section base */
.section{padding:86px 0}.section-header{margin-bottom:44px}.center{text-align:center}.section-title{font-family:var(--font-head);font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;letter-spacing:-.035em;color:var(--ink);margin-bottom:14px}.section-title.left{text-align:left}.section-subtitle{color:var(--soft);font-size:1.04rem;max-width:620px;margin:0 auto}.section-action{text-align:center;margin-top:34px}.light{color:#8edaff!important}
.trust-section{background:linear-gradient(180deg,#fff 0%,#fffaf4 100%)}
.trust-grid-6,.services-grid-8,.gallery-grid,.process-steps{display:grid;gap:24px}.trust-grid-6{grid-template-columns:repeat(3,1fr)}.services-grid-8{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.process-steps{grid-template-columns:repeat(6,1fr)}
.trust-card,.service-card,.process-step,.about-card,.legal-card{background:rgba(255,255,255,.82);border:1px solid rgba(13,46,107,.08);border-radius:22px;box-shadow:var(--shadow-soft)}
.trust-card{padding:28px}.trust-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;margin-bottom:18px;font-family:var(--font-head);font-weight:800;color:var(--royal);background:rgba(27,164,230,.10)}.trust-icon.pink{background:rgba(214,51,132,.10)}.trust-icon.yellow{background:rgba(247,199,42,.16)}.trust-icon.navy{background:rgba(13,46,107,.10)}.trust-icon.cyan{background:rgba(27,164,230,.14)}
.trust-card h3,.service-card h3,.process-step h3,.contact-card h4,.about-card h3,.legal-card h2{font-family:var(--font-head);color:var(--royal);line-height:1.2;margin-bottom:10px}.trust-card p,.service-card p,.process-step p,.about-card p,.legal-card p,.contact-card p{color:var(--muted);font-size:.94rem}
.service-card{overflow:hidden;transition:transform .32s var(--ease2),box-shadow .32s var(--ease)}.service-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(13,46,107,.14)}.service-image{height:190px;overflow:hidden;background:#eee}.service-card-img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.service-card:hover img{transform:scale(1.06)}.service-body{padding:22px}.service-link{margin-top:18px;color:var(--pink);font-family:var(--font-head);font-weight:800}.service-link::after{content:" →"}
.process-step{position:relative;padding:28px 20px}.process-step span{display:inline-flex;margin-bottom:14px;color:var(--pink);font-family:var(--font-head);font-size:1.55rem;font-weight:800}.process-step::before{content:"";position:absolute;top:0;left:20px;right:20px;height:3px;border-radius:6px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow))}
.gallery-item{position:relative;display:block;min-height:220px;border-radius:22px;overflow:hidden;background:#eee;box-shadow:var(--shadow-soft)}.gallery-item img{width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .55s var(--ease),filter .35s ease}.gallery-item:hover img{transform:scale(1.07);filter:saturate(1.08)}.gallery-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(10,20,45,.70));opacity:0;transition:opacity .28s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:#fff;font-family:var(--font-head);font-weight:800}.gallery-note{margin-top:24px;text-align:center;color:var(--soft);font-size:.9rem}
.cta-section{padding:82px 0}.cta-container{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:58px;border-radius:30px;background:linear-gradient(135deg,#0b2a67,#17489a 55%,#0c2d6a);box-shadow:0 30px 80px rgba(13,46,107,.26)}.cta-container::before{content:"";position:absolute;inset:-35% -10% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(236,116,173,.28),rgba(27,164,230,.16),transparent 65%)}.cta-content,.cta-action{position:relative;z-index:2}.cta-content h2{font-family:var(--font-head);font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;color:#fff;margin-bottom:14px}.cta-content p{color:rgba(255,255,255,.82);font-size:1.05rem}.cta-trust-line{margin-top:12px;color:#bdefff!important;font-family:var(--font-head);font-weight:700}.btn-cta-premium{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:18px 34px;background:#fff;color:var(--pink);font-family:var(--font-head);font-weight:900;box-shadow:0 18px 34px rgba(0,0,0,.18);transition:transform .25s var(--ease2),box-shadow .25s ease}.btn-cta-premium:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 46px rgba(0,0,0,.24)}
.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:stretch}.contact-cards{display:grid;gap:16px}.contact-card{display:flex;gap:16px;align-items:flex-start;padding:20px;background:#fffaf4;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}.contact-card>span{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:16px;background:linear-gradient(135deg,rgba(27,164,230,.13),rgba(214,51,132,.12));font-family:var(--font-head);font-weight:900;color:var(--royal);font-size:.78rem}.contact-card a{color:var(--royal);font-weight:800;word-break:break-word}.contact-map{height:100%;min-height:420px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--line)}.contact-map iframe{width:100%;height:100%;border:0}.map-note{margin-top:12px;color:var(--soft);font-size:.9rem}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Inner pages */
.inner-main{padding-top:calc(var(--nav-h) + var(--ticker-h))}.inner-hero{padding:78px 0 32px;background:radial-gradient(circle at 16% 0%,rgba(27,164,230,.13),transparent 32%),radial-gradient(circle at 80% 12%,rgba(214,51,132,.12),transparent 32%),linear-gradient(180deg,#fffdf9,#fbf7ef)}.inner-hero-box{text-align:center}.inner-hero h1{font-family:var(--font-head);font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:14px;color:var(--ink)}.inner-hero p:last-child{max-width:700px;margin:0 auto;color:var(--muted)}.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:34px}.filter-btn{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-family:var(--font-head);font-weight:800;color:var(--royal);transition:.25s}.filter-btn:hover,.filter-btn.active{background:var(--grad-pink);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(214,51,132,.20)}.about-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:start}.about-layout p{color:var(--muted);margin-bottom:18px}.about-card{padding:32px}.about-card ul{display:grid;gap:12px}.about-card li{color:var(--muted);padding-left:22px;position:relative}.about-card li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:var(--pink)}.legal-layout{display:grid;gap:20px;max-width:900px}.legal-card{padding:28px}
body.inner-page-loaded main{animation:innerIn .45s var(--ease) both}@keyframes innerIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Footer */
.footer-premium{background:linear-gradient(135deg,#081f4b,#0d2e6b 54%,#102f67);color:rgba(255,255,255,.80);overflow:hidden}.footer-top-accent{height:4px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow),var(--cyan))}.footer-container{display:grid;grid-template-columns:1.8fr 1fr 1.35fr 1fr;gap:38px;padding:72px var(--pad)}.footer-logo{width:120px;height:auto;background:transparent;margin-bottom:18px}.footer-col h3,.footer-col h4{font-family:var(--font-head);color:#fff;margin-bottom:16px}.footer-col h3{font-size:1.8rem}.footer-sub{color:#80d8ff!important;text-transform:uppercase;font-family:var(--font-head);font-size:.86rem;letter-spacing:.12em;font-weight:800;margin-bottom:16px}.footer-col p,.footer-col li,.footer-col a{font-size:.93rem;color:rgba(255,255,255,.75)}.footer-col a:hover{color:#8edaff}.footer-col ul{display:grid;gap:10px}.footer-contact-line{display:grid;gap:4px;margin-top:12px}.footer-contact-line span{font-family:var(--font-head);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#8edaff}.footer-socials{display:flex;flex-wrap:wrap;gap:10px}.footer-socials a{display:inline-flex;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);font-family:var(--font-head);font-weight:700}.footer-quote{margin-top:18px;padding:13px 18px;border-radius:999px;background:var(--grad-pink);color:#fff;font-family:var(--font-head);font-weight:900}.footer-bottom{background:#061734;border-top:1px solid rgba(255,255,255,.08);padding:20px 0}.footer-bottom-flex{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-bottom p{font-size:.82rem;color:rgba(255,255,255,.62)}.footer-credit{font-family:var(--font-head);white-space:nowrap}.footer-credit span{color:#8edaff;font-weight:900}

/* Modal + floating whatsapp */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--font-head);font-weight:900;box-shadow:0 14px 34px rgba(37,211,102,.34);transition:transform .25s var(--ease2)}.whatsapp-float:hover{transform:scale(1.08)}
.modal-backdrop{position:fixed;inset:0;z-index:8000;display:grid;place-items:center;padding:20px;background:rgba(13,24,50,.42);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.modal-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.modal{width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.18);transform:translateY(18px) scale(.98);transition:transform .25s var(--ease)}.modal-backdrop.open .modal{transform:translateY(0) scale(1)}.modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;font-size:1.45rem;color:var(--soft)}.modal-close:hover{background:#f4ecdf}.modal-kicker{font-family:var(--font-head);font-weight:900;color:var(--pink);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem}.modal h2{font-family:var(--font-head);font-size:1.65rem;color:var(--ink);line-height:1.1;margin:6px 0}.modal-sub{color:var(--soft);font-size:.95rem;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{margin-bottom:15px}.form-group label{display:block;font-family:var(--font-head);font-weight:800;color:var(--royal);font-size:.85rem;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid var(--line);background:#fffaf4;border-radius:14px;padding:12px 14px;color:var(--ink);outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(214,51,132,.09)}.form-group textarea{min-height:90px;resize:vertical}.consent-row{display:flex;gap:10px;align-items:flex-start;margin:8px 0 18px}.consent-row input{margin-top:4px;accent-color:var(--pink)}.consent-row label{font-size:.84rem;color:var(--muted)}.consent-row a{font-weight:800;color:var(--royal)}.modal-submit{width:100%;border-radius:999px;padding:15px;background:var(--grad-pink);color:#fff;font-family:var(--font-head);font-weight:900;box-shadow:0 12px 26px rgba(214,51,132,.22)}.modal-submit:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}

/* Scroll animations */
.animate-on-scroll,.fade-up,.pop-up{opacity:0;transition:opacity .75s var(--ease),transform .75s var(--ease)}.fade-up{transform:translateY(24px)}.pop-up{transform:translateY(20px) scale(.96)}.animate-on-scroll.is-visible,.fade-up.is-visible,.pop-up.is-visible{opacity:1;transform:none}

/* Responsive */
@media (max-width:1080px){.services-grid-8{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.process-steps{grid-template-columns:repeat(3,1fr)}.footer-container{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}
@media (max-width:880px){:root{--nav-h:70px;--ticker-h:40px;--pad:22px}.nav-links{display:none}.hamburger{display:flex}.nav-logo img{width:96px}.hero{min-height:auto;padding:48px var(--pad);flex-direction:column;align-items:stretch;gap:18px}.hero-info-panel{margin:0 auto;width:min(590px,100%);text-align:left;padding:22px}.hero-content{margin:0 auto;text-align:center;padding:34px 24px}.hero-logo-mark img{margin-left:auto;margin-right:auto}.hero h1{max-width:none}.hero h1::after{margin-left:auto;margin-right:auto}.hero p{margin-left:auto;margin-right:auto}.hero-buttons,.hero-chips{justify-content:center}.trust-grid-6,.services-grid-8,.gallery-grid,.process-steps{grid-template-columns:repeat(2,1fr)}.cta-container{flex-direction:column;text-align:center;padding:42px 24px}.about-layout{grid-template-columns:1fr}.footer-bottom-flex{flex-direction:column;text-align:center}.ticker-item{font-size:.82rem}}
@media (max-width:560px){:root{--nav-h:66px;--ticker-h:38px;--pad:16px}.navbar{padding:0 16px}.nav-logo img{width:86px}.social-ticker{height:var(--ticker-h)}.ticker-track{animation-duration:32s}.ticker-segment{gap:14px;padding-right:14px}.ticker-icon{width:20px;height:20px}.hero{padding:28px 12px 42px}.hero-content{padding:26px 18px;border-radius:22px}.hero-logo-mark img{width:106px}.hero h1{font-size:2.05rem}.hero-buttons{flex-direction:column}.btn,.btn-cta-premium{width:100%;padding:14px 18px}.hero-chips span{width:100%;justify-content:center}.section{padding:58px 0}.trust-grid-6,.services-grid-8,.gallery-grid,.process-steps{grid-template-columns:1fr}.service-image{height:210px}.gallery-item,.gallery-item img{min-height:240px}.contact-card{padding:16px}.contact-card>span{flex-basis:48px;height:48px;font-size:.7rem}.contact-map{min-height:330px}.form-grid{grid-template-columns:1fr}.modal{padding:28px 20px;border-radius:22px}.footer-container{grid-template-columns:1fr;padding:56px var(--pad);gap:34px}.whatsapp-float{width:52px;height:52px;right:16px;bottom:16px}.inner-hero{padding:54px 0 22px}.inner-hero h1{font-size:2.35rem}}

@media (max-width:560px){
  body{font-size:15px}
  .hero-info-panel{padding:20px 18px;border-radius:22px}
  .hero-info-panel h2{font-size:1.35rem}
  .info-list{gap:9px}.info-list div{padding:11px 12px}
  .ticker-item{font-size:.78rem}.ticker-track{animation-duration:36s}
  .cta-container{border-radius:24px}.cta-content h2{font-size:2rem}.cta-content p{font-size:.95rem}
  .footer-socials a,.footer-quote,.service-link,.btn,.btn-cta-premium,.info-quote{min-height:46px}
  .modal-backdrop{padding:12px}.modal{max-height:88vh}
  input,select,textarea{font-size:16px!important}
}
@media (max-width:380px){
  .hero h1{font-size:1.82rem}.hero-content{padding:22px 14px}.nav-logo img{width:78px}.hamburger{width:40px;height:40px}.ticker-item{font-size:.74rem}.section-title{font-size:1.85rem}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.ticker-track{animation:none!important}}


/* ============================================================
   Final professional polish: service-area content + mobile comfort
   ============================================================ */
html, body { max-width: 100%; }
.service-area-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(13,46,107,.07);
  color:var(--royal);
  font-family:var(--font-head);
  font-weight:800;
  font-size:.86rem;
}
.hero-content, .hero-info-panel, .service-card, .trust-card, .process-step, .contact-card, .modal { overflow-wrap:anywhere; }
.ticker-track { animation-duration: 44s; }
.ticker-item { color:#12356f; }
.ticker-icon { background:rgba(255,255,255,.72); border:1px solid rgba(13,46,107,.08); }
.btn, .btn-cta-premium, .service-link, .footer-quote, .info-quote, .nav-cta, .mobile-quote {
  -webkit-tap-highlight-color: transparent;
}
@media (hover:hover) {
  .service-card:hover, .trust-card:hover, .process-step:hover {
    transform: translateY(-6px);
  }
}
@media (max-width: 880px) {
  .navbar { padding:0 20px; }
  .mobile-menu { padding: calc(var(--nav-h) + 28px) 24px 32px; }
  .hero {
    margin-top: calc(var(--nav-h) + var(--ticker-h));
    padding-top: 34px;
  }
  .hero-content { width: min(620px, 100%); }
  .hero-overlay {
    background: linear-gradient(180deg,rgba(255,250,244,.88),rgba(255,250,244,.68) 52%,rgba(255,255,255,.44));
  }
  .section-header { margin-bottom:30px; }
}
@media (max-width: 560px) {
  :root { --ticker-h: 42px; }
  .navbar { padding:0 14px; }
  .nav-logo img { width:82px; }
  .hamburger { width:42px; height:42px; border-radius:14px; }
  .social-ticker { box-shadow:0 8px 18px rgba(13,46,107,.045); }
  .ticker-track { animation-duration:52s; }
  .ticker-segment { gap:16px; padding-right:16px; }
  .ticker-item { font-size:.76rem; line-height:1; }
  .ticker-icon { width:22px; height:22px; font-size:.66rem; }
  .hero { padding:22px 12px 36px; }
  .hero-video video { object-position:center center; transform:scale(1.08); }
  .hero-content { padding:24px 17px 22px; border-radius:24px; }
  .hero-logo-mark img { width:112px; margin-bottom:14px; }
  .eyebrow, .section-label { letter-spacing:.14em; font-size:.68rem; }
  .hero h1 { font-size:clamp(1.85rem, 9vw, 2.35rem); line-height:1.08; margin-bottom:14px; }
  .hero p { font-size:.94rem; }
  .hero-trust-line { font-size:.78rem; }
  .hero-info-panel { padding:18px 16px; }
  .info-list div { grid-template-columns:1fr; gap:3px; }
  .section { padding:52px 0; }
  .section-title { font-size:clamp(1.85rem, 8vw, 2.4rem); line-height:1.1; }
  .section-subtitle { font-size:.95rem; }
  .services-grid-8, .gallery-grid, .trust-grid-6, .process-steps { gap:18px; }
  .service-body { padding:20px 18px; }
  .gallery-item, .gallery-item img { min-height:220px; }
  .cta-container { padding:34px 18px; margin-inline:4px; }
  .cta-content h2 { font-size:clamp(1.75rem, 8vw, 2.25rem); line-height:1.1; }
  .contact-grid { gap:22px; }
  .contact-actions .btn { width:100%; }
  .footer-container { padding:48px 18px; }
  .footer-col h3 { font-size:1.55rem; }
  .footer-bottom { padding:18px 10px; }
  .footer-credit { white-space:normal; }
  .whatsapp-float { right:14px; bottom:14px; }
  .modal { width:100%; padding:26px 18px 20px; border-radius:24px; }
  .modal h2 { font-size:1.45rem; }
  .modal-close { right:12px; top:10px; }
}
@media (max-width: 390px) {
  .hero-content { padding:22px 14px; }
  .hero h1 { font-size:1.78rem; }
  .hero-logo-mark img { width:100px; }
  .btn, .btn-cta-premium, .info-quote { font-size:.9rem; }
  .ticker-item { font-size:.72rem; }
  .service-image { height:190px; }
}


/* ============================================================
   V4 Brand, offer packages, divisions, and dependent quote form
   ============================================================ */
.navbar{gap:18px}.nav-brand-text{margin-right:auto;line-height:1.05;color:var(--royal);font-family:var(--font-head);min-width:0}.nav-brand-text strong{display:block;font-size:1rem;font-weight:900;letter-spacing:.01em}.nav-brand-text span{display:block;margin-top:3px;font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.hero-offer-box{margin:14px 0 18px;padding:16px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,247,241,.82));border:1px solid rgba(200,47,72,.15);box-shadow:0 14px 34px rgba(13,46,107,.07)}.offer-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-family:var(--font-head);color:var(--royal)}.offer-badge-red{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:999px;background:#e4212f;color:#fff;font-size:.72rem;font-weight:950;letter-spacing:.12em;box-shadow:0 10px 22px rgba(228,33,47,.20)}.offer-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offer-price-grid article{padding:12px;border-radius:16px;background:#fff;border:1px solid rgba(13,46,107,.08)}.offer-price-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.offer-price-grid strong{display:block;margin-top:3px;font-family:var(--font-head);font-size:1rem;color:var(--royal)}.hero-offer-box p{margin:10px 0 0!important;font-size:.78rem!important;color:var(--muted)!important}.division-section{background:linear-gradient(180deg,#fffdf9,#fbf7ef)}.division-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.division-card{position:relative;overflow:hidden;padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(13,46,107,.08);box-shadow:var(--shadow-soft)}.division-card:before{content:"";position:absolute;right:-45px;top:-45px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(27,164,230,.14),transparent 68%)}.division-upvc:before{background:radial-gradient(circle,rgba(214,51,132,.16),transparent 68%)}.division-pill{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(13,46,107,.08);color:var(--royal);font-family:var(--font-head);font-weight:900;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em}.division-card h3{position:relative;margin:14px 0 8px;font-family:var(--font-head);font-size:1.8rem;line-height:1.08;color:var(--royal)}.division-card p{position:relative;color:var(--muted);margin-bottom:16px}.division-card ul{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0 0 22px}.division-card li{font-size:.9rem;color:var(--ink);font-weight:700}.division-card li:before{content:"•";color:var(--pink);margin-right:7px}.footer-division-note{margin:8px 0 14px;color:rgba(255,255,255,.76);font-size:.9rem;line-height:1.55}.modal-choice-grid,.location-grid{margin-bottom:4px}.form-group select:disabled{opacity:.62;background:#f4efe8;cursor:not-allowed}.modal .form-group select{min-height:47px}.modal-sub{line-height:1.55}
@media (max-width:1080px){.nav-brand-text strong{font-size:.9rem}.nav-brand-text span{font-size:.66rem}.nav-links{gap:20px}}
@media (max-width:880px){.nav-brand-text{display:none}.offer-price-grid,.division-grid{grid-template-columns:1fr}.division-card ul{grid-template-columns:1fr}.hero-offer-box{text-align:left}.offer-price-grid article{text-align:center}}
@media (max-width:560px){.hero-offer-box{padding:14px;border-radius:18px}.offer-header{justify-content:center;text-align:center}.offer-price-grid{gap:8px}.offer-price-grid strong{font-size:.95rem}.division-card{padding:24px 18px;border-radius:24px}.division-card h3{font-size:1.45rem}.modal-choice-grid,.location-grid{grid-template-columns:1fr!important}.modal .form-group{margin-bottom:12px}.modal-submit{min-height:50px}.hero h1{font-size:clamp(1.78rem,8.6vw,2.25rem)}}

/* ============================================================
   V5 consultation popup + header brand refinement
   ============================================================ */
.navbar{align-items:center;gap:14px}
.nav-brand-text{display:flex!important;flex-direction:column;justify-content:center;margin-right:auto;min-width:190px;max-width:310px;line-height:1.08}
.nav-brand-text strong{font-size:1.02rem;color:var(--royal);letter-spacing:.01em;white-space:nowrap}
.nav-brand-text span{font-size:.70rem;color:#6c7082;font-weight:850;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.modal-backdrop{z-index:20000;padding:18px;background:rgba(15,23,42,.46);backdrop-filter:blur(10px)}
.modal.modal-consultation{position:relative;width:min(1040px,96vw);max-height:94vh;overflow:hidden;padding:0;border-radius:22px;background:#fff;box-shadow:0 34px 110px rgba(6,23,52,.25);transform:translateY(18px) scale(.985)}
.consult-modal-grid{display:grid;grid-template-columns:minmax(320px,420px) 1fr;min-height:620px;background:#fff}
.consult-promo{position:relative;overflow:hidden;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#fff8e9 0%,#fff 45%,#fbefe0 100%);border-right:1px solid rgba(13,46,107,.08)}
.consult-promo:before{content:"";position:absolute;inset:auto -18% -24% -18%;height:48%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,251,242,.98) 35%,#fff7e9);z-index:2;pointer-events:none}
.consult-promo-brand{position:relative;z-index:3;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:18px;background:rgba(255,255,255,.8);box-shadow:0 12px 32px rgba(13,46,107,.08)}
.consult-promo-brand img{width:92px;height:auto;object-fit:contain;background:transparent!important}
.consult-promo-brand strong{display:block;font-family:var(--font-head);font-weight:950;color:var(--royal);font-size:1rem;line-height:1}
.consult-promo-brand span{display:block;margin-top:4px;color:var(--pink);font-size:.73rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.consult-promo-image{position:absolute;inset:0;z-index:1}
.consult-promo-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.02) contrast(1.03)}
.consult-promo-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,249,237,.72) 62%,rgba(255,248,235,.96) 100%)}
.consult-offer-ribbon{position:absolute;top:88px;left:22px;z-index:4;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:#e4212f;color:#fff;font-family:var(--font-head);font-weight:950;font-size:.74rem;letter-spacing:.16em;box-shadow:0 12px 26px rgba(228,33,47,.24)}
.consult-offer-card{position:relative;z-index:4;margin-top:auto;padding:20px;border-radius:24px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.74);box-shadow:0 20px 44px rgba(13,46,107,.12);backdrop-filter:blur(10px)}
.offer-mini{display:inline-flex;align-items:center;margin:0 0 10px!important;padding:6px 11px;border-radius:999px;background:rgba(228,33,47,.10);color:#b11c25!important;font-family:var(--font-head);font-weight:950;font-size:.72rem!important;letter-spacing:.08em;text-transform:uppercase}
.consult-offer-card h3{font-family:var(--font-head);font-size:1.55rem;line-height:1.1;color:#361d15;margin:0 0 14px;letter-spacing:-.03em}
.consult-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px dashed rgba(54,29,21,.18)}
.consult-price-row span{color:#563c32;font-weight:800;font-size:.88rem}
.consult-price-row strong{font-family:var(--font-head);font-size:1.05rem;color:#a71d25;white-space:nowrap}
.consult-offer-card small{display:block;margin-top:10px;color:#6f5d55;font-size:.72rem;line-height:1.45}
.consult-form-panel{padding:34px 36px 30px;overflow:auto;background:linear-gradient(180deg,#fff,#fffdf9)}
.modal-consultation .modal-close{right:14px;top:12px;z-index:6;background:#fff;color:#777;width:38px;height:38px;box-shadow:0 10px 24px rgba(13,46,107,.10)}
.modal-consultation .modal-kicker{color:var(--pink);font-size:.72rem;letter-spacing:.18em;margin-bottom:5px}
.modal-consultation h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.04em;margin:0 44px 6px 0;color:#11152b}
.modal-consultation .modal-sub{font-size:.98rem;color:#667085;margin:0 0 20px;max-width:620px}
.property-type-group{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.property-pill{min-height:44px;padding:10px 15px;border:1px solid #d7dde8;border-radius:11px;background:#fff;color:#526078;font-family:var(--font-head);font-weight:800;box-shadow:0 5px 16px rgba(13,46,107,.045);transition:transform .2s var(--ease),border-color .2s ease,background .2s ease,color .2s ease}
.property-pill:hover{transform:translateY(-2px);border-color:rgba(214,51,132,.42)}
.property-pill.active{background:linear-gradient(135deg,#fff4f8,#eef8ff);border-color:rgba(214,51,132,.46);color:var(--royal);box-shadow:0 12px 26px rgba(214,51,132,.10)}
.modal-consultation .form-grid{gap:12px;margin-bottom:0}
.modal-consultation .form-group{margin-bottom:12px}
.modal-consultation .form-group label{font-size:.78rem;color:#39415a;letter-spacing:.02em}
.modal-consultation .form-group input,.modal-consultation .form-group select,.modal-consultation .form-group textarea{min-height:48px;background:#fff;border:1px solid #d8deea;border-radius:12px;color:#1b2033;padding:12px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.modal-consultation .form-group textarea{min-height:76px}
.phone-field{display:flex;align-items:center;border:1px solid #d8deea;border-radius:12px;background:#fff;overflow:hidden;min-height:48px}
.phone-field span{flex:0 0 auto;padding:0 12px;color:#526078;font-weight:850;border-right:1px solid #e3e8f0}
.phone-field input{border:0!important;box-shadow:none!important;border-radius:0!important;min-height:46px!important;padding-left:12px!important}
.personal-quote-line{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(27,164,230,.08),rgba(214,51,132,.07));color:#203766;font-size:.86rem;font-weight:750;line-height:1.45}
.whatsapp-update-row{display:flex;align-items:center;gap:10px;margin:8px 0 8px;color:#485066;font-weight:800;font-size:.88rem}
.whatsapp-update-row input{accent-color:var(--green);width:16px;height:16px}
.modal-consultation .consent-row{margin:8px 0 16px}.modal-consultation .consent-row label{font-size:.78rem}
.modal-consultation .modal-submit{border-radius:8px;background:linear-gradient(135deg,#9d1d24,#bd252e);font-size:1.16rem;padding:15px 18px;box-shadow:0 14px 28px rgba(157,29,36,.22)}
.modal-consultation .modal-submit:disabled{filter:grayscale(.2);opacity:.52;cursor:not-allowed;box-shadow:none}
.modal-consultation .modal-submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(157,29,36,.28)}

@media (max-width:1080px){
  .nav-brand-text{max-width:240px}.nav-brand-text strong{font-size:.92rem}.nav-brand-text span{font-size:.63rem}.nav-links{gap:20px}
  .consult-modal-grid{grid-template-columns:360px 1fr}.consult-form-panel{padding:30px 28px}.consult-promo-brand img{width:82px}.consult-offer-card h3{font-size:1.38rem}
}
@media (max-width:900px){
  .nav-brand-text{display:flex!important;max-width:260px}.nav-links{display:none}.hamburger{display:flex}.navbar{gap:10px}
  .consult-modal-grid{grid-template-columns:1fr;min-height:0}.modal.modal-consultation{max-height:94vh;overflow:auto;width:min(720px,96vw)}
  .consult-promo{min-height:300px;padding:18px}.consult-promo:before{height:62%}.consult-promo-brand{width:max-content;max-width:100%}.consult-promo-image img{object-position:center}
  .consult-offer-card{max-width:460px}.consult-form-panel{overflow:visible;padding:26px 22px 24px}
}
@media (max-width:640px){
  .nav-brand-text{min-width:0;max-width:calc(100vw - 170px)}.nav-brand-text strong{font-size:.80rem}.nav-brand-text span{font-size:.55rem;letter-spacing:.035em}.nav-logo img{width:78px!important}
  .modal-backdrop{padding:8px;align-items:start;place-items:start center;overflow:auto}.modal.modal-consultation{width:100%;margin-top:8px;border-radius:18px;max-height:none;overflow:visible}
  .consult-promo{min-height:245px;padding:14px;border-right:0;border-bottom:1px solid rgba(13,46,107,.08)}.consult-promo-brand{gap:9px;padding:7px 8px}.consult-promo-brand img{width:72px}.consult-promo-brand strong{font-size:.82rem}.consult-promo-brand span{font-size:.60rem}.consult-offer-ribbon{top:72px;left:14px;font-size:.62rem;padding:6px 10px}
  .consult-offer-card{padding:14px;border-radius:18px}.consult-offer-card h3{font-size:1.08rem;margin-bottom:8px}.consult-price-row{padding:8px 0}.consult-price-row span{font-size:.74rem}.consult-price-row strong{font-size:.84rem}.consult-offer-card small{font-size:.64rem}
  .consult-form-panel{padding:22px 14px 16px}.modal-consultation h2{font-size:1.55rem;margin-right:38px}.modal-consultation .modal-sub{font-size:.86rem}.property-type-group{gap:8px}.property-pill{min-height:40px;padding:8px 10px;font-size:.82rem}.modal-consultation .form-grid{grid-template-columns:1fr}.modal-consultation .form-group input,.modal-consultation .form-group select,.modal-consultation .form-group textarea,.phone-field{min-height:46px}.personal-quote-line{font-size:.78rem}.modal-consultation .modal-submit{font-size:1rem;border-radius:10px}.modal-consultation .modal-close{right:10px;top:10px}
}
@media (max-width:420px){
  .nav-brand-text strong{font-size:.72rem}.nav-brand-text span{font-size:.50rem}.nav-logo img{width:70px!important}.hamburger{width:38px;height:38px}.consult-promo{min-height:230px}.property-pill{font-size:.76rem;padding:8px 9px}.consult-form-panel{padding-left:12px;padding-right:12px}
}


/* ============================================================
   V6 final polish: compact hero, clean brand, scroll-safe quote popup
   ============================================================ */
html.no-scroll, body.no-scroll{overflow:hidden!important;overscroll-behavior:none!important}
.navbar{padding-left:22px!important;padding-right:30px!important;gap:12px!important}
.nav-logo img{width:104px!important}
.nav-brand-text{margin-left:4px!important;max-width:320px!important}
.nav-brand-text strong{font-size:1rem!important;color:var(--royal)!important}
.nav-brand-text span{font-size:.68rem!important;color:#626b7d!important;letter-spacing:.045em!important}

.hero{min-height:calc(100svh - var(--nav-h) - var(--ticker-h));padding:42px var(--pad) 34px!important;align-items:center!important;gap:32px!important}
.hero-content{width:min(548px,100%)!important;padding:30px 34px!important;border-radius:26px!important}
.hero-logo-mark img{width:118px!important;margin-bottom:14px!important}
.eyebrow{font-size:.70rem!important;letter-spacing:.18em!important;margin-bottom:8px!important;color:#5e687b!important}
.hero h1{font-size:clamp(2rem,3.55vw,3.35rem)!important;max-width:11.5em!important;margin-bottom:14px!important;line-height:1.04!important}
.hero h1::after{width:74px!important;height:3px!important;margin-top:13px!important}
.hero-content>p:not(.eyebrow):not(.hero-trust-line){font-size:.98rem!important;margin-bottom:14px!important;max-width:520px!important}
.service-area-badge{display:none!important}
.hero-trust-line{font-size:.82rem!important;margin:13px 0!important;color:var(--royal)!important}
.hero-buttons{margin:12px 0 14px!important}
.hero-chips{gap:8px!important}.hero-chips span{font-size:.76rem!important;padding:8px 11px!important}
.hero-offer-box{position:relative;overflow:hidden;padding:14px 16px!important;border-radius:20px!important;margin:12px 0!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,242,.9))!important;border:1px solid rgba(228,33,47,.16)!important;box-shadow:0 14px 34px rgba(119,38,28,.08)!important}
.hero-offer-box:before{content:"✦";position:absolute;right:18px;top:9px;color:#e4212f;opacity:.18;font-size:3.8rem;line-height:1;font-family:serif;transform:rotate(10deg)}
.offer-header{gap:10px!important;align-items:center!important;margin-bottom:10px!important;position:relative;z-index:1}.offer-header strong{font-size:.92rem!important;color:var(--royal)!important}
.offer-badge-red{display:inline-flex!important;align-items:center;gap:6px;background:#e4212f!important;color:#fff!important;padding:7px 12px!important;border-radius:999px!important;font-family:var(--font-head)!important;font-weight:950!important;font-size:.76rem!important;letter-spacing:.08em!important;box-shadow:0 10px 20px rgba(228,33,47,.18)}
.offer-star{font-size:.74rem;color:#fff}.offer-percent{display:inline-flex!important;align-items:center;justify-content:center;margin-left:auto;width:30px;height:30px;border-radius:50%;background:#fff2f2;color:#e4212f;border:1px solid rgba(228,33,47,.18);font-family:var(--font-head);font-weight:950}
.offer-price-grid{gap:10px!important;position:relative;z-index:1}.offer-price-grid article{padding:11px 12px!important}.offer-price-grid span{font-size:.78rem!important}.offer-price-grid strong{font-size:.94rem!important}.hero-offer-box p{font-size:.73rem!important;margin-top:8px!important;position:relative;z-index:1}
.hero-info-panel{display:none!important}

.footer-container{grid-template-columns:1.7fr 1fr 1.3fr 1fr!important;padding-left:22px!important;padding-right:22px!important}.footer-brand-col{justify-self:start;text-align:left}.footer-sub{color:#8edaff!important;letter-spacing:.08em!important}.footer-division-note{font-size:.88rem!important;color:rgba(255,255,255,.76)!important}

.modal-backdrop{overflow-y:auto!important;overscroll-behavior:contain!important;align-items:start!important;place-items:start center!important;padding:12px!important;background:rgba(15,23,42,.50)!important}
.modal.modal-consultation{width:min(1060px,96vw)!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;margin:auto 0!important;border-radius:22px!important;overscroll-behavior:contain!important}
.consult-modal-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;min-height:0!important;max-height:calc(100dvh - 24px)!important}
.consult-promo{min-height:0!important;padding:20px!important}.consult-promo-brand{padding:8px 10px!important}.consult-promo-brand img{width:82px!important}.consult-promo-brand strong{font-size:.92rem!important}.consult-promo-brand span{font-size:.66rem!important}
.consult-offer-ribbon{top:82px!important;left:20px!important;background:#e4212f!important;gap:5px!important}.offer-burst{position:absolute;z-index:4;right:28px;top:96px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#e4212f;font-family:var(--font-head);font-weight:950;font-size:1.5rem;box-shadow:0 12px 30px rgba(228,33,47,.18);border:2px dashed rgba(228,33,47,.38)}
.consult-offer-card{padding:17px!important;border-radius:20px!important}.consult-offer-card h3{font-size:1.22rem!important;margin-bottom:10px!important}.consult-price-row{padding:9px 0!important}.consult-price-row span{font-size:.78rem!important}.consult-price-row strong{font-size:.92rem!important}.consult-offer-card small{font-size:.68rem!important}
.consult-form-panel{max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;padding:28px 32px 24px!important;overscroll-behavior:contain!important}.modal-consultation h2{font-size:clamp(1.75rem,2.55vw,2.35rem)!important}.modal-consultation .modal-sub{margin-bottom:16px!important}.property-type-group{margin-bottom:14px!important}.modal-consultation .form-group{margin-bottom:10px!important}.modal-consultation .form-group input,.modal-consultation .form-group select,.modal-consultation .form-group textarea,.phone-field{min-height:45px!important}.modal-consultation .form-group textarea{min-height:70px!important}.personal-quote-line{margin-bottom:10px!important}.modal-consultation .modal-submit{position:sticky;bottom:0;width:100%;z-index:2}.service-single-group select:disabled{background:#f7f3ed!important;color:#888!important}

@media (max-width:980px){
  .hero{padding-top:34px!important}.hero-content{width:min(560px,100%)!important}.consult-modal-grid{grid-template-columns:1fr!important;max-height:none!important}.modal.modal-consultation{overflow-y:auto!important}.consult-promo{min-height:250px!important}.consult-promo:before{height:74%!important}.consult-form-panel{max-height:none!important;overflow:visible!important}.consult-offer-card{max-width:460px!important}
}
@media (max-width:760px){
  .navbar{padding-left:14px!important;padding-right:14px!important}.nav-logo img{width:80px!important}.nav-brand-text{max-width:calc(100vw - 164px)!important}.nav-brand-text strong{font-size:.76rem!important}.nav-brand-text span{font-size:.49rem!important;letter-spacing:.025em!important}.hero{padding:24px 14px 22px!important;min-height:auto!important}.hero-content{padding:24px 18px!important;border-radius:24px!important}.hero-logo-mark img{width:106px!important}.hero h1{font-size:clamp(1.85rem,9vw,2.55rem)!important}.hero-content>p:not(.eyebrow):not(.hero-trust-line){font-size:.92rem!important}.offer-price-grid{grid-template-columns:1fr!important}.hero-buttons{display:grid!important;grid-template-columns:1fr!important}.hero-buttons .btn{width:100%!important}.hero-chips{display:grid!important;grid-template-columns:1fr!important}.modal-backdrop{padding:8px!important}.modal.modal-consultation{width:100%!important;max-height:calc(100dvh - 16px)!important;border-radius:18px!important}.consult-promo{min-height:230px!important;padding:14px!important}.consult-promo-brand{max-width:92%!important}.consult-promo-brand img{width:68px!important}.consult-offer-ribbon{top:70px!important;left:14px!important;font-size:.62rem!important}.offer-burst{top:74px!important;right:18px!important;width:42px!important;height:42px!important;font-size:1.22rem!important}.consult-offer-card{padding:13px!important}.consult-offer-card h3{font-size:1rem!important}.consult-form-panel{padding:20px 14px 14px!important}.property-type-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.property-pill{font-size:.78rem!important;padding:8px!important}.modal-consultation .form-grid{grid-template-columns:1fr!important}.footer-container{grid-template-columns:1fr!important;gap:26px!important;padding-top:52px!important}.footer-bottom-flex{flex-direction:column!important;align-items:flex-start!important}.social-ticker{height:36px!important;--ticker-h:36px}.ticker-item{font-size:.78rem!important}.ticker-icon{width:20px!important;height:20px!important}
}
@media (max-width:390px){.nav-brand-text{display:none!important}.hero h1{font-size:1.9rem!important}.modal-consultation h2{font-size:1.42rem!important}.property-type-group{grid-template-columns:1fr 1fr!important}.consult-promo{min-height:220px!important}.consult-price-row{display:block!important}.consult-price-row strong{display:block!important;margin-top:2px!important}}


/* =========================
   FINAL V7 PROFESSIONAL FIXES
   ========================= */
.navbar{padding-left:24px!important;padding-right:34px!important}.nav-logo img{width:112px!important}.nav-brand-text strong{font-size:1.05rem!important}.nav-brand-text span{font-size:.68rem!important;letter-spacing:.035em!important}
.hero{min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;padding:26px clamp(20px,3.6vw,56px)!important;align-items:center!important}.hero-content{width:min(548px,44vw)!important;padding:28px 32px!important;border-radius:30px!important;background:rgba(255,255,255,.60)!important;backdrop-filter:blur(18px) saturate(1.14)!important;-webkit-backdrop-filter:blur(18px) saturate(1.14)!important}.hero-logo-mark img{width:116px!important;margin-bottom:10px!important}.eyebrow{font-size:.82rem!important;line-height:1.35!important;margin-bottom:12px!important}.hero h1{font-size:clamp(2.15rem,3.55vw,3.45rem)!important;line-height:1.03!important;margin-bottom:12px!important;max-width:10.7em!important}.hero h1::after{width:74px!important;height:3px!important;margin-top:10px!important}.hero-content>p:not(.eyebrow):not(.hero-trust-line){font-size:.94rem!important;line-height:1.58!important;margin-bottom:12px!important}.hero-offer-box{margin:10px 0 12px!important;padding:13px 14px!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,245,238,.64))!important}.offer-header{margin-bottom:9px!important}.offer-badge-red{font-size:.7rem!important}.offer-pulse{animation:offerPulse 1.9s ease-in-out infinite}.offer-spin{animation:offerWiggle 2.8s ease-in-out infinite}.offer-percent{margin-left:auto;width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;background:#fff;color:#e4212f;border:2px dashed rgba(228,33,47,.38);font-family:var(--font-head);font-weight:950;font-size:1.2rem}.offer-price-grid{gap:9px!important}.offer-price-grid article{padding:10px 11px!important}.offer-price-grid strong{font-size:1.05rem!important;color:#b51422!important}.hero-offer-box p{font-size:.72rem!important;margin-top:8px!important}.hero-trust-line{font-size:.8rem!important;margin-bottom:14px!important}.hero-buttons{margin-bottom:14px!important}.hero-chips{gap:8px!important}.hero-chips span{padding:7px 12px!important;font-size:.72rem!important}
@keyframes offerPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 9px 18px rgba(228,33,47,.18)}50%{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 26px rgba(228,33,47,.28)}}
@keyframes offerWiggle{0%,100%{transform:rotate(0deg) scale(1)}35%{transform:rotate(-7deg) scale(1.06)}70%{transform:rotate(7deg) scale(1.06)}}

/* quote popup V7 */
html.no-scroll,body.no-scroll{overflow:hidden!important}.modal-backdrop{overflow-y:auto!important;overscroll-behavior:contain!important;align-items:center!important;place-items:center!important;padding:14px!important;background:rgba(12,18,34,.52)!important}.modal.modal-consultation{width:min(1080px,96vw)!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;border-radius:24px!important;background:#fff!important;box-shadow:0 35px 120px rgba(4,16,35,.30)!important}.consult-modal-grid{display:grid!important;grid-template-columns:410px minmax(0,1fr)!important;min-height:0!important;max-height:calc(100dvh - 28px)!important}.consult-promo{position:relative!important;min-height:0!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:14px!important;overflow:hidden!important;background:#e9dfd2!important}.consult-promo-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,250,242,.18),rgba(245,235,222,.78)),url('../assets/images/client-gallery/luma-gallery-038.webp') center/cover no-repeat;filter:saturate(1.05);z-index:0}.consult-promo>*:not(.consult-promo-bg){position:relative;z-index:1}.consult-promo-brand{width:100%!important;max-width:none!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.78)!important;padding:10px 12px!important;border-radius:18px!important;display:flex!important;align-items:center!important;gap:12px!important}.consult-promo-brand img{width:86px!important;background:transparent!important}.consult-promo-brand strong{color:#0d2e6b!important;font-size:.98rem!important}.consult-promo-brand span{color:#d63384!important;font-weight:900!important;text-transform:uppercase!important;font-size:.72rem!important}.consult-super-offer{margin-top:2px!important;background:rgba(255,255,255,.90)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:24px!important;padding:18px!important;box-shadow:0 24px 54px rgba(71,39,16,.16)!important}.offer-topline{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#e4212f;color:#fff;font-family:var(--font-head);font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;animation:offerPulse 1.9s ease-in-out infinite}.spark{color:#fff7a1}.offer-mega-symbol{float:right;margin-top:-4px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#e4212f;border:2px dashed rgba(228,33,47,.45);font-family:var(--font-head);font-weight:950;font-size:1.75rem;animation:offerWiggle 2.6s ease-in-out infinite}.consult-super-offer h3{font-family:var(--font-head);font-size:1.32rem;line-height:1.12;margin:16px 0 12px;color:#301916}.big-price-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;padding:12px;border-radius:16px;background:#fff;border:1px solid rgba(181,20,34,.16);margin-bottom:10px}.big-price-card span{font-weight:900;color:#46312e;font-size:.86rem}.big-price-card strong{font-family:var(--font-head);font-size:1.42rem;color:#b51422;white-space:nowrap}.big-price-card em{grid-column:1/-1;font-style:normal;color:#7a6e68;font-size:.74rem;font-weight:700}.consult-super-offer p{font-size:.78rem;line-height:1.45;color:#6d625c;margin:9px 0 0}.division-note-clean{margin-top:auto;background:rgba(13,46,107,.86);color:#fff;border-radius:18px;padding:12px 14px;font-size:.83rem;line-height:1.55}.division-note-clean b{color:#8edaff}.consult-form-panel{max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;padding:30px 36px 24px!important;overscroll-behavior:contain!important}.modal-consultation h2{font-size:clamp(1.8rem,2.45vw,2.45rem)!important;margin-right:42px!important}.modal-consultation .modal-sub{margin-bottom:16px!important}.property-type-group{margin-bottom:13px!important}.modal-consultation .form-grid{gap:12px!important}.modal-consultation .form-group{margin-bottom:10px!important}.modal-consultation .form-group select option[hidden]{display:none}.modal-consultation .form-group input,.modal-consultation .form-group select,.modal-consultation .form-group textarea,.phone-field{min-height:44px!important;background:#fff!important}.modal-consultation .form-group textarea{min-height:64px!important}.modal-consultation .modal-submit{position:sticky!important;bottom:0!important;border-radius:12px!important;background:linear-gradient(135deg,#d63384,#e9509e)!important;font-size:1.05rem!important;box-shadow:0 15px 30px rgba(214,51,132,.24)!important}.modal-consultation .modal-submit:not(:disabled):hover{transform:translateY(-2px)!important}.service-single-group select:disabled{background:#fff!important;color:var(--ink)!important;cursor:not-allowed!important}.modal-consultation .modal-close{background:#fff!important;box-shadow:0 10px 22px rgba(0,0,0,.10)!important}

.footer-premium .footer-container{max-width:none!important;padding-left:44px!important;padding-right:44px!important}.footer-brand-col{justify-self:start!important;text-align:left!important}.footer-brand-lockup{display:flex;align-items:center;gap:16px;margin-bottom:20px}.footer-brand-lockup .footer-logo{width:112px!important;margin:0!important}.footer-brand-lockup h3{margin:0 0 6px!important}.footer-brand-lockup .footer-sub{margin:0 0 3px!important;color:#8edaff!important}.footer-brand-lockup .footer-division-note{margin:0!important;color:rgba(255,255,255,.72)!important}

@media (max-width:980px){.hero{padding:24px 18px 30px!important}.hero-content{width:min(620px,100%)!important}.consult-modal-grid{grid-template-columns:1fr!important;max-height:none!important}.modal.modal-consultation{overflow-y:auto!important}.consult-promo{min-height:auto!important}.consult-form-panel{max-height:none!important;overflow:visible!important}.consult-super-offer{padding:15px!important}.division-note-clean{margin-top:0}.modal-backdrop{align-items:start!important;place-items:start center!important}}
@media (max-width:560px){.navbar{padding-left:10px!important;padding-right:10px!important}.nav-logo img{width:78px!important}.nav-brand-text{max-width:calc(100vw - 150px)!important}.nav-brand-text strong{font-size:.74rem!important}.nav-brand-text span{font-size:.47rem!important}.hero{padding:16px 10px 20px!important;min-height:auto!important}.hero-content{padding:18px 16px!important;border-radius:22px!important;background:rgba(255,255,255,.66)!important}.hero-logo-mark img{width:96px!important;margin-bottom:7px!important}.eyebrow{font-size:.68rem!important;margin-bottom:8px!important}.hero h1{font-size:clamp(1.72rem,8.2vw,2.25rem)!important;margin-bottom:9px!important}.hero h1::after{margin-top:8px!important}.hero-content>p:not(.eyebrow):not(.hero-trust-line){font-size:.84rem!important;line-height:1.48!important;margin-bottom:9px!important}.hero-offer-box{padding:11px!important;margin:8px 0 10px!important}.offer-header{gap:7px!important;justify-content:flex-start!important;text-align:left!important}.offer-header strong{font-size:.78rem!important}.offer-percent{width:30px;height:30px;font-size:1rem}.offer-price-grid{grid-template-columns:1fr!important}.offer-price-grid article{padding:9px!important}.offer-price-grid strong{font-size:.96rem!important}.hero-offer-box p{font-size:.68rem!important}.hero-trust-line{font-size:.73rem!important;margin-bottom:10px!important}.hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-bottom:10px!important}.hero-buttons .btn{width:100%!important;min-height:44px!important}.hero-chips{display:none!important}.modal-backdrop{padding:7px!important}.modal.modal-consultation{width:100%!important;max-height:calc(100dvh - 14px)!important;border-radius:18px!important;overflow-y:auto!important}.consult-promo{padding:12px!important;gap:10px!important}.consult-promo-brand{padding:8px 9px!important}.consult-promo-brand img{width:62px!important}.consult-promo-brand strong{font-size:.8rem!important}.consult-promo-brand span{font-size:.57rem!important}.consult-super-offer{border-radius:18px!important;padding:12px!important}.offer-topline{font-size:.61rem!important;padding:6px 9px!important}.offer-mega-symbol{width:42px!important;height:42px!important;font-size:1.2rem!important}.consult-super-offer h3{font-size:1rem!important;margin:12px 0 9px!important}.big-price-card{padding:9px!important;grid-template-columns:1fr!important}.big-price-card strong{font-size:1.13rem!important}.division-note-clean{font-size:.75rem!important;border-radius:14px!important}.consult-form-panel{padding:18px 12px 12px!important}.modal-consultation h2{font-size:1.45rem!important;margin-right:38px!important}.modal-consultation .modal-sub{font-size:.82rem!important}.property-type-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important;gap:7px!important}.property-pill{font-size:.76rem!important;padding:8px 6px!important}.modal-consultation .form-grid{grid-template-columns:1fr!important}.modal-consultation .form-group input,.modal-consultation .form-group select,.modal-consultation .form-group textarea,.phone-field{min-height:44px!important;font-size:.9rem!important}.footer-premium .footer-container{padding-left:18px!important;padding-right:18px!important}.footer-brand-lockup{align-items:flex-start}.footer-brand-lockup .footer-logo{width:88px!important}}

/* ============================================================
   First-screen-only fit refinement (desktop)
   Keeps all existing content and structure unchanged.
   ============================================================ */
@media (min-width:981px){
  .hero{
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    padding:18px var(--pad)!important;
  }
  .hero-content{
    width:min(550px,100%)!important;
    padding:22px 30px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.56)!important;
    backdrop-filter:blur(12px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(12px) saturate(1.08)!important;
    border-color:rgba(255,255,255,.58)!important;
    box-shadow:0 18px 54px rgba(17,24,39,.08)!important;
  }
  .hero-logo-mark img{
    width:108px!important;
    margin-bottom:8px!important;
  }
  .eyebrow{
    font-size:.66rem!important;
    margin-bottom:6px!important;
  }
  .hero h1{
    font-size:clamp(1.95rem,3.15vw,3.05rem)!important;
    line-height:1.02!important;
    margin-bottom:8px!important;
  }
  .hero h1::after{
    width:68px!important;
    height:3px!important;
    margin-top:8px!important;
  }
  .hero-content>p:not(.eyebrow):not(.hero-trust-line){
    font-size:.90rem!important;
    line-height:1.44!important;
    margin-bottom:8px!important;
  }
  .hero-offer-box{
    padding:10px 12px!important;
    margin:7px 0 8px!important;
    border-radius:17px!important;
    background:rgba(255,250,247,.70)!important;
  }
  .offer-header{
    gap:8px!important;
    margin-bottom:7px!important;
  }
  .offer-header strong{
    font-size:.78rem!important;
  }
  .offer-badge-red{
    padding:6px 10px!important;
    font-size:.64rem!important;
  }
  .offer-percent{
    width:30px!important;
    height:30px!important;
    font-size:1rem!important;
  }
  .offer-price-grid{
    gap:8px!important;
  }
  .offer-price-grid article{
    padding:8px 10px!important;
  }
  .offer-price-grid article span{
    font-size:.72rem!important;
  }
  .offer-price-grid strong{
    font-size:.96rem!important;
  }
  .hero-offer-box p{
    font-size:.66rem!important;
    line-height:1.35!important;
    margin-top:6px!important;
  }
  .hero-trust-line{
    font-size:.76rem!important;
    margin:8px 0!important;
  }
  .hero-buttons{
    gap:10px!important;
    margin:8px 0 9px!important;
  }
  .hero-buttons .btn{
    padding:11px 24px!important;
    font-size:.88rem!important;
  }
  .hero-chips{
    gap:7px!important;
  }
  .hero-chips span{
    padding:6px 10px!important;
    font-size:.68rem!important;
  }
}


/* ============================================================
   Final first-screen panel refinement only
   Uses the available vertical space without exceeding viewport.
   ============================================================ */
@media (min-width:981px){
  .hero-content{
    width:min(570px,100%)!important;
    padding:50px 34px!important;
    background:rgba(255,255,255,.47)!important;
    border-color:rgba(255,255,255,.52)!important;
    box-shadow:0 18px 54px rgba(17,24,39,.07)!important;
  }
}

/* ============================================================
   Hero panel transparency + content fit only
   Keeps the existing panel dimensions and all other sections intact.
   ============================================================ */
.hero-content{
  box-sizing:border-box!important;
}
@media (min-width:981px){
  .hero-content{
    background:rgba(255,255,255,.10)!important;
    backdrop-filter:blur(18px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.02)!important;
    border-color:rgba(255,255,255,.34)!important;
  }
  .hero-content>*{
    flex-shrink:0;
  }
}
@media (max-width:980px){
  .hero-content{
    background:rgba(255,255,255,.10)!important;
    backdrop-filter:blur(18px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.02)!important;
    border-color:rgba(255,255,255,.34)!important;
  }
}

/* ============================================================
   Hero panel ultra-transparency + internal spacing refinement only
   Keeps the existing panel dimensions, text, structure and site untouched.
   ============================================================ */
.hero-content{
  background:rgba(255,255,255,.01)!important;
  backdrop-filter:blur(5px) saturate(1.01)!important;
  -webkit-backdrop-filter:blur(5px) saturate(1.01)!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 18px 54px rgba(17,24,39,.035)!important;
}
@media (min-width:981px){
  .hero-content{
    padding:34px 34px!important;
  }
  .hero-logo-mark img{
    margin-bottom:12px!important;
  }
  .eyebrow{
    margin-bottom:9px!important;
  }
  .hero h1{
    margin-bottom:12px!important;
  }
  .hero h1::after{
    margin-top:10px!important;
  }
  .hero-content>p:not(.eyebrow):not(.hero-trust-line){
    margin-bottom:12px!important;
  }
  .hero-offer-box{
    margin:10px 0 12px!important;
  }
  .hero-trust-line{
    margin:10px 0!important;
  }
  .hero-buttons{
    margin:10px 0 11px!important;
  }
  .hero-chips{
    margin-top:1px!important;
  }
}
@media (max-width:980px){
  .hero-content{
    background:rgba(255,255,255,.01)!important;
    backdrop-filter:blur(5px) saturate(1.01)!important;
    -webkit-backdrop-filter:blur(5px) saturate(1.01)!important;
    border-color:rgba(255,255,255,.20)!important;
    box-shadow:0 14px 40px rgba(17,24,39,.03)!important;
  }
}

/* ============================================================
   Floating WhatsApp + Call controls only
   Restored compact, functional layout with a single hover card.
   ============================================================ */
.floating-contact-stack{
  position:fixed;
  right:36px;
  bottom:24px;
  z-index:900;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.floating-contact-link{
  position:relative;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  isolation:isolate;
  outline:none;
}
.floating-contact-button{
  position:relative;
  z-index:3;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  color:#fff;
  border:3px solid #17291e;
  box-shadow:
    0 0 0 6px #17291e,
    0 6px 15px rgba(0,0,0,.30),
    inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .18s ease,box-shadow .18s ease;
}
.floating-contact-button svg{
  display:block;
  fill:currentColor;
}
.floating-whatsapp .floating-contact-button{
  background:#20c864;
}
.floating-call .floating-contact-button{
  background:linear-gradient(145deg,#ee5aa1,#ca2f78);
}
.floating-whatsapp .floating-contact-button svg{
  width:30px;
  height:30px;
}
.floating-call .floating-contact-button svg{
  width:26px;
  height:26px;
}

/* Subtle WhatsApp pulse, centred behind the button. */
.floating-whatsapp::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  border-radius:50%;
  border:2px solid rgba(32,200,100,.55);
  transform:translate(-50%,-50%) scale(.94);
  z-index:0;
  pointer-events:none;
  animation:lumaFloatingPulse 2.35s ease-out infinite;
}
@keyframes lumaFloatingPulse{
  0%,35%{opacity:.68;transform:translate(-50%,-50%) scale(.94)}
  75%{opacity:.12;transform:translate(-50%,-50%) scale(1.24)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.30)}
}

/* Contact cards appear beside the matching button on hover/focus. */
.floating-contact-tooltip{
  position:absolute;
  right:76px;
  top:50%;
  width:172px;
  min-height:64px;
  padding:11px 13px 10px;
  border-radius:9px;
  background:#171714;
  color:#fff;
  border:1px solid rgba(199,174,92,.26);
  box-shadow:0 9px 22px rgba(0,0,0,.34);
  transform:translate(8px,-50%) scale(.98);
  transform-origin:right center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:8;
  transition:opacity .15s ease,transform .18s ease,visibility .15s ease;
}
.floating-contact-tooltip::after{
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  transform:translateY(-50%);
  border-width:7px 0 7px 8px;
  border-style:solid;
  border-color:transparent transparent transparent #171714;
}
.floating-contact-tooltip strong{
  display:flex;
  align-items:center;
  gap:6px;
  color:#c7b75f;
  font-family:var(--font-head);
  font-size:.73rem;
  line-height:1.15;
  letter-spacing:.07em;
  margin-bottom:4px;
  white-space:nowrap;
}
.floating-contact-tooltip strong::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#22ca66;
  box-shadow:0 0 0 2px rgba(34,202,102,.12);
}
.floating-contact-tooltip small{
  display:block;
  color:rgba(255,255,255,.86);
  font-family:var(--font-body);
  font-size:.74rem;
  line-height:1.3;
  text-align:left;
}
.floating-whatsapp:hover > .floating-contact-tooltip,
.floating-whatsapp:focus-visible > .floating-contact-tooltip,
.floating-call:hover > .floating-contact-tooltip,
.floating-call:focus-visible > .floating-contact-tooltip{
  opacity:1;
  visibility:visible;
  transform:translate(0,-50%) scale(1);
}
.floating-call .floating-contact-tooltip strong::before{
  background:#df3d8f;
  box-shadow:0 0 0 2px rgba(223,61,143,.14);
}
.floating-contact-link:hover .floating-contact-button,
.floating-contact-link:focus-visible .floating-contact-button{
  transform:translateY(-1px) scale(1.035);
}
.floating-contact-link:focus-visible .floating-contact-button{
  outline:3px solid rgba(27,164,230,.38);
  outline-offset:5px;
}

@media (max-width:560px){
  .floating-contact-stack{right:20px;bottom:18px;gap:11px}
  .floating-contact-link{width:54px;height:54px}
  .floating-contact-button{width:47px;height:47px;box-shadow:0 0 0 5px #17291e,0 5px 13px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.12)}
  .floating-whatsapp .floating-contact-button svg{width:29px;height:29px}
  .floating-call .floating-contact-button svg{width:25px;height:25px}
  .floating-whatsapp::before{width:54px;height:54px}
  .floating-contact-tooltip{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .floating-whatsapp::before{animation:none!important;opacity:.28;transform:translate(-50%,-50%) scale(1)}
}


/* Division cards: use available section space without affecting other areas */
.division-section .container{max-width:1320px}
.division-section .division-grid{gap:28px}
.division-section .division-card{
  min-height:480px;
  padding:40px 38px 34px;
  display:flex;
  flex-direction:column;
}
.division-section .division-card .service-link{margin-top:auto;align-self:flex-start}
.division-section .division-pill{
  align-self:flex-start;
  width:fit-content;
  max-width:100%;
  white-space:nowrap;
  padding:11px 18px;
  font-size:.96rem;
  letter-spacing:.11em;
  background:rgba(13,46,107,.12);
  border:1px solid rgba(13,46,107,.12);
  box-shadow:0 8px 20px rgba(13,46,107,.08);
}
.division-section .division-upvc .division-pill{
  background:rgba(214,51,132,.12);
  border-color:rgba(214,51,132,.14);
}
.division-section .division-card h3{font-size:2rem;margin-top:18px}
.division-section .division-card p{font-size:1.03rem;line-height:1.65;margin-bottom:20px}
.division-section .division-card ul{gap:11px 18px;margin-bottom:28px}
.division-section .division-card li{font-size:.98rem}
@media (max-width:880px){
  .division-section .container{max-width:var(--max)}
  .division-section .division-card{min-height:auto;padding:30px 24px}
  .division-section .division-pill{font-size:.82rem;padding:9px 14px}
  .division-section .division-card h3{font-size:1.65rem}
}


/* Featured projects — horizontal carousel */
.featured-project-section {
  background: #fbf7ef;
  padding-top: clamp(50px, 5vw, 72px);
  padding-bottom: clamp(52px, 5.5vw, 78px);
}
.featured-project-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.featured-project-heading > span {
  width: 4px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f2b742 0%, #df8f23 100%);
  flex: 0 0 auto;
}
.featured-project-heading h2 {
  margin: 0;
  color: #11152c;
  font-size: clamp(2rem, 3vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.featured-project-slider { position: relative; }
.featured-project-viewport {
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 18px 42px rgba(33, 44, 72, 0.11);
}
.featured-project-track {
  display: flex;
  width: 100%;
  transform: translate3d(0,0,0);
  transition: transform .68s cubic-bezier(.22,.82,.26,1);
  will-change: transform;
}
.featured-project-card {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, 0.98fr);
  min-height: 344px;
  overflow: hidden;
  border: 1px solid rgba(21, 40, 79, 0.11);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.97);
}
.featured-project-image {
  min-height: 344px;
  overflow: hidden;
  background: #eee7dc;
}
.featured-project-image img {
  width: 100%;
  height: 100%;
  min-height: 344px;
  object-fit: cover;
  object-position: center;
  transition: transform .6s ease;
}
.featured-project-card:hover .featured-project-image img { transform: scale(1.025); }
.featured-project-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(26px, 3.6vw, 44px);
}
.featured-project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 14px;
  color: #a86b12;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
}
.featured-project-meta span:first-child {
  padding: 7px 13px;
  border-radius: 999px;
  background: #fff4d7;
}
.featured-project-meta span:last-child {
  display: inline-flex;
  align-items: center;
  color: #7a8194;
}
.featured-project-content h3 {
  margin: 0 0 13px;
  color: #17234b;
  font-size: clamp(1.72rem, 2.75vw, 2.72rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}
.featured-project-content p {
  margin: 0 0 21px;
  color: #656d80;
  font-size: 1rem;
  line-height: 1.62;
}
.featured-project-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #b47715;
  font-weight: 800;
  text-decoration: none;
}
.featured-project-link span { transition: transform .25s ease; }
.featured-project-link:hover span,
.featured-project-link:focus-visible span { transform: translateX(5px); }
.featured-project-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  padding: 11px 13px 11px 18px;
  border-radius: 18px;
  background: #102341;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 28px rgba(16,35,65,.16);
}
.featured-project-dots {
  display: flex;
  align-items: center;
  gap: 9px;
}
.featured-project-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.32);
  cursor: pointer;
  transition: width .28s ease, background .28s ease, transform .28s ease;
}
.featured-project-dot:hover { transform: scale(1.18); background: rgba(255,255,255,.62); }
.featured-project-dot.active {
  width: 27px;
  background: linear-gradient(90deg, #f4b43d, #ed8c2c);
}
.featured-project-arrows { display: flex; gap: 9px; }
.featured-project-arrow {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1.15rem;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.featured-project-arrow:hover,
.featured-project-arrow:focus-visible {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.46);
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .featured-project-card { grid-template-columns: 1fr; min-height: auto; }
  .featured-project-image,
  .featured-project-image img { min-height: 276px; height: 276px; }
  .featured-project-content { padding: 28px 28px 31px; }
}
@media (max-width: 600px) {
  .featured-project-section { padding-top: 44px; padding-bottom: 52px; }
  .featured-project-heading { margin-bottom: 20px; }
  .featured-project-heading > span { height: 28px; }
  .featured-project-viewport,
  .featured-project-card { border-radius: 22px; }
  .featured-project-image,
  .featured-project-image img { min-height: 220px; height: 220px; }
  .featured-project-content { padding: 24px 22px 27px; }
  .featured-project-content h3 { font-size: 1.72rem; }
  .featured-project-content p { font-size: .96rem; line-height: 1.58; margin-bottom: 20px; }
  .featured-project-controls { margin-top: 14px; padding: 9px 10px 9px 14px; }
  .featured-project-dots { gap: 7px; }
  .featured-project-arrow { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .featured-project-track { transition: none; }
}


/* Featured Projects: viewport-fit card and Luma-theme controls */
.featured-project-controls {
  margin-top: 12px;
  padding: 8px 10px 8px 14px;
  border: 1px solid rgba(23, 35, 75, 0.10);
  background: rgba(255, 252, 247, 0.94);
  box-shadow: 0 10px 26px rgba(35, 42, 68, 0.10);
}
.featured-project-dot {
  background: rgba(23, 35, 75, 0.22);
}
.featured-project-dot:hover {
  background: rgba(228, 56, 132, 0.48);
}
.featured-project-dot.active {
  background: linear-gradient(90deg, #e83e8c 0%, #f2b742 100%);
}
.featured-project-arrow {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(228, 56, 132, 0.26);
  background: #ffffff;
  color: #17234b;
  box-shadow: 0 5px 14px rgba(23, 35, 75, 0.08);
}
.featured-project-arrow:hover,
.featured-project-arrow:focus-visible {
  border-color: #e83e8c;
  background: linear-gradient(135deg, #e83e8c 0%, #ef6aa7 100%);
  color: #ffffff;
  box-shadow: 0 7px 18px rgba(232, 62, 140, 0.22);
}

@media (min-width: 901px) {
  .featured-project-section {
    min-height: calc(100svh - 112px);
    display: flex;
    align-items: center;
    padding-top: clamp(22px, 3vh, 34px);
    padding-bottom: clamp(24px, 3vh, 36px);
  }
  .featured-project-section > .container {
    width: 100%;
  }
  .featured-project-heading {
    margin-bottom: 14px;
  }
  .featured-project-heading > span {
    height: 29px;
  }
  .featured-project-heading h2 {
    font-size: clamp(1.9rem, 2.45vw, 2.35rem);
  }
  .featured-project-card {
    height: clamp(340px, 52svh, 430px);
    min-height: 0;
  }
  .featured-project-image,
  .featured-project-image img {
    height: 100%;
    min-height: 0;
  }
  .featured-project-content {
    padding: clamp(22px, 2.8vw, 34px);
  }
  .featured-project-meta {
    margin-bottom: 10px;
  }
  .featured-project-content h3 {
    margin-bottom: 10px;
    font-size: clamp(1.58rem, 2.15vw, 2.18rem);
    line-height: 1.05;
  }
  .featured-project-content p {
    margin-bottom: 16px;
    font-size: .94rem;
    line-height: 1.5;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .featured-project-section {
    min-height: calc(100svh - 106px);
    padding-top: 16px;
    padding-bottom: 18px;
  }
  .featured-project-heading {
    margin-bottom: 10px;
  }
  .featured-project-card {
    height: clamp(300px, 48svh, 350px);
  }
  .featured-project-content {
    padding: 20px 26px;
  }
  .featured-project-content h3 {
    font-size: clamp(1.45rem, 2vw, 1.95rem);
  }
  .featured-project-content p {
    font-size: .9rem;
    line-height: 1.42;
    margin-bottom: 13px;
  }
  .featured-project-controls {
    margin-top: 9px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .featured-project-arrow {
    width: 34px;
    height: 34px;
  }
}


/* Featured Projects: controls above card, open layout */
.featured-project-section > .container {
  width: min(calc(100% - 48px), 1440px);
  max-width: none;
}
.featured-project-heading {
  margin-bottom: 18px;
}
.featured-project-heading h2 {
  font-size: clamp(2.35rem, 3.65vw, 3.35rem);
}
.featured-project-heading > span {
  height: 40px;
}
.featured-project-controls {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.featured-project-dots {
  padding-left: 2px;
}
.featured-project-arrows {
  padding-right: 2px;
}
@media (max-width: 900px) {
  .featured-project-section > .container {
    width: min(calc(100% - 28px), 1440px);
  }
  .featured-project-heading h2 {
    font-size: clamp(2.15rem, 7.5vw, 2.8rem);
  }
  .featured-project-heading > span {
    height: 34px;
  }
  .featured-project-controls {
    margin-bottom: 13px;
  }
}

/* Home gallery: prominent link to the complete gallery */
.gallery-view-more-wrap{display:flex;justify-content:center;margin-top:28px}
.gallery-view-more{display:inline-flex;align-items:center;gap:10px;min-width:260px;justify-content:center;font-weight:800}
.gallery-view-more span{font-size:.82em;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:560px){.gallery-view-more-wrap{margin-top:22px}.gallery-view-more{width:100%;min-width:0}}


/* Home hero: compact callback card */
.hero-callback-card{position:relative;z-index:2;width:min(330px,100%);margin-left:auto;align-self:center;border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(13,46,107,.10);box-shadow:0 18px 48px rgba(13,46,107,.16);opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.hero-callback-card.visible{opacity:1;transform:none}
.hero-callback-head{padding:18px 20px 16px;background:linear-gradient(135deg,var(--royal),#263f95 72%,var(--pink));color:#fff;border-bottom:3px solid var(--pink)}
.hero-callback-head span{display:inline-block;margin-bottom:5px;font-family:var(--font-head);font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#9feaff}
.hero-callback-head h2{margin:0 0 6px;font-family:var(--font-head);font-size:1.28rem;line-height:1.15;color:#fff;letter-spacing:-.02em}
.hero-callback-head p{margin:0!important;color:rgba(255,255,255,.84)!important;font-size:.82rem!important;line-height:1.42!important}
#hero-callback-form{display:grid;gap:10px;padding:17px 20px 18px;background:#fff}
#hero-callback-form label{font-family:var(--font-head);font-size:.75rem;font-weight:800;color:var(--royal)}
.hero-callback-phone{display:flex;align-items:center;min-height:46px;border:1px solid rgba(13,46,107,.20);border-radius:10px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.hero-callback-phone:focus-within{border-color:rgba(214,51,132,.55);box-shadow:0 0 0 3px rgba(214,51,132,.10)}
.hero-callback-phone span{flex:0 0 auto;padding:0 11px;color:#566078;font-weight:800;border-right:1px solid rgba(13,46,107,.12)}
.hero-callback-phone input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;padding:11px 12px}
#hero-callback-form button{min-height:46px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--pink),#b82473);color:#fff;font-family:var(--font-head);font-size:.92rem;font-weight:900;padding:12px 15px;box-shadow:0 10px 24px rgba(214,51,132,.24);transition:transform .2s ease,box-shadow .2s ease}
#hero-callback-form button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(214,51,132,.30)}
#hero-callback-form button:active{transform:none}
.hero-callback-status{min-height:1em;margin:0!important;color:#b42352!important;font-size:.74rem!important;font-weight:700;line-height:1.3!important;text-align:center}
@media (max-width:880px){.hero-callback-card{width:min(590px,100%);margin:0 auto}.hero-callback-head{text-align:center}.hero-callback-head p{margin-left:auto!important;margin-right:auto!important}}
@media (max-width:560px){.hero-callback-card{border-radius:18px}.hero-callback-head{padding:16px 16px 14px}.hero-callback-head h2{font-size:1.18rem}#hero-callback-form{padding:15px 16px 16px}.hero-callback-phone input{font-size:16px}}


/* Form submission disclosure — replaces checkbox consent */
.form-legal-note{margin:4px 0 14px;color:var(--muted);font-size:.76rem;line-height:1.45;text-align:center}
.form-legal-note a{color:var(--royal);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.hero-callback-legal{margin:0!important;font-size:.68rem!important;line-height:1.4!important;color:#667085!important}
@media (max-width:560px){.form-legal-note{font-size:.72rem}.hero-callback-legal{font-size:.66rem!important}}

/* Home hero callback card — compact bottom-centre placement */
@media (min-width:881px){
  .hero{padding-bottom:214px}
  .hero-callback-card{
    position:absolute;
    left:50%;
    bottom:18px;
    width:min(570px,calc(100% - 56px));
    margin:0;
    align-self:auto;
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(0,1.34fr);
    border-radius:18px;
    transform:translate(-50%,18px);
    box-shadow:0 16px 44px rgba(13,46,107,.15)
  }
  .hero-callback-card.visible{transform:translate(-50%,0)}
  .hero-callback-head{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:15px 17px;
    border-bottom:0;
    border-right:3px solid var(--pink)
  }
  .hero-callback-head span{font-size:.61rem;margin-bottom:4px}
  .hero-callback-head h2{font-size:1.02rem;line-height:1.12;margin-bottom:5px}
  .hero-callback-head p{font-size:.71rem!important;line-height:1.35!important}
  #hero-callback-form{
    grid-template-columns:minmax(0,1fr) 142px;
    grid-template-areas:
      "label label"
      "phone button"
      "legal legal"
      "status status";
    gap:6px 10px;
    align-content:center;
    padding:12px 14px 11px
  }
  #hero-callback-form label{grid-area:label;font-size:.69rem}
  .hero-callback-phone{grid-area:phone;min-height:42px}
  .hero-callback-phone span{padding:0 9px;font-size:.85rem}
  .hero-callback-phone input{padding:9px 10px;font-size:.84rem}
  #hero-callback-form button{grid-area:button;min-height:42px;padding:9px 11px;font-size:.79rem;white-space:nowrap}
  .hero-callback-legal{grid-area:legal;font-size:.59rem!important;line-height:1.28!important;text-align:left!important}
  .hero-callback-status{grid-area:status;min-height:0;font-size:.66rem!important}
}

@media (max-width:880px){
  .hero-callback-card{width:min(430px,100%);margin:2px auto 0}
  .hero-callback-head{padding:14px 16px 12px}
  .hero-callback-head h2{font-size:1.05rem}
  .hero-callback-head p{font-size:.76rem!important}
  #hero-callback-form{padding:13px 15px 14px;gap:8px}
  .hero-callback-phone,#hero-callback-form button{min-height:43px}
}


/* Global floating quick-enquiry card — top-right below the fixed header */
.site-callback-card{
  position:fixed;
  top:calc(var(--nav-h) + var(--ticker-h) + 16px);
  right:24px;
  z-index:940;
  width:min(310px,calc(100vw - 32px));
  overflow:hidden;
  border:1px solid rgba(13,46,107,.12);
  border-radius:20px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 55px rgba(13,46,107,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px) scale(.985);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
  isolation:isolate;
}
.site-callback-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--cyan),var(--pink),var(--yellow));
  z-index:2;
}
.site-callback-card.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.site-callback-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:4;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(13,46,107,.10);
  border-radius:999px;
  background:#fff;
  color:#566078;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(13,46,107,.10);
  transition:transform .2s ease,color .2s ease,border-color .2s ease;
}
.site-callback-close:hover{
  color:var(--pink);
  border-color:rgba(214,51,132,.28);
  transform:rotate(6deg) scale(1.04);
}
.site-callback-copy{
  padding:22px 50px 11px 20px;
  background:linear-gradient(135deg,rgba(13,46,107,.055),rgba(214,51,132,.035));
}
.site-callback-kicker{
  margin:0 0 5px!important;
  color:var(--pink)!important;
  font-family:var(--font-head);
  font-size:.65rem!important;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.2!important;
  text-transform:uppercase;
}
.site-callback-copy h2{
  margin:0 0 6px;
  color:var(--royal);
  font-family:var(--font-head);
  font-size:1.18rem;
  line-height:1.15;
  letter-spacing:-.025em;
}
.site-callback-copy>p:last-child{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
  line-height:1.42!important;
}
.site-callback-card #hero-callback-form{
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:none;
  gap:8px;
  padding:13px 20px 16px;
  background:#fff;
}
.site-callback-card #hero-callback-form label{
  font-family:var(--font-head);
  font-size:.7rem;
  font-weight:800;
  color:var(--royal);
}
.site-callback-card .hero-callback-phone{
  min-height:43px;
  border-radius:11px;
}
.site-callback-card .hero-callback-phone span{
  padding:0 10px;
  font-size:.84rem;
}
.site-callback-card .hero-callback-phone input{
  padding:10px;
  font-size:.84rem;
}
.site-callback-card #hero-callback-form button{
  min-height:43px;
  border-radius:11px;
  padding:10px 13px;
  font-size:.84rem;
}
.site-callback-card .hero-callback-legal{
  margin:0!important;
  color:#697386!important;
  font-size:.58rem!important;
  line-height:1.35!important;
  text-align:left!important;
}
.site-callback-card .hero-callback-status{
  min-height:0;
  margin:0!important;
  font-size:.65rem!important;
}
@media (max-width:880px){
  .site-callback-card{
    top:calc(var(--nav-h) + var(--ticker-h) + 12px);
    right:14px;
    width:min(300px,calc(100vw - 28px));
  }
}
@media (max-width:560px){
  .site-callback-card{
    top:calc(var(--nav-h) + var(--ticker-h) + 10px);
    right:10px;
    width:min(292px,calc(100vw - 20px));
    border-radius:17px;
  }
  .site-callback-copy{padding:18px 46px 9px 16px}
  .site-callback-copy h2{font-size:1.05rem}
  .site-callback-copy>p:last-child{font-size:.73rem!important}
  .site-callback-card #hero-callback-form{padding:11px 16px 13px;gap:7px}
  .site-callback-card .hero-callback-phone input{font-size:16px}
}

/* Floating enquiry card — final compact top-right layout fix */
.site-callback-card{
  top:calc(var(--nav-h) + var(--ticker-h) + 18px);
  right:26px;
  width:min(342px,calc(100vw - 36px));
  max-height:calc(100vh - var(--nav-h) - var(--ticker-h) - 36px);
  overflow-x:hidden;
  overflow-y:auto;
  border-radius:18px;
  background:rgba(255,255,255,.985);
  box-shadow:0 20px 52px rgba(13,46,107,.24);
}
.site-callback-copy{
  padding:20px 54px 13px 20px;
  background:linear-gradient(135deg,rgba(13,46,107,.045),rgba(214,51,132,.028));
}
.site-callback-copy h2{
  margin-bottom:7px;
  font-size:1.16rem;
  line-height:1.18;
}
.site-callback-copy>p:last-child{
  font-size:.79rem!important;
  line-height:1.42!important;
}
.site-callback-card #hero-callback-form{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:none!important;
  gap:9px;
  padding:14px 20px 17px;
}
.site-callback-card #hero-callback-form > *{
  grid-area:auto!important;
  min-width:0;
}
.site-callback-card #hero-callback-form label{
  display:block;
  margin:0;
  font-size:.72rem;
}
.site-callback-card .hero-callback-phone{
  width:100%;
  min-height:46px;
  display:flex;
}
.site-callback-card .hero-callback-phone input{
  flex:1 1 auto;
  width:1%;
  min-width:0;
  padding:11px 12px;
  font-size:.9rem;
}
.site-callback-card #hero-callback-form button{
  width:100%;
  min-height:46px;
  margin:0;
  padding:11px 14px;
  font-size:.88rem;
}
.site-callback-card .hero-callback-legal{
  display:block;
  margin:0!important;
  padding:0 1px;
  font-size:.61rem!important;
  line-height:1.4!important;
  overflow-wrap:anywhere;
}
.site-callback-card .hero-callback-status{
  display:block;
  min-height:0;
  line-height:1.25!important;
}
@media (max-width:880px){
  .site-callback-card{
    top:calc(var(--nav-h) + var(--ticker-h) + 14px);
    right:14px;
    width:min(328px,calc(100vw - 28px));
  }
}
@media (max-width:560px){
  .site-callback-card{
    top:calc(var(--nav-h) + var(--ticker-h) + 10px);
    right:10px;
    width:min(318px,calc(100vw - 20px));
    max-height:calc(100vh - var(--nav-h) - var(--ticker-h) - 20px);
    border-radius:16px;
  }
  .site-callback-copy{padding:18px 48px 11px 16px}
  .site-callback-copy h2{font-size:1.06rem}
  .site-callback-copy>p:last-child{font-size:.74rem!important}
  .site-callback-card #hero-callback-form{padding:12px 16px 15px;gap:8px}
  .site-callback-card .hero-callback-phone{min-height:44px}
  .site-callback-card #hero-callback-form button{min-height:44px}
  .site-callback-card .hero-callback-legal{font-size:.59rem!important}
}


/* ============================================================
   Mobile card swiping + experience highlights
   Scoped to the requested Home/About updates only.
   ============================================================ */
.experience-badge{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:8px 13px 8px 9px;border-radius:999px;background:linear-gradient(135deg,rgba(13,46,107,.10),rgba(214,51,132,.10));border:1px solid rgba(13,46,107,.12);box-shadow:0 10px 24px rgba(13,46,107,.08);color:var(--royal);font-family:var(--font-head);margin:0 0 14px}
.experience-badge span{display:grid;place-items:center;min-width:46px;height:34px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,var(--royal),#294ba0);color:#fff;font-size:1.02rem;font-weight:950;letter-spacing:-.02em;box-shadow:0 8px 18px rgba(13,46,107,.18)}
.experience-badge strong{font-size:.76rem;line-height:1.18;letter-spacing:.02em;text-transform:uppercase}
.about-experience-badge{margin:20px 0 22px}

@media (max-width:760px){
  .hero-intro-copy{display:none!important}
  .hero-experience-badge{margin-bottom:8px;padding:6px 10px 6px 7px;gap:8px}
  .hero-experience-badge span{min-width:42px;height:30px;font-size:.92rem}
  .hero-experience-badge strong{font-size:.65rem}
  .hero h1{margin-top:0!important}

  #gallery-preview .gallery-grid,
  #services .services-grid-8{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:4px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    padding:4px 4px 14px!important;
    margin-left:-4px;
    margin-right:-4px;
    scrollbar-width:none;
  }
  #gallery-preview .gallery-grid::-webkit-scrollbar,
  #services .services-grid-8::-webkit-scrollbar{display:none}
  #gallery-preview .gallery-item{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    scroll-snap-align:start;
  }
  #services .service-card{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    scroll-snap-align:start;
  }
  #gallery-preview .gallery-item img{height:300px!important;object-fit:cover}
  .about-experience-badge{margin:16px 0 18px}
}


/* ============================================================
   Final hero panel redesign — half-screen professional layout only
   Keeps the existing hero content and all other sections unchanged.
   ============================================================ */
@media (min-width:981px){
  .hero{
    padding:16px clamp(28px,3.2vw,52px)!important;
    align-items:center!important;
  }
  .hero-content{
    width:min(calc(50vw - 30px),760px)!important;
    max-width:none!important;
    padding:26px 32px 24px!important;
    border-radius:30px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.44),rgba(255,249,243,.24))!important;
    backdrop-filter:blur(16px) saturate(1.06)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.06)!important;
    border:1px solid rgba(255,255,255,.58)!important;
    box-shadow:0 24px 70px rgba(13,46,107,.10)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .hero-logo-mark img{
    width:112px!important;
    margin-bottom:8px!important;
  }
  .eyebrow{
    font-size:.69rem!important;
    line-height:1.25!important;
    margin-bottom:7px!important;
  }
  .hero-experience-badge{
    margin-bottom:10px!important;
  }
  .hero h1{
    max-width:12em!important;
    font-size:clamp(2.3rem,3.35vw,3.5rem)!important;
    line-height:1.01!important;
    letter-spacing:-.046em!important;
    margin-bottom:8px!important;
  }
  .hero h1::after{
    margin-top:8px!important;
  }
  .hero-content>p:not(.eyebrow):not(.hero-trust-line){
    max-width:620px!important;
    font-size:.91rem!important;
    line-height:1.42!important;
    margin-bottom:8px!important;
  }
  .hero-offer-box{
    margin:8px 0 8px!important;
    padding:11px 13px!important;
    border-radius:18px!important;
    background:rgba(255,250,247,.72)!important;
  }
  .offer-header{
    gap:8px!important;
    margin-bottom:7px!important;
  }
  .offer-badge-red{
    padding:7px 11px!important;
    font-size:.62rem!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  .offer-header strong{
    font-size:.79rem!important;
  }
  .offer-price-grid{
    gap:9px!important;
  }
  .offer-price-grid article{
    padding:9px 11px!important;
  }
  .offer-price-grid article span{
    font-size:.73rem!important;
  }
  .offer-price-grid strong{
    font-size:1rem!important;
  }
  .hero-offer-box p{
    margin-top:6px!important;
    font-size:.67rem!important;
    line-height:1.34!important;
  }
  .hero-trust-line{
    margin:8px 0!important;
    font-size:.78rem!important;
  }
  .hero-buttons{
    margin:8px 0 9px!important;
    gap:10px!important;
  }
  .hero-buttons .btn{
    padding:11px 24px!important;
    font-size:.88rem!important;
  }
  .hero-chips{
    gap:7px!important;
  }
  .hero-chips span{
    padding:6px 10px!important;
    font-size:.68rem!important;
  }
}

@media (min-width:981px) and (max-height:790px){
  .hero-content{
    padding:18px 28px 17px!important;
  }
  .hero-logo-mark img{
    width:92px!important;
    margin-bottom:5px!important;
  }
  .eyebrow{
    font-size:.62rem!important;
    margin-bottom:5px!important;
  }
  .hero-experience-badge{
    margin-bottom:6px!important;
    padding:5px 9px 5px 6px!important;
  }
  .hero-experience-badge span{
    min-width:40px!important;
    height:29px!important;
    font-size:.88rem!important;
  }
  .hero-experience-badge strong{
    font-size:.62rem!important;
  }
  .hero h1{
    font-size:clamp(2rem,3vw,2.85rem)!important;
    margin-bottom:5px!important;
  }
  .hero h1::after{
    margin-top:6px!important;
  }
  .hero-content>p:not(.eyebrow):not(.hero-trust-line){
    font-size:.82rem!important;
    line-height:1.34!important;
    margin-bottom:5px!important;
  }
  .hero-offer-box{
    margin:5px 0 6px!important;
    padding:8px 10px!important;
  }
  .offer-badge-red{
    padding:5px 8px!important;
    font-size:.56rem!important;
  }
  .offer-header strong{
    font-size:.70rem!important;
  }
  .offer-price-grid article{
    padding:7px 9px!important;
  }
  .offer-price-grid article span{
    font-size:.66rem!important;
  }
  .offer-price-grid strong{
    font-size:.90rem!important;
  }
  .hero-offer-box p{
    margin-top:4px!important;
    font-size:.60rem!important;
  }
  .hero-trust-line{
    margin:5px 0!important;
    font-size:.68rem!important;
  }
  .hero-buttons{
    margin:5px 0 6px!important;
  }
  .hero-buttons .btn{
    padding:9px 20px!important;
    font-size:.80rem!important;
  }
  .hero-chips span{
    padding:5px 8px!important;
    font-size:.61rem!important;
  }
}

/* Requested final micro-adjustment: move only the two hero CTA buttons upward by 1.5 mm. */
.hero-buttons{
  transform:translateY(-1.5mm)!important;
}


/* ============================================================
   Requested hero-only refinement: 35% desktop panel width.
   Keeps the existing panel height, structure and all other pages unchanged.
   ============================================================ */
@media (min-width:981px){
  .hero-content{
    width:clamp(470px,35vw,540px)!important;
    max-width:none!important;
    padding:24px 26px 22px!important;
  }
  .hero-logo-mark img{
    width:100px!important;
    margin-bottom:6px!important;
  }
  .eyebrow{
    font-size:.62rem!important;
    margin-bottom:6px!important;
  }
  .hero-experience-badge{
    margin-bottom:7px!important;
    padding:6px 10px 6px 7px!important;
  }
  .hero-experience-badge span{
    min-width:42px!important;
    height:30px!important;
    font-size:.92rem!important;
  }
  .hero-experience-badge strong{
    font-size:.64rem!important;
  }
  .hero h1{
    max-width:none!important;
    font-size:clamp(2.12rem,2.75vw,2.72rem)!important;
    line-height:1.02!important;
    margin-bottom:7px!important;
  }
  .hero h1::after{
    margin-top:7px!important;
  }
  .hero-content>p.hero-intro-copy{
    max-width:none!important;
    font-size:.82rem!important;
    line-height:1.4!important;
    margin-bottom:7px!important;
  }
  .hero-offer-box{
    margin:7px 0 7px!important;
    padding:9px 10px!important;
  }
  .offer-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    margin-bottom:6px!important;
  }
  .offer-badge-red{
    padding:6px 8px!important;
    font-size:.54rem!important;
  }
  .offer-header strong{
    font-size:.68rem!important;
    line-height:1.15!important;
  }
  .offer-percent{
    width:28px!important;
    height:28px!important;
    font-size:.95rem!important;
  }
  .offer-price-grid{
    gap:7px!important;
  }
  .offer-price-grid article{
    padding:8px 9px!important;
  }
  .offer-price-grid article span{
    font-size:.66rem!important;
  }
  .offer-price-grid strong{
    font-size:.92rem!important;
  }
  .hero-offer-box p{
    font-size:.61rem!important;
    line-height:1.3!important;
    margin-top:5px!important;
  }
  .hero-trust-line{
    font-size:.69rem!important;
    margin:6px 0!important;
  }
  .hero-buttons{
    gap:8px!important;
    margin:6px 0 7px!important;
  }
  .hero-buttons .btn{
    padding:10px 17px!important;
    font-size:.78rem!important;
  }
  .hero-chips{
    gap:6px!important;
  }
  .hero-chips span{
    padding:5px 8px!important;
    font-size:.60rem!important;
  }
}



/* Commercial property option — kept beside the 4+ BHK / Duplex choice. */
.property-pill.property-commercial{white-space:nowrap}
@media (max-width:560px){
  .property-type-group{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .property-pill[data-property="4+ BHK / Duplex"]{grid-column:1/3}
  .property-pill.property-commercial{grid-column:3}
}


/* Home gallery preview equal-size cards */
#gallery-preview .gallery-grid{align-items:stretch;}
#gallery-preview .gallery-item{aspect-ratio:4 / 5;min-height:0;height:auto;}
#gallery-preview .gallery-item img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;}
@media (max-width:760px){
  #gallery-preview .gallery-item{flex:0 0 min(82vw,320px)!important;width:min(82vw,320px)!important;aspect-ratio:4 / 5;}
  #gallery-preview .gallery-item img{height:100%!important;min-height:0!important;}
}


/* =========================
   Production SEO + mobile hardening layer
   ========================= */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:99999;background:#fff;color:#0b2a66;padding:12px 16px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.skip-link:focus{left:14px;top:14px;width:auto;height:auto;outline:3px solid rgba(12,96,255,.36)}
html,body{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
img,video,iframe{max-width:100%}
a,button,input,select,textarea{touch-action:manipulation}
button,.btn,.nav-cta,.mobile-menu a,.floating-contact-link{min-height:44px}
.local-seo-section{background:linear-gradient(135deg,#fff7fb 0%,#f2f8ff 50%,#fff9e8 100%);position:relative;overflow:hidden}
.local-seo-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(0,128,255,.10),transparent 32%),radial-gradient(circle at 90% 10%,rgba(230,28,145,.10),transparent 30%);pointer-events:none}
.local-seo-wrap{position:relative;z-index:1}.compact-heading{max-width:880px;margin-left:auto;margin-right:auto;text-align:center}.compact-heading h2{max-width:820px;margin-left:auto;margin-right:auto}.compact-heading p{max-width:850px;margin-left:auto;margin-right:auto}.section-kicker,.page-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:rgba(12,88,190,.08);color:#114fa5;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.local-seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.local-seo-grid article{padding:22px;border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 50px rgba(13,46,107,.09);border:1px solid rgba(13,46,107,.08)}.local-seo-grid article strong{display:block;color:#112451;font-size:1.03rem;margin-bottom:8px}.local-seo-grid article span{display:block;color:#536171;line-height:1.65;font-size:.94rem}.local-seo-actions,.local-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.seo-faq-section{background:#fff}.seo-faq-list{max-width:920px;margin:28px auto 0;display:grid;gap:14px}.seo-faq-list details{border:1px solid rgba(13,46,107,.10);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(13,46,107,.06);padding:0 18px}.seo-faq-list summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font-weight:800;color:#132b5f;list-style:none}.seo-faq-list summary::-webkit-details-marker{display:none}.seo-faq-list summary::after{content:"+";margin-left:auto;color:#246bfe;font-size:1.4rem;line-height:1}.seo-faq-list details[open] summary::after{content:"–"}.seo-faq-list p{margin:0 0 18px;color:#566474;line-height:1.65}.local-page-main .inner-hero{background:linear-gradient(135deg,#f7fbff 0%,#fff6fb 55%,#fff9ea 100%)}.local-hero .container{max-width:980px}.local-hero h1{max-width:920px}.local-hero p{max-width:860px}.four-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.local-area-section{background:#0d2e6b;color:#fff}.local-area-wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:32px;align-items:center}.local-area-section .section-kicker{background:rgba(255,255,255,.14);color:#fff}.local-area-section h2{color:#fff;margin:0 0 12px}.local-area-section p{color:rgba(255,255,255,.82);line-height:1.7}.service-area-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.service-area-tags li{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:700}.local-page-cta{margin-top:0}.footer-premium a[href="interior-designer-hosur.html"]{font-weight:800;color:#0d5cff}
@media (max-width:980px){.local-seo-grid,.four-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-area-wrap{grid-template-columns:1fr}.local-area-section{text-align:center}.service-area-tags{justify-content:center}.mobile-menu{max-height:calc(100dvh - 72px);overflow-y:auto}.nav-links{display:none!important}.hamburger{display:inline-flex!important}}
@media (max-width:640px){.local-seo-section,.seo-faq-section,.local-service-proof,.local-area-section{padding-left:0!important;padding-right:0!important}.local-seo-grid,.four-card-grid{grid-template-columns:1fr;gap:12px}.local-seo-grid article{padding:18px;border-radius:18px}.local-seo-actions,.local-hero-actions{display:grid;grid-template-columns:1fr}.local-seo-actions .btn,.local-hero-actions .btn{width:100%}.compact-heading{text-align:left}.compact-heading h2{font-size:clamp(1.65rem,8vw,2.05rem)!important}.seo-faq-list details{padding:0 14px;border-radius:15px}.seo-faq-list summary{font-size:.96rem}.service-area-tags{justify-content:flex-start}.service-area-tags li{font-size:.84rem;padding:8px 11px}.footer-premium a[href="interior-designer-hosur.html"]{display:inline-block;padding:4px 0}.inner-hero.local-hero{text-align:left!important}.local-hero .container{padding-left:18px!important;padding-right:18px!important}}
@media (max-width:420px){.section-kicker,.page-kicker{font-size:.66rem;letter-spacing:.05em}.local-seo-grid article strong{font-size:.98rem}.local-seo-grid article span{font-size:.88rem}.seo-faq-list p{font-size:.9rem}}


/* ============================================================
   Requested production polish: rounded-rectangle buttons, hero service runner,
   redesigned about section, clickable service cards, professional modal notice.
   ============================================================ */
:root{--luma-btn-radius:16px;--luma-card-radius:24px}
.btn,.btn-primary,.btn-secondary,.btn-cta-premium,.nav-cta,.mobile-quote,.footer-quote,.modal-submit,.service-link,.property-pill,.filter-btn,#hero-callback-form button,.site-callback-close,.modal-close,.gallery-view-more,.cta-action button,button[data-open-modal],a.btn{border-radius:var(--luma-btn-radius)!important}
.btn,.nav-cta,.mobile-quote,.footer-quote,.modal-submit,.service-link,.btn-cta-premium,#hero-callback-form button{min-height:44px}
.service-card[data-open-modal],.division-card[data-open-modal]{cursor:pointer;outline:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card[data-open-modal]:focus-visible,.division-card[data-open-modal]:focus-visible{box-shadow:0 0 0 4px rgba(214,51,132,.16),0 18px 44px rgba(13,46,107,.16)!important;border-color:rgba(214,51,132,.42)!important}
.service-card[data-open-modal]:hover,.division-card[data-open-modal]:hover{transform:translateY(-5px)}
.service-smart-notice{display:flex;align-items:flex-start;gap:10px;width:100%;max-width:100%;box-sizing:border-box;margin:10px 0 2px!important;padding:11px 13px;border:1px solid rgba(13,46,107,.14);border-left:4px solid var(--pink);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.92));color:#21304f;font-size:.83rem;font-weight:700;line-height:1.45;box-shadow:0 10px 24px rgba(13,46,107,.06);white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.service-smart-notice .notice-mark{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:8px;background:linear-gradient(135deg,var(--pink),#224ca8);color:#fff;font-weight:950;line-height:1}
.service-smart-notice .notice-text{display:block;flex:1 1 auto;min-width:0;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-wrap:pretty}
.service-smart-notice .notice-text b{white-space:nowrap;color:#0d2e6b;font-weight:950}
.service-smart-notice.is-selected{border-left-color:#1b63d8;background:linear-gradient(135deg,#ffffff,#f2f7ff)}
.about-power-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff7fb 42%,#eef7ff 100%)}
.about-power-section::before{content:"20+";position:absolute;right:-2vw;top:2%;font-family:var(--font-head);font-size:clamp(6rem,17vw,15rem);font-weight:950;letter-spacing:-.09em;color:rgba(13,46,107,.045);line-height:1;pointer-events:none}
.about-power-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);gap:34px;align-items:stretch}
.about-power-copy,.about-power-card{border:1px solid rgba(13,46,107,.10);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 22px 60px rgba(13,46,107,.10);backdrop-filter:blur(14px)}
.about-power-copy{padding:clamp(24px,4vw,46px)}
.about-power-title{margin:0 0 16px;font-family:var(--font-head);font-size:clamp(2.2rem,5.2vw,5.5rem);line-height:.96;letter-spacing:-.065em;color:#10162f}.about-power-title span{display:inline-block;background:linear-gradient(135deg,var(--royal),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.about-power-lead{max-width:880px;margin:0 0 14px!important;color:#26334f!important;font-size:clamp(1.05rem,1.6vw,1.34rem)!important;font-weight:800!important;line-height:1.45!important}.about-power-copy p:not(.section-label):not(.about-power-lead){color:#5c667b;font-size:1rem;line-height:1.75;margin-bottom:18px}
.about-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 24px}.about-proof-grid article{padding:18px 14px;border-radius:18px;background:#fff;border:1px solid rgba(13,46,107,.10);box-shadow:0 12px 26px rgba(13,46,107,.06)}.about-proof-grid strong{display:block;font-family:var(--font-head);font-size:clamp(1.35rem,2.4vw,2.05rem);color:var(--royal);line-height:1}.about-proof-grid span{display:block;margin-top:7px;color:#657089;font-size:.82rem;font-weight:800;line-height:1.35}
.about-power-card{padding:28px;align-self:stretch}.about-power-card-head{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:14px;border-radius:20px;background:linear-gradient(135deg,rgba(13,46,107,.09),rgba(214,51,132,.10))}.about-power-card-head>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--royal),var(--pink));color:#fff;font-weight:950;font-size:1.25rem}.about-power-card-head strong{display:block;font-family:var(--font-head);color:#122250;font-size:1.02rem}.about-power-card-head small{display:block;color:#667085;font-weight:800;margin-top:2px}.about-power-card h3{margin:0 0 16px;font-family:var(--font-head);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.12;color:#111733}.about-power-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.about-power-card li{position:relative;padding:13px 14px 13px 42px;border-radius:16px;background:#fff;border:1px solid rgba(13,46,107,.08);color:#3f4960;font-weight:750;line-height:1.45}.about-power-card li::before{content:"✓";position:absolute;left:14px;top:12px;display:grid;place-items:center;width:20px;height:20px;border-radius:8px;background:rgba(31,198,222,.16);color:#0c5d83;font-weight:950}
@media (max-width:860px){.about-power-layout{grid-template-columns:1fr;gap:20px}.about-proof-grid{grid-template-columns:1fr}.about-power-copy,.about-power-card{border-radius:22px}.about-power-copy{padding:24px 18px}.about-power-title{font-size:clamp(2.1rem,13vw,3.4rem)}}

/* Requested refinement: professional local SEO boxes and restored two-popup behavior support */
.local-seo-grid-enhanced article{
  position:relative;
  overflow:hidden;
  min-height:178px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:10px;
}
.local-seo-grid-enhanced article::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--royal),var(--pink),var(--yellow));
}
.local-seo-grid-enhanced article strong{
  font-family:var(--font-head);
  font-size:1.08rem!important;
  letter-spacing:-.01em;
}
.local-seo-grid-enhanced .core-services-card span{
  font-weight:750;
  color:#3f4d63!important;
  line-height:1.72!important;
}
.local-point-list{
  list-style:none;
  padding:0;
  margin:2px 0 0;
  display:grid;
  gap:10px;
}
.local-point-list li{
  position:relative;
  padding:11px 12px 11px 42px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(13,46,107,.055),rgba(214,51,132,.045));
  border:1px solid rgba(13,46,107,.08);
  color:#4f5d70;
  line-height:1.48;
  font-size:.92rem;
}
.local-point-list li::before{
  content:"!";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--royal),var(--pink));
  color:#fff;
  font-family:var(--font-head);
  font-weight:950;
  font-size:.78rem;
  box-shadow:0 8px 18px rgba(214,51,132,.18);
}
.local-point-list b{
  color:#0d2e6b;
  font-family:var(--font-head);
  font-weight:950;
}
@media (max-width:640px){
  .local-seo-grid-enhanced article{min-height:auto;gap:8px}
  .local-point-list li{font-size:.88rem;padding:10px 11px 10px 39px}
}



/* Final requested fix: make Hosur SEO action links look like real buttons */
.local-seo-actions .local-seo-btn{
  min-width:240px;
  padding:15px 24px!important;
  border-radius:16px!important;
  font-family:var(--font-head);
  font-weight:950!important;
  letter-spacing:.01em;
  text-align:center;
}
.local-seo-actions .local-seo-btn.btn-primary{
  color:#fff!important;
  background:linear-gradient(135deg,var(--pink),#c52878)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 16px 34px rgba(214,51,132,.24)!important;
}
.local-seo-actions .local-seo-btn.btn-secondary{
  color:#0d2e6b!important;
  background:#fff!important;
  border:1px solid rgba(13,46,107,.14)!important;
  box-shadow:0 14px 30px rgba(13,46,107,.10)!important;
}
.local-seo-actions .local-seo-btn:hover{
  transform:translateY(-3px);
}
@media (max-width:640px){
  .local-seo-actions .local-seo-btn{width:100%;min-width:0;}
}


/* Final modal dependency fix: hide the instruction after Woodwork/UPVC is chosen. */
.service-smart-notice[hidden]{display:none!important}
.modal-choice-grid .form-group select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#q-work-type option,#q-service option{font-size:1rem}

/* Notice-only modal fix: keep smart notice text clean inside the quote popup. */
.modal-consultation .service-smart-notice{grid-column:1/-1!important}
@media (max-width:720px){.service-smart-notice{font-size:.78rem!important;padding:10px 11px!important}.service-smart-notice .notice-mark{flex-basis:20px;width:20px;height:20px}}


/* ============================================================
   Luma Interior Assistant chatbot — added above WhatsApp button
   ============================================================ */
.floating-assistant .floating-contact-button{
  background:#204290;
  color:#fff;
}
.floating-assistant .floating-contact-button svg{
  width:29px;
  height:29px;
  display:block;
  fill:none;
}
.floating-assistant .floating-contact-tooltip strong::before{
  background:#204290;
  box-shadow:0 0 0 2px rgba(32,66,144,.18);
}
.floating-assistant:hover > .floating-contact-tooltip,
.floating-assistant:focus-visible > .floating-contact-tooltip{
  opacity:1;
  visibility:visible;
  transform:translate(0,-50%) scale(1);
}
.chatbot-window{
  position:fixed;
  right:112px;
  bottom:88px;
  width:min(390px,calc(100vw - 32px));
  max-height:72vh;
  display:none;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(32,66,144,.16);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(13,29,61,.28);
  z-index:930;
}
.chatbot-window.active{
  display:flex;
  animation:lumaChatPop .22s ease-out;
}
@keyframes lumaChatPop{
  from{opacity:0;transform:translateY(14px) scale(.96)}
}
.chatbot-header{
  background:#204290;
  color:#fff;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.chatbot-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.bot-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  border:2px solid rgba(255,255,255,.75);
  color:#fff;
}
.bot-avatar-icon{
  width:27px;
  height:27px;
  fill:none;
}
.chatbot-title h4{
  color:#fff;
  font-family:var(--font-head);
  font-size:1.08rem;
  line-height:1.1;
  margin:0 0 2px;
}
.chatbot-title small{
  color:rgba(255,255,255,.82);
  font-weight:800;
  font-size:.75rem;
}
.chatbot-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.chatbot-close:hover{background:rgba(255,255,255,.2)}
.chatbot-messages{
  min-height:255px;
  max-height:42vh;
  overflow-y:auto;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:linear-gradient(145deg,#f5f8ff,#fff8fc);
}
.message{
  max-width:88%;
  padding:12px 14px;
  border-radius:17px;
  font-size:.9rem;
  line-height:1.45;
  color:#24324b;
}
.bot-message{
  align-self:flex-start;
  background:#fff;
  border:1px solid rgba(32,66,144,.13);
  border-bottom-left-radius:6px;
  box-shadow:0 10px 24px rgba(32,66,144,.07);
}
.user-message{
  align-self:flex-end;
  background:#e9efff;
  color:#0e2b68;
  border:1px solid rgba(32,66,144,.12);
  border-bottom-right-radius:6px;
  font-weight:800;
}
.chatbot-suggestions,.chat-feedback{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.chat-chip{
  border:1px solid rgba(32,66,144,.25);
  background:#fff;
  color:#204290;
  padding:7px 11px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.chat-chip:hover,.chat-chip:focus-visible{
  background:#204290;
  color:#fff;
  transform:translateY(-1px);
}
.chatbot-input-area{
  display:flex;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(32,66,144,.12);
  background:#fff;
}
.chatbot-input-area input{
  flex:1;
  min-width:0;
  border:1px solid rgba(32,66,144,.20);
  border-radius:999px;
  padding:11px 14px;
  outline:none;
  font:inherit;
}
.chatbot-input-area input:focus{
  border-color:#204290;
  box-shadow:0 0 0 3px rgba(32,66,144,.10);
}
.chatbot-input-area button{
  min-height:42px;
  padding:0 18px;
  white-space:nowrap;
}
.chatbot-footer{
  padding:8px 12px 10px;
  text-align:center;
  font-size:.73rem;
  color:#6b7385;
  background:#f8fbff;
}
.chatbot-inline-link{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  color:#204290;
  font-weight:900;
  text-decoration:underline;
}
@media (max-width:720px){
  .chatbot-window{
    right:14px;
    bottom:205px;
    width:calc(100vw - 28px);
    max-height:62vh;
    border-radius:20px;
  }
  .chatbot-messages{min-height:220px;max-height:34vh}
  .message{max-width:94%}
}
@media (max-width:560px){
  .floating-assistant .floating-contact-button svg{width:27px;height:27px}
}


/* Ultra SEO + AI search landing pages */
.seo-link-hub-section{background:linear-gradient(135deg,#f7fbff 0%,#fff8fc 56%,#fffaf0 100%);position:relative;overflow:hidden}.seo-link-hub-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 10%,rgba(32,66,144,.10),transparent 28%),radial-gradient(circle at 92% 15%,rgba(225,54,145,.10),transparent 26%);pointer-events:none}.seo-link-hub-section .container{position:relative;z-index:1}.seo-link-hub{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}.seo-link-hub a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid rgba(32,66,144,.16);box-shadow:0 12px 30px rgba(21,41,91,.08);color:#132b5f;font-weight:900;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.seo-link-hub a:hover{transform:translateY(-2px);border-color:#204290;box-shadow:0 18px 45px rgba(32,66,144,.16)}.service-rank-hero{padding-top:150px}.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:34px;align-items:center}.service-hero-copy h1{max-width:760px}.service-hero-copy p{max-width:720px}.service-hero-media{margin:0;border-radius:34px;overflow:hidden;box-shadow:0 28px 80px rgba(12,36,77,.18);border:1px solid rgba(255,255,255,.72);background:#fff}.service-hero-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.service-detail-section{background:#fff}.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px}.service-detail-card{border-radius:28px;background:#fff;border:1px solid rgba(32,66,144,.11);box-shadow:0 20px 55px rgba(20,48,101,.08);padding:26px}.service-detail-card h2,.service-detail-card h3{margin-top:0}.seo-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:22px 0 0;list-style:none}.seo-check-list li{padding:12px 14px 12px 42px;border-radius:16px;background:linear-gradient(135deg,#f7faff,#fff7fc);border:1px solid rgba(32,66,144,.10);position:relative;color:#253b5f;font-weight:800}.seo-check-list li::before{content:"✓";position:absolute;left:14px;top:11px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#204290;color:#fff;font-size:.72rem;font-weight:900}.rank-contact-card p{margin:.62rem 0;color:#536171}.rank-contact-card a{font-weight:900;color:#204290}.ai-answer-section{background:linear-gradient(135deg,#102c66,#204290);color:#fff}.ai-answer-card{max-width:950px}.ai-answer-card .section-kicker{background:rgba(255,255,255,.14);color:#fff}.ai-answer-card h2{color:#fff;margin-top:6px}.ai-answer-card p{color:rgba(255,255,255,.86);font-size:1.05rem;line-height:1.8}@media(max-width:980px){.service-hero-grid,.service-detail-grid{grid-template-columns:1fr}.service-rank-hero{padding-top:120px}.seo-check-list{grid-template-columns:1fr}.service-hero-media{border-radius:24px}}@media(max-width:640px){.seo-link-hub{display:grid;grid-template-columns:1fr}.seo-link-hub a{width:100%;border-radius:16px}.service-detail-card{padding:20px;border-radius:22px}.service-rank-hero{padding-top:105px}.service-hero-media{border-radius:20px}}


/* === Ultra production SEO page visual upgrade + Services hover dropdown === */
.nav-links .service-nav-dropdown{position:relative}
.nav-links .service-nav-dropdown>a{display:inline-flex;align-items:center;gap:7px}
.nav-links .service-nav-dropdown>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;transition:transform .25s ease}
.nav-links .service-nav-dropdown:hover>a::after,.nav-links .service-nav-dropdown:focus-within>a::after{transform:rotate(225deg) translateY(-1px)}
.nav-service-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);width:min(880px,calc(100vw - 48px));background:rgba(255,255,255,.98);border:1px solid rgba(32,66,144,.14);box-shadow:0 26px 70px rgba(15,23,42,.18);border-radius:26px;padding:18px;opacity:0;visibility:hidden;pointer-events:none;z-index:1600;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;backdrop-filter:blur(20px)}
.nav-service-menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.service-nav-dropdown:hover .nav-service-menu,.service-nav-dropdown:focus-within .nav-service-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-service-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 14px;border-bottom:1px solid rgba(32,66,144,.10);margin-bottom:12px}
.nav-service-menu-head b{font-family:var(--font-head);color:#10204b;font-size:1.02rem}.nav-service-menu-head span{font-size:.82rem;font-weight:800;color:#d63384;text-transform:uppercase;letter-spacing:.08em}
.nav-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nav-service-grid a{display:flex!important;flex-direction:column;gap:3px;padding:12px 13px;border-radius:16px;background:linear-gradient(135deg,#fff,#f7f9ff);border:1px solid rgba(32,66,144,.08);color:#17214a!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.nav-service-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(32,66,144,.12);border-color:rgba(214,51,132,.26)}.nav-service-grid a strong{font-size:.9rem}.nav-service-grid a span{font-size:.73rem;line-height:1.35;color:#64708a;font-weight:600}
.mobile-service-details{width:min(360px,88vw);text-align:center}.mobile-service-details summary{cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:800;font-size:1.2rem;color:var(--ink);min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-service-details summary::-webkit-details-marker{display:none}.mobile-service-list{display:grid;grid-template-columns:1fr;gap:8px;max-height:42vh;overflow:auto;padding:10px 4px}.mobile-service-list a{font-size:.94rem!important;background:#fff;border:1px solid rgba(32,66,144,.12);border-radius:14px;padding:10px!important;box-shadow:0 8px 18px rgba(15,23,42,.06)}
.enhanced-seo-main{background:linear-gradient(135deg,#f5f9ff 0%,#fff7fb 48%,#fffdf4 100%)}.enhanced-seo-hero{padding:92px 0 58px;background:radial-gradient(circle at 18% 22%,rgba(32,66,144,.13),transparent 34%),radial-gradient(circle at 86% 12%,rgba(214,51,132,.15),transparent 32%),linear-gradient(135deg,#fff,#f8fbff)}.enhanced-seo-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:34px;align-items:center}.enhanced-seo-copy{background:rgba(255,255,255,.82);border:1px solid rgba(32,66,144,.12);box-shadow:0 30px 80px rgba(15,23,42,.10);border-radius:34px;padding:42px}.enhanced-seo-copy h1{font-family:var(--font-head);font-size:clamp(2.2rem,4vw,4.25rem);line-height:1.02;letter-spacing:-.055em;color:#111632;margin:14px 0}.enhanced-seo-copy p{font-size:1.08rem;line-height:1.7;color:#5f6b82;max-width:780px}.enhanced-hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:24px}.seo-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.seo-trust-row span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:14px;background:#fff;border:1px solid rgba(32,66,144,.11);font-weight:800;font-size:.82rem;color:#204290}.enhanced-seo-media{position:relative;margin:0;border-radius:34px;overflow:hidden;min-height:410px;box-shadow:0 32px 90px rgba(15,23,42,.17);border:8px solid rgba(255,255,255,.9)}.enhanced-seo-media img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block;transform:scale(1.02)}.enhanced-seo-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,10,28,.48))}.enhanced-seo-media figcaption{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:14px 16px;backdrop-filter:blur(16px)}.enhanced-seo-media figcaption b{color:#13245a}.enhanced-seo-media figcaption span{color:#d63384;font-weight:800;font-size:.82rem}.enhanced-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px}.enhanced-overview-card,.material-seo-card,.all-services-card,.enhanced-ai-card{background:rgba(255,255,255,.88);border:1px solid rgba(32,66,144,.11);border-radius:30px;box-shadow:0 24px 64px rgba(15,23,42,.08)}.enhanced-overview-card{padding:32px}.enhanced-overview-card h2,.material-seo-card h3,.all-services-card h2{font-family:var(--font-head);color:#152153;letter-spacing:-.025em}.enhanced-check-list,.material-seo-card ul{display:grid;gap:10px;margin-top:18px}.enhanced-check-list li,.material-seo-card li{position:relative;padding-left:31px;color:#44506a;font-weight:700;line-height:1.5}.enhanced-check-list li::before,.material-seo-card li::before{content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#204290,#d63384);color:#fff;font-size:.72rem;font-weight:900}.enhanced-contact-card p{margin:10px 0;color:#5f6b82}.wide-btn{width:100%;margin-top:10px}.material-seo-section{background:linear-gradient(135deg,rgba(32,66,144,.05),rgba(214,51,132,.05))}.material-seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.material-seo-card{padding:30px;position:relative;overflow:hidden}.material-seo-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#204290,#d63384,#f7b731)}.material-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:#204290;color:#fff;font-family:var(--font-head);font-weight:900;box-shadow:0 12px 24px rgba(32,66,144,.22);margin-bottom:16px}.upvc-card .material-icon{background:#d63384}.material-seo-card p{color:#64708a;line-height:1.65}.all-services-card{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:24px;align-items:center;padding:30px}.seo-chip-cloud{display:flex;flex-wrap:wrap;gap:10px}.seo-mini-chip{min-height:40px;border-radius:14px;padding:9px 13px;background:#fff;border:1px solid rgba(32,66,144,.13);font-weight:800;color:#204290;box-shadow:0 8px 18px rgba(15,23,42,.05);transition:transform .2s ease,box-shadow .2s ease}.seo-mini-chip:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(214,51,132,.13);color:#d63384}.enhanced-area-section{background:#fff}.enhanced-area-tags li{font-weight:900}.enhanced-faq-list details{border-radius:22px!important;background:#fff!important;border:1px solid rgba(32,66,144,.11)!important;box-shadow:0 16px 36px rgba(15,23,42,.06)!important}.enhanced-ai-card{padding:32px!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important}.enhanced-seo-link-hub{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.enhanced-seo-link-hub a,.production-service-pages-grid a{display:flex;flex-direction:column;gap:4px;border-radius:18px;background:#fff;border:1px solid rgba(32,66,144,.12);padding:14px;text-decoration:none;color:#16224f;font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:transform .2s ease,box-shadow .2s ease}.enhanced-seo-link-hub a:hover,.production-service-pages-grid a:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(32,66,144,.11)}.enhanced-page-cta .cta-box{border-radius:32px;background:linear-gradient(135deg,#204290,#d63384)!important}.production-service-pages-section{background:linear-gradient(135deg,#f7fbff,#fff7fb)}.production-service-pages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.production-service-pages-grid a span{font-size:.86rem;color:#64708a;line-height:1.45}.services-material-seo-section{background:#fff}.services-material-seo-section .material-seo-grid{align-items:stretch}
@media (max-width:1100px){.enhanced-seo-hero-grid,.enhanced-overview-grid,.all-services-card{grid-template-columns:1fr}.enhanced-seo-media{min-height:340px}.enhanced-seo-link-hub{grid-template-columns:repeat(3,1fr)}.nav-service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:880px){.nav-service-menu{display:none}.enhanced-seo-hero{padding:42px 0 34px}.enhanced-seo-copy{padding:26px;border-radius:26px}.enhanced-seo-copy h1{font-size:2.1rem}.material-seo-grid,.production-service-pages-grid{grid-template-columns:1fr}.enhanced-seo-link-hub{grid-template-columns:repeat(2,1fr)}.all-services-card{padding:22px}.enhanced-seo-media,.enhanced-seo-media img{min-height:280px}.enhanced-seo-media figcaption{flex-direction:column;align-items:flex-start}}
@media (max-width:540px){.enhanced-seo-copy{padding:22px}.enhanced-seo-link-hub{grid-template-columns:1fr}.seo-trust-row span{width:100%;justify-content:center}.enhanced-hero-actions .btn{width:100%;justify-content:center}.enhanced-seo-media{border-width:5px;border-radius:24px}.nav-service-grid{grid-template-columns:1fr}}

/* === Final service dropdown polish: clean Services button + row-wise compact mega menu === */
.nav-links .service-nav-dropdown{position:relative!important;display:flex;align-items:center}
.nav-links .service-nav-dropdown>a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:14px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  line-height:1!important;
  box-shadow:none!important;
}
.nav-links .service-nav-dropdown>a::after{content:none!important;display:none!important}
.nav-links .service-nav-dropdown>a:hover,
.nav-links .service-nav-dropdown:focus-visible,
.nav-links .service-nav-dropdown:focus-within>a{
  background:linear-gradient(135deg,rgba(32,66,144,.07),rgba(225,54,145,.07))!important;
  border-color:rgba(32,66,144,.12)!important;
  color:#204290!important;
}
.nav-links .service-nav-dropdown>a.active{
  background:transparent!important;
  color:#16214c!important;
}
.nav-links .service-nav-dropdown>a.active::before{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:1px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,#204290,#e13691);
}
.nav-service-caret{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:16px!important;
  height:16px!important;
  margin-left:1px!important;
  border-radius:999px!important;
  color:#204290!important;
  font-size:.86rem!important;
  font-weight:900!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  transition:transform .22s ease!important;
}
.service-nav-dropdown:hover .nav-service-caret,
.service-nav-dropdown:focus-within .nav-service-caret{transform:translateY(-1px) rotate(180deg)!important}
.nav-service-menu{
  position:absolute!important;
  top:calc(100% + 15px)!important;
  left:50%!important;
  transform:translateX(-50%) translateY(10px)!important;
  width:min(1040px,calc(100vw - 46px))!important;
  max-height:min(72vh,640px)!important;
  overflow:auto!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid rgba(32,66,144,.14)!important;
  box-shadow:0 30px 78px rgba(15,23,42,.20)!important;
  border-radius:24px!important;
  padding:14px!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:2600!important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  backdrop-filter:blur(18px)!important;
}
.nav-service-menu::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:-18px!important;height:18px!important}
.service-nav-dropdown:hover .nav-service-menu,
.service-nav-dropdown:focus-within .nav-service-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(-50%) translateY(0)!important;
}
.nav-service-menu-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 10px 12px!important;
  border-bottom:1px solid rgba(32,66,144,.10)!important;
  margin-bottom:10px!important;
}
.nav-service-menu-head b{font-family:var(--font-head)!important;color:#10204b!important;font-size:1rem!important;letter-spacing:-.015em!important}
.nav-service-menu-head span{font-size:.73rem!important;font-weight:900!important;color:#d63384!important;text-transform:uppercase!important;letter-spacing:.08em!important;text-align:right!important}
.nav-service-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.nav-service-grid a{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:72px!important;
  gap:4px!important;
  padding:11px 12px!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 100%)!important;
  border:1px solid rgba(32,66,144,.09)!important;
  color:#17214a!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.nav-service-grid a:hover,
.nav-service-grid a:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 32px rgba(32,66,144,.12)!important;
  border-color:rgba(214,51,132,.26)!important;
  background:linear-gradient(135deg,#ffffff 0%,#fff6fb 100%)!important;
}
.nav-service-grid a strong{font-size:.86rem!important;line-height:1.1!important;color:#13245a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.nav-service-grid a span{font-size:.68rem!important;line-height:1.28!important;color:#64708a!important;font-weight:700!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.mobile-service-list a{display:flex!important;flex-direction:column!important;gap:2px!important;text-align:left!important}
.mobile-service-list a strong{font-size:.94rem!important;color:#13245a!important}
.mobile-service-list a span{font-size:.76rem!important;color:#68748b!important;line-height:1.35!important}
@media (max-width:1180px){.nav-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nav-service-menu{width:min(900px,calc(100vw - 36px))!important}}
@media (max-width:980px){.nav-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:880px){.nav-service-menu{display:none!important}.nav-links .service-nav-dropdown>a{padding:8px 10px!important}.nav-service-caret{display:none!important}}
@media (max-width:540px){.mobile-service-list a{border-radius:13px!important;padding:10px 12px!important}}


/* FINAL PRODUCTION PATCH: compact single-column service dropdown + bottom SEO keywords + compact service pages */
.nav-links .service-nav-dropdown > a{
  gap:6px!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  background:transparent!important;
}
.nav-links .service-nav-dropdown:hover > a,
.nav-links .service-nav-dropdown:focus-within > a{
  background:rgba(32,66,144,.06)!important;
  box-shadow:none!important;
}
.nav-service-caret{
  width:auto!important;height:auto!important;margin-left:2px!important;
  background:transparent!important;border:0!important;color:#204290!important;font-size:.75rem!important;
}
.nav-service-menu{
  width:min(360px,calc(100vw - 28px))!important;
  max-height:min(74vh,580px)!important;
  overflow:auto!important;
  left:0!important;
  transform:translateX(-72px) translateY(10px)!important;
  padding:10px!important;
  border-radius:20px!important;
  box-shadow:0 24px 60px rgba(15,23,42,.18)!important;
}
.service-nav-dropdown:hover .nav-service-menu,
.service-nav-dropdown:focus-within .nav-service-menu{
  transform:translateX(-72px) translateY(0)!important;
}
.nav-service-menu-head{
  padding:9px 10px 10px!important;
  margin-bottom:8px!important;
}
.nav-service-menu-head b{font-size:.94rem!important;white-space:nowrap!important;}
.nav-service-menu-head span{font-size:.64rem!important;white-space:nowrap!important;letter-spacing:.06em!important;}
.nav-service-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  grid-template-columns:1fr!important;
}
.nav-service-grid a{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.nav-service-grid a:hover,
.nav-service-grid a:focus-visible{
  transform:translateX(3px)!important;
  box-shadow:0 10px 22px rgba(32,66,144,.10)!important;
  background:linear-gradient(135deg,#fff,#f7faff)!important;
}
.nav-service-grid a strong{
  font-size:.82rem!important;
  flex:0 0 auto!important;
  max-width:145px!important;
}
.nav-service-grid a span{
  font-size:.62rem!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:right!important;
  max-width:150px!important;
  -webkit-line-clamp:initial!important;
}
.footer-search-keywords{
  border-top:1px solid rgba(255,255,255,.11);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:24px 0 26px;
  background:rgba(0,0,0,.10);
}
.footer-search-keywords h4{
  margin:0 0 14px;
  font-size:.86rem;
  line-height:1.4;
  color:rgba(255,255,255,.92);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:900;
}
.footer-search-keywords p{
  margin:0;
  color:rgba(255,255,255,.46);
  font-size:.78rem;
  line-height:2.05;
  font-weight:700;
}
.footer-search-keywords a{
  color:rgba(255,255,255,.68);
  text-decoration:none;
  transition:color .18s ease;
}
.footer-search-keywords a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.compact-service-page{background:linear-gradient(135deg,#f6f9ff 0%,#fff8fc 55%,#fffdf4 100%)}
.compact-service-hero{padding:132px 0 42px;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 20%,rgba(32,66,144,.10),transparent 30%),radial-gradient(circle at 86% 12%,rgba(214,51,132,.12),transparent 28%)}
.compact-service-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:center}
.compact-service-copy{background:rgba(255,255,255,.88);border:1px solid rgba(32,66,144,.12);border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(15,23,42,.10);backdrop-filter:blur(14px)}
.compact-service-copy h1{font-family:var(--font-head);font-size:clamp(2.05rem,3.6vw,3.6rem);line-height:1.03;letter-spacing:-.055em;color:#101632;margin:12px 0}
.compact-service-copy p{font-size:1.02rem;line-height:1.68;color:#5e6b83;max-width:720px}
.compact-service-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.compact-service-actions .btn{border-radius:18px!important}
.compact-service-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.compact-service-points span{border:1px solid rgba(32,66,144,.10);border-radius:999px;background:#fff;padding:8px 11px;font-size:.78rem;font-weight:900;color:#204290}
.compact-service-media{margin:0;border-radius:28px;overflow:hidden;min-height:320px;box-shadow:0 28px 76px rgba(15,23,42,.16);border:7px solid rgba(255,255,255,.88);position:relative;background:#fff}.compact-service-media img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}.compact-service-media figcaption{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.88);border-radius:16px;padding:11px 13px;color:#13245a;font-size:.78rem;font-weight:900;backdrop-filter:blur(12px)}
.compact-service-detail-section{padding:34px 0}.compact-service-detail-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.compact-service-card{border-radius:24px;background:#fff;border:1px solid rgba(32,66,144,.10);box-shadow:0 16px 42px rgba(15,23,42,.07);padding:22px}.compact-service-card h2{font-family:var(--font-head);font-size:1.25rem;letter-spacing:-.02em;color:#142354;margin:0 0 12px}.compact-service-card p{color:#64708a;line-height:1.6}.compact-service-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.compact-service-card li{position:relative;padding-left:26px;color:#41506d;font-weight:800;line-height:1.45}.compact-service-card li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#204290;color:#fff;font-size:.68rem;font-weight:900}.material-card-compact .service-link{margin-top:12px}
.compact-service-final-cta{padding:8px 0 52px}.compact-service-cta-box{text-align:center;border-radius:28px;background:linear-gradient(135deg,#204290,#d63384);color:#fff;padding:32px;box-shadow:0 24px 65px rgba(32,66,144,.20)}.compact-service-cta-box h2{font-family:var(--font-head);font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.04em;margin:0 0 8px;color:#fff}.compact-service-cta-box p{max-width:720px;margin:0 auto 18px;color:rgba(255,255,255,.86);line-height:1.65}.compact-service-cta-box .btn{background:#fff!important;color:#204290!important;border:0!important;border-radius:18px!important}
@media(max-width:1100px){.nav-service-menu{transform:translateX(-120px) translateY(10px)!important}.service-nav-dropdown:hover .nav-service-menu,.service-nav-dropdown:focus-within .nav-service-menu{transform:translateX(-120px) translateY(0)!important}.compact-service-wrap,.compact-service-detail-grid{grid-template-columns:1fr}.compact-service-hero{padding-top:112px}.compact-service-media,.compact-service-media img{min-height:280px}}
@media(max-width:880px){.nav-service-menu{display:none!important}.compact-service-hero{padding-top:96px}.compact-service-copy{padding:24px;border-radius:24px}.compact-service-actions .btn{width:100%;justify-content:center}.footer-search-keywords{padding:20px 0}.footer-search-keywords p{font-size:.74rem;line-height:1.95}}


/* FINAL VISUAL LOGIC PATCH: professional Services arrow/dropdown, footer alignment, safe inner-page spacing */
html{
  scroll-padding-top:calc(var(--nav-h) + var(--ticker-h) + 28px)!important;
}
.inner-main{
  padding-top:calc(var(--nav-h) + var(--ticker-h) + 26px)!important;
}
.inner-hero{
  padding-top:clamp(92px,8vw,126px)!important;
  padding-bottom:40px!important;
}
.inner-hero h1{
  overflow:visible!important;
  padding-top:2px!important;
}
.compact-service-hero{
  padding-top:calc(var(--nav-h) + var(--ticker-h) + 50px)!important;
}
.service-nav-dropdown{
  position:relative!important;
  padding-bottom:10px!important;
  margin-bottom:-10px!important;
}
.service-nav-dropdown::after{
  content:""!important;
  position:absolute!important;
  left:-22px!important;
  right:-22px!important;
  top:100%!important;
  height:16px!important;
  pointer-events:auto!important;
}
.nav-links .service-nav-dropdown > a{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  padding:9px 13px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nav-links .service-nav-dropdown:hover > a,
.nav-links .service-nav-dropdown:focus-within > a{
  background:linear-gradient(135deg,rgba(32,66,144,.07),rgba(214,51,132,.05))!important;
  border-color:rgba(32,66,144,.10)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
}
.nav-service-caret{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin-left:0!important;
  border-radius:7px!important;
  border:1px solid rgba(32,66,144,.20)!important;
  background:#f7f9ff!important;
  color:transparent!important;
  font-size:0!important;
  line-height:1!important;
  transform:none!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.nav-service-caret::before{
  content:""!important;
  width:6px!important;
  height:6px!important;
  border-right:2px solid #204290!important;
  border-bottom:2px solid #204290!important;
  transform:rotate(45deg) translate(-1px,-1px)!important;
  transform-origin:center!important;
}
.service-nav-dropdown:hover .nav-service-caret,
.service-nav-dropdown:focus-within .nav-service-caret{
  transform:rotate(180deg)!important;
  background:#fff!important;
  border-color:rgba(214,51,132,.34)!important;
}
.nav-service-menu{
  top:calc(100% + 6px)!important;
  left:50%!important;
  right:auto!important;
  width:min(310px,calc(100vw - 32px))!important;
  max-height:min(42vh,350px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:translateX(-50%) translateY(8px)!important;
  padding:8px!important;
  border-radius:18px!important;
  border:1px solid rgba(32,66,144,.16)!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(32,66,144,.38) transparent!important;
}
.nav-service-menu::-webkit-scrollbar{width:7px!important}
.nav-service-menu::-webkit-scrollbar-thumb{background:rgba(32,66,144,.35)!important;border-radius:999px!important}
.nav-service-menu::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-12px!important;
  height:12px!important;
}
.service-nav-dropdown:hover .nav-service-menu,
.service-nav-dropdown:focus-within .nav-service-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(-50%) translateY(0)!important;
}
.nav-service-menu-head{
  padding:8px 9px 9px!important;
  margin-bottom:6px!important;
  gap:8px!important;
  border-bottom:1px solid rgba(32,66,144,.09)!important;
}
.nav-service-menu-head b{font-size:.86rem!important;line-height:1!important;}
.nav-service-menu-head span{font-size:.56rem!important;letter-spacing:.055em!important;line-height:1.05!important;}
.nav-service-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  grid-template-columns:1fr!important;
}
.nav-service-grid a{
  min-height:30px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:9px!important;
  background:#fff!important;
  border:1px solid rgba(32,66,144,.08)!important;
  box-shadow:none!important;
}
.nav-service-grid a:hover,
.nav-service-grid a:focus-visible{
  transform:translateX(2px)!important;
  box-shadow:0 8px 18px rgba(32,66,144,.09)!important;
  background:linear-gradient(135deg,#fff,#f8fbff)!important;
}
.nav-service-grid a strong{
  font-size:.74rem!important;
  max-width:126px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nav-service-grid a span{
  font-size:.55rem!important;
  line-height:1.05!important;
  max-width:126px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:right!important;
  color:#67738d!important;
  font-weight:800!important;
}
.footer-search-keywords .container,
.footer-bottom .container{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.footer-search-keywords{
  padding:24px 0 24px!important;
}
.footer-search-keywords h4,
.footer-search-keywords p{
  max-width:100%!important;
}
.footer-bottom{
  padding:18px 0!important;
}
.footer-bottom-production{
  display:grid!important;
  grid-template-columns:minmax(210px,.9fr) minmax(280px,1.25fr) auto!important;
  align-items:center!important;
  gap:22px!important;
}
.footer-bottom-production p{
  margin:0!important;
}
.footer-copy{
  text-align:left!important;
  font-weight:800!important;
}
.footer-note{
  text-align:center!important;
}
.footer-credit{
  text-align:right!important;
  white-space:nowrap!important;
}
@media (max-width:1100px){
  .nav-service-menu{
    transform:translateX(-50%) translateY(8px)!important;
    max-height:min(48vh,380px)!important;
  }
  .service-nav-dropdown:hover .nav-service-menu,
  .service-nav-dropdown:focus-within .nav-service-menu{transform:translateX(-50%) translateY(0)!important;}
}
@media (max-width:880px){
  .service-nav-dropdown{padding-bottom:0!important;margin-bottom:0!important;}
  .service-nav-dropdown::after{display:none!important;}
  .inner-main{padding-top:calc(var(--nav-h) + var(--ticker-h) + 18px)!important;}
  .inner-hero{padding-top:70px!important;}
  .compact-service-hero{padding-top:calc(var(--nav-h) + var(--ticker-h) + 30px)!important;}
  .footer-bottom-production{grid-template-columns:1fr!important;text-align:left!important;align-items:flex-start!important;gap:8px!important;}
  .footer-copy,.footer-note,.footer-credit{text-align:left!important;white-space:normal!important;}
}


/* === Final user-request polish: nav arrow, nav hover, consent checkbox, footer alignment === */
/* Header nav: same professional hover-box for every normal nav item, with active underline retained. */
.nav-links > li > a:not(.nav-cta){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease!important;
}
.nav-links > li > a:not(.nav-cta):hover,
.nav-links > li > a:not(.nav-cta):focus-visible,
.nav-links > li:focus-within > a:not(.nav-cta){
  background:linear-gradient(135deg,rgba(32,66,144,.07),rgba(214,51,132,.055))!important;
  border-color:rgba(32,66,144,.12)!important;
  box-shadow:0 9px 24px rgba(15,23,42,.055)!important;
  color:#0d2e6b!important;
}
.nav-links > li > a.active:not(.nav-cta){
  color:#0d2e6b!important;
}
.nav-links > li > a:not(.nav-cta)::after{
  left:12px!important;
  right:12px!important;
  bottom:3px!important;
  width:auto!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .24s ease!important;
}
.nav-links > li > a:not(.nav-cta):hover::after,
.nav-links > li > a.active:not(.nav-cta)::after{
  transform:scaleX(1)!important;
}

/* Services arrow: remove the boxed icon and align the caret cleanly with the text. */
.nav-links .service-nav-dropdown > a{gap:5px!important;}
.nav-service-caret{
  display:inline-block!important;
  position:relative!important;
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  margin-left:1px!important;
  top:1px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
}
.nav-service-caret::before{
  content:""!important;
  position:absolute!important;
  left:1px!important;
  top:0!important;
  width:7px!important;
  height:7px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  color:#204290!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  transition:transform .2s ease,top .2s ease!important;
}
.service-nav-dropdown:hover .nav-service-caret,
.service-nav-dropdown:focus-within .nav-service-caret{
  transform:none!important;
  background:transparent!important;
  border:0!important;
}
.service-nav-dropdown:hover .nav-service-caret::before,
.service-nav-dropdown:focus-within .nav-service-caret::before{
  top:3px!important;
  transform:rotate(225deg)!important;
}

/* Required consent tick boxes in all quote/callback sending flows. */
.consent-check{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  text-align:left!important;
  margin:8px 0 14px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(32,66,144,.055),rgba(214,51,132,.055))!important;
  border:1px solid rgba(32,66,144,.11)!important;
  color:#43506b!important;
  cursor:pointer!important;
}
.consent-check input{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin-top:2px!important;
  accent-color:#204290!important;
  cursor:pointer!important;
}
.consent-check span{display:block!important;line-height:1.45!important;}
.consent-check a{color:#0d2e6b!important;font-weight:900!important;text-decoration:underline!important;text-underline-offset:2px!important;}
.hero-callback-legal.consent-check{font-size:.72rem!important;margin-top:10px!important;}

/* Footer final section: align keyword block and copyright row with the footer columns. */
.footer-search-keywords .container,
.footer-bottom .container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:44px!important;
  padding-right:44px!important;
}
.footer-search-keywords{
  padding:26px 0 26px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
.footer-search-keywords h4{
  margin:0 0 16px!important;
  text-align:left!important;
  letter-spacing:.11em!important;
}
.footer-search-keywords p{
  text-align:left!important;
  line-height:1.88!important;
  max-width:1180px!important;
}
.footer-bottom-production{
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) minmax(320px,1.15fr) minmax(220px,1fr)!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.footer-bottom-production p{margin:0!important;}
.footer-copy{text-align:left!important;font-weight:900!important;}
.footer-note{text-align:center!important;max-width:520px!important;justify-self:center!important;}
.footer-credit{text-align:right!important;justify-self:end!important;white-space:nowrap!important;}
@media (max-width:980px){
  .footer-bottom-production{grid-template-columns:1fr!important;gap:8px!important;align-items:flex-start!important;}
  .footer-copy,.footer-note,.footer-credit{text-align:left!important;justify-self:start!important;max-width:none!important;white-space:normal!important;}
}
@media (max-width:560px){
  .footer-search-keywords .container,.footer-bottom .container{padding-left:18px!important;padding-right:18px!important;}
  .nav-links > li > a:not(.nav-cta){padding:8px 10px!important;}
}

/* === TRUE FINAL GLOBAL TOP ALIGNMENT FIX — fixed header stack handled correctly on all pages ===
   The header and ticker are fixed, so page sections must start from the real top of the viewport
   and only their content should be padded below the fixed stack. This removes the pushed-down
   look across the home page, About page, Services page and all compact SEO service pages. */
@media (min-width:881px){
  html{
    scroll-padding-top:calc(var(--nav-h) + var(--ticker-h) + 18px)!important;
  }

  /* Home page: background begins behind the fixed header/ticker; content begins neatly below it. */
  body[data-page="home"] main#main-content{
    margin-top:0!important;
    padding-top:0!important;
  }
  body[data-page="home"] .hero{
    margin-top:0!important;
    min-height:100svh!important;
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 8px)!important;
    padding-bottom:22px!important;
    align-items:flex-start!important;
  }
  body[data-page="home"] .hero-content{
    margin-top:0!important;
    opacity:1!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    inset:0!important;
  }

  /* Inner pages: remove double top spacing and keep titles visible under fixed header/ticker. */
  body:not([data-page="home"]) main#main-content,
  body:not([data-page="home"]) .inner-main,
  body:not([data-page="home"]) .local-page-main{
    margin-top:0!important;
    padding-top:0!important;
  }
  body:not([data-page="home"]) .inner-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 36px)!important;
    padding-bottom:34px!important;
  }
  body:not([data-page="home"]) .compact-service-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 28px)!important;
    padding-bottom:36px!important;
  }
  body:not([data-page="home"]) .enhanced-seo-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 34px)!important;
    padding-bottom:44px!important;
  }
}

@media (min-width:881px) and (max-height:820px){
  body[data-page="home"] .hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 4px)!important;
    padding-bottom:14px!important;
  }
  body:not([data-page="home"]) .inner-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 24px)!important;
  }
  body:not([data-page="home"]) .compact-service-hero,
  body:not([data-page="home"]) .enhanced-seo-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 22px)!important;
  }
}

@media (max-width:880px){
  html{scroll-padding-top:calc(var(--nav-h) + var(--ticker-h) + 12px)!important;}
}

/* Production polish for compact service landing pages */
.compact-service-wrap{align-items:center;gap:2.5rem;}
.compact-service-copy p,.compact-service-card p,.compact-service-card li{line-height:1.7;}
.compact-service-media img{display:block;width:100%;height:auto;object-fit:cover;box-shadow:0 18px 40px rgba(17,34,68,.14);}
.compact-service-card,.compact-service-cta-box{box-shadow:0 14px 34px rgba(17,34,68,.08);}
.compact-service-actions .btn,.compact-service-final-cta .btn{letter-spacing:.01em;}
@media (max-width: 900px){.compact-service-wrap{gap:1.5rem;}}


/* Final production cleanup: tighter spacing, cleaner cards, smoother workflow */
html{scroll-behavior:smooth;}
.section{padding-top:clamp(48px,6vw,78px);padding-bottom:clamp(48px,6vw,78px);}
.inner-hero{padding-top:clamp(46px,5vw,70px);padding-bottom:clamp(42px,5vw,64px);}
.division-section{padding-top:clamp(42px,5vw,64px)!important;padding-bottom:clamp(42px,5vw,64px)!important;}
.division-grid{align-items:stretch;gap:22px!important;max-width:980px;margin:0 auto;}
.division-card{min-height:0!important;padding:26px 26px 24px!important;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;}
.division-card h3{margin:8px 0 0!important;font-size:clamp(1.55rem,2.2vw,2rem)!important;}
.division-card p{margin:0 0 14px!important;max-width:52ch;line-height:1.62!important;}
.division-card .service-link{margin-top:auto;align-self:flex-start;}
.division-pill{padding:8px 14px!important;font-size:.76rem!important;}
.services-grid-8{gap:20px!important;}
.service-card{height:auto!important;}
.service-card .service-body{padding:18px 18px 20px!important;}
.service-card .service-body p{line-height:1.55!important;margin-bottom:14px!important;}
.compact-service-hero{padding-top:clamp(54px,6vw,82px)!important;padding-bottom:clamp(44px,5vw,68px)!important;}
.compact-service-wrap{gap:clamp(28px,4vw,54px)!important;}
.compact-service-copy{padding:clamp(24px,3vw,38px)!important;}
.compact-service-copy h1{font-size:clamp(2.25rem,4.2vw,4.25rem)!important;line-height:1.05!important;margin-bottom:14px!important;}
.compact-service-copy p{margin-bottom:22px!important;}
.compact-service-detail-section{padding-top:clamp(34px,4vw,54px)!important;padding-bottom:clamp(34px,4vw,54px)!important;}
.compact-service-detail-grid{gap:18px!important;}
.compact-service-card{padding:22px!important;}
.compact-service-card h2{margin-bottom:12px!important;}
.compact-service-card li{margin:6px 0!important;}
.compact-service-final-cta{padding-top:clamp(34px,4vw,58px)!important;padding-bottom:clamp(44px,5vw,68px)!important;}
.footer-main{padding-top:42px!important;padding-bottom:42px!important;}
.footer-seo-strip{padding-top:24px!important;padding-bottom:24px!important;}
.footer-bottom{padding-top:18px!important;padding-bottom:18px!important;}
.footer-seo-text{line-height:1.75!important;}
.nav-links a,.nav-dropdown-toggle{transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;}
.btn,.service-link,.modal-submit,.floating-contact-button{transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.btn:hover,.service-link:hover,.modal-submit:hover{transform:translateY(-1px);}
@media (min-width:881px){
  .division-card{min-height:270px!important;}
}
@media (max-width:880px){
  .section{padding-top:42px;padding-bottom:42px;}
  .division-grid{grid-template-columns:1fr!important;}
  .division-card{padding:22px!important;min-height:0!important;}
  .compact-service-copy h1{font-size:2.35rem!important;}
}




/* Final service-page hero balance: equal, professional left/right cards */
.compact-service-page .compact-service-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)!important;
  align-items:stretch!important;
  gap:clamp(26px,3vw,44px)!important;
}
.compact-service-page .compact-service-copy,
.compact-service-page .compact-service-media{
  height:100%!important;
  min-height:clamp(430px,46vw,560px)!important;
  border-radius:30px!important;
}
.compact-service-page .compact-service-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(34px,4vw,58px)!important;
}
.compact-service-page .compact-service-media{
  display:flex!important;
  flex-direction:column!important;
  justify-content:stretch!important;
  align-self:stretch!important;
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid rgba(13,46,107,.10)!important;
  box-shadow:0 22px 60px rgba(13,46,107,.12)!important;
}
.compact-service-page .compact-service-media img{
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  border-radius:28px!important;
}
.compact-service-page .compact-service-media figcaption{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:18px!important;
  z-index:2!important;
  padding:13px 18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0d2e6b!important;
  font-weight:900!important;
  font-size:.88rem!important;
  box-shadow:0 12px 32px rgba(13,46,107,.12)!important;
}
.compact-service-page .compact-service-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:8px!important;
}
.compact-service-page .compact-service-actions .btn{
  min-width:160px!important;
  justify-content:center!important;
  text-align:center!important;
}
.compact-service-page .compact-service-points{
  margin-top:24px!important;
}
@media (max-width:980px){
  .compact-service-page .compact-service-wrap{
    grid-template-columns:1fr!important;
  }
  .compact-service-page .compact-service-copy,
  .compact-service-page .compact-service-media{
    min-height:auto!important;
  }
  .compact-service-page .compact-service-media{
    aspect-ratio:4/3!important;
  }
}




/* Professional legal pages */
.legal-pro-page .legal-hero{
  padding:clamp(52px,6vw,86px) 0 clamp(28px,4vw,44px);
  background:linear-gradient(135deg,#fffdf8 0%,#f7fbff 45%,#fff1f8 100%);
}
.legal-hero-box{
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.legal-hero h1{
  font-family:var(--font-head);
  color:var(--ink);
  font-size:clamp(2.4rem,5vw,4.6rem);
  line-height:1.03;
  margin:10px 0 14px;
}
.legal-hero p{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.7;
}
.legal-updated{
  display:inline-flex;
  margin-top:10px!important;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(13,46,107,.10);
  color:var(--royal)!important;
  font-weight:900;
  font-size:.86rem!important;
}
.legal-section{
  padding:clamp(38px,5vw,70px) 0 clamp(60px,7vw,96px);
  background:#fffdf8;
}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.legal-toc{
  position:sticky;
  top:calc(var(--nav-height, 88px) + 42px);
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(13,46,107,.10);
  box-shadow:0 16px 38px rgba(13,46,107,.07);
}
.legal-toc strong{
  display:block;
  font-family:var(--font-head);
  color:var(--royal);
  font-size:1.05rem;
  margin-bottom:8px;
}
.legal-toc p{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.55;
  margin:0 0 14px;
}
.legal-toc a{
  display:block;
  padding:10px 0;
  color:var(--ink);
  font-weight:850;
  border-top:1px solid rgba(13,46,107,.08);
}
.legal-card{
  padding:clamp(26px,4vw,44px);
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(13,46,107,.10);
  box-shadow:0 18px 44px rgba(13,46,107,.08);
}
.legal-card h2{
  font-family:var(--font-head);
  color:var(--royal);
  font-size:clamp(1.25rem,2vw,1.65rem);
  margin:28px 0 10px;
}
.legal-card h2:first-child{margin-top:0;}
.legal-card p{
  color:var(--muted);
  line-height:1.78;
  margin:0 0 14px;
}
.legal-card a{
  color:var(--royal);
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:900px){
  .legal-layout{grid-template-columns:1fr;}
  .legal-toc{position:relative;top:auto;}
  .legal-hero-box{text-align:left;}
}




/* Final quote-popup logic and visual polish */
.consult-promo-bg{
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,248,236,.82)),
    url('../assets/images/featured-projects/featured-upvc-interiors-wow.webp') center/cover no-repeat!important;
  filter:saturate(1.04) brightness(1.02)!important;
}
.consult-promo:before{
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,251,242,.94) 42%,rgba(255,247,235,.98) 100%)!important;
}
.division-note-clean{
  margin-top:auto!important;
  background:rgba(13,46,107,.78)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  backdrop-filter:blur(8px)!important;
}
.modal-call-help{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(13,46,107,.12);
  color:#0d2e6b;
  box-shadow:0 14px 30px rgba(13,46,107,.10);
  text-decoration:none!important;
}
.modal-call-help:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 36px rgba(13,46,107,.16);
}
.call-help-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#204290;
  color:#fff;
  font-size:1.05rem;
  flex:0 0 auto;
  border:3px solid #101010;
}
.call-help-text{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.call-help-text strong{
  font-family:var(--font-head);
  font-size:.9rem;
  color:#0d2e6b;
}
.call-help-text em{
  margin-top:4px;
  font-style:normal;
  font-weight:950;
  color:#d63384;
}
.modal-consultation .service-smart-notice{
  align-items:center!important;
  gap:10px!important;
}
.modal-consultation .notice-text b{
  white-space:nowrap;
}




/* Quote workflow refinement: visible call help + locked BHK pills */
.modal-call-help{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:10px 0 8px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(13,46,107,.14)!important;
  color:#0d2e6b!important;
  box-shadow:0 14px 30px rgba(13,46,107,.12)!important;
  text-decoration:none!important;
}
.modal-call-help:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 18px 36px rgba(13,46,107,.18)!important;
}
.call-help-icon{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#204290!important;
  color:#fff!important;
  font-size:1.05rem!important;
  flex:0 0 auto!important;
  border:3px solid #101010!important;
}
.call-help-text{
  display:flex!important;
  flex-direction:column!important;
  line-height:1.15!important;
}
.call-help-text strong{
  font-family:var(--font-head)!important;
  font-size:.9rem!important;
  color:#0d2e6b!important;
}
.call-help-text em{
  margin-top:4px!important;
  font-style:normal!important;
  font-weight:950!important;
  color:#d63384!important;
}
.division-note-clean{
  margin-top:8px!important;
}
.property-pill.is-disabled,
.property-pill:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  filter:grayscale(.22)!important;
  background:#f7f8fb!important;
  color:#7d8798!important;
  border-color:rgba(13,46,107,.10)!important;
  box-shadow:none!important;
}
.property-type-group.is-service-mode .property-pill.is-disabled:hover,
.property-type-group.is-service-mode .property-pill:disabled:hover{
  transform:none!important;
}
.service-smart-notice .notice-text{
  line-height:1.45!important;
}




/* Final quote-popup left-bottom visibility fix */
.consult-promo{
  justify-content:flex-start!important;
}
.consult-promo:before{
  display:none!important;
}
.division-note-clean{
  position:relative!important;
  z-index:4!important;
  margin-top:12px!important;
  background:rgba(13,46,107,.95)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 16px 34px rgba(13,46,107,.22)!important;
  backdrop-filter:blur(6px)!important;
  opacity:1!important;
}
.division-note-clean b{
  color:#ffffff!important;
}
.division-note-clean br + b{
  color:#8edaff!important;
}
.modal-call-help{
  z-index:5!important;
  margin-bottom:10px!important;
}


/* ============================================================
   2026-06 professional responsive polish requested by client
   - service card quote now asks Woodwork / UPVC before service finalisation
   - desktop hero card balanced vertically
   - smooth 3-second attention animation for header quote CTA
   - extra tablet/mobile stability without changing the visual identity
   ============================================================ */
@keyframes lumaHeaderQuoteAttention{
  0%,68%,100%{transform:translate3d(0,0,0) scale(1);box-shadow:0 14px 34px rgba(214,51,132,.20)}
  74%{transform:translate3d(0,-1px,0) scale(1.015);box-shadow:0 18px 42px rgba(214,51,132,.30)}
  80%{transform:translate3d(-1px,0,0) scale(1.018)}
  86%{transform:translate3d(1px,0,0) scale(1.018)}
  92%{transform:translate3d(0,0,0) scale(1.012)}
}
.nav-cta{
  animation:lumaHeaderQuoteAttention 3s ease-in-out infinite!important;
  transform-origin:center!important;
  will-change:transform,box-shadow!important;
}
.nav-cta:hover,.nav-cta:focus-visible{
  animation:none!important;
  transform:translateY(-2px) scale(1.01)!important;
}
@media (prefers-reduced-motion:reduce){
  .nav-cta{animation:none!important}
}
@media (min-width:981px){
  .hero-content{
    min-height:clamp(640px,71svh,720px)!important;
    padding-top:30px!important;
    padding-bottom:30px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .hero-offer-box{margin-top:9px!important;margin-bottom:10px!important}
  .hero-buttons{margin-top:7px!important;margin-bottom:9px!important}
}
@media (min-width:981px) and (max-height:790px){
  .hero-content{min-height:clamp(590px,70svh,650px)!important;padding-top:24px!important;padding-bottom:24px!important}
}
@media (max-width:1120px){
  .navbar{gap:14px!important}
  .nav-links{gap:16px!important}
  .nav-cta{padding-left:20px!important;padding-right:20px!important}
}
@media (max-width:980px){
  .nav-cta{animation:none!important}
  .hero{padding-top:32px!important;padding-bottom:34px!important}
  .hero-content{min-height:auto!important;justify-content:flex-start!important}
  .services-grid-8{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
  .service-card{height:100%!important}
  .service-body{display:flex!important;flex-direction:column!important}
  .service-body .service-link{margin-top:auto!important}
}
@media (max-width:720px){
  .services-grid-8{grid-template-columns:1fr!important;gap:18px!important}
  .section{padding-top:58px!important;padding-bottom:58px!important}
  .hero-content{padding-top:26px!important;padding-bottom:26px!important}
  .modal-choice-grid{gap:10px!important}
  .modal-consultation .form-group select{font-size:16px!important}
  .property-type-group{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .property-pill.property-commercial{grid-column:1/-1!important}
  .floating-contact-stack{right:14px!important;bottom:18px!important;gap:9px!important}
  .floating-contact-button{width:55px!important;height:55px!important}
  .chatbot-window{right:14px!important;bottom:86px!important;width:calc(100vw - 28px)!important;max-height:70dvh!important}
}
@media (max-width:430px){
  .hero{padding-left:12px!important;padding-right:12px!important}
  .hero-content{border-radius:22px!important;padding-left:16px!important;padding-right:16px!important}
  .hero h1{font-size:clamp(1.9rem,9vw,2.35rem)!important}
  .offer-header{grid-template-columns:1fr auto!important;row-gap:6px!important}
  .offer-header strong{grid-column:1/-1!important}
  .property-pill{min-height:42px!important}
  .modal-consultation h2{font-size:1.46rem!important}
}


/* ============================================================
   About + Gallery cleanup: less crowded copy, better spacing,
   and cleaner desktop/tablet/mobile reading without changing brand style.
   ============================================================ */
body[data-page="gallery"] .inner-hero{
  padding-bottom:clamp(20px,3vw,28px)!important;
}
body[data-page="gallery"] .inner-hero + .section{
  padding-top:clamp(22px,3vw,34px)!important;
}
body[data-page="gallery"] .gallery-filters{
  max-width:1000px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:30px!important;
  gap:10px!important;
}
body[data-page="gallery"] .filter-btn{
  padding:10px 17px!important;
  line-height:1.15!important;
}

body[data-page="about"] .inner-hero{
  padding-bottom:clamp(22px,3vw,34px)!important;
}
body[data-page="about"] .about-power-section{
  padding-top:clamp(26px,4vw,46px)!important;
  padding-bottom:clamp(44px,5vw,70px)!important;
}
body[data-page="about"] .about-power-section::before{
  right:1vw!important;
  top:3%!important;
  font-size:clamp(5rem,13vw,11rem)!important;
  opacity:.9!important;
}
body[data-page="about"] .about-power-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.78fr)!important;
  gap:26px!important;
  align-items:start!important;
}
body[data-page="about"] .about-power-copy,
body[data-page="about"] .about-power-card{
  border-radius:26px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 18px 46px rgba(13,46,107,.085)!important;
}
body[data-page="about"] .about-power-copy{
  padding:clamp(28px,3.4vw,42px)!important;
}
body[data-page="about"] .about-power-title{
  max-width:760px!important;
  margin-bottom:14px!important;
  font-size:clamp(2.25rem,4.5vw,4.45rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
body[data-page="about"] .about-power-lead{
  max-width:680px!important;
  font-size:clamp(1.02rem,1.25vw,1.17rem)!important;
  line-height:1.55!important;
  font-weight:800!important;
  margin-bottom:12px!important;
}
body[data-page="about"] .about-power-copy p:not(.section-label):not(.about-power-lead){
  max-width:680px!important;
  font-size:.98rem!important;
  line-height:1.68!important;
  margin-bottom:16px!important;
}
body[data-page="about"] .about-proof-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:20px!important;
  margin-bottom:18px!important;
}
body[data-page="about"] .about-proof-grid article{
  padding:18px 16px!important;
  border-radius:18px!important;
}
body[data-page="about"] .about-proof-grid strong{
  font-size:clamp(1.45rem,2.5vw,2rem)!important;
  line-height:1!important;
}
body[data-page="about"] .about-proof-grid span{
  font-size:.8rem!important;
  line-height:1.35!important;
}
body[data-page="about"] .about-power-card{
  align-self:start!important;
  padding:24px!important;
}
body[data-page="about"] .about-power-card-head{
  margin-bottom:18px!important;
  padding:13px!important;
  border-radius:18px!important;
}
body[data-page="about"] .about-power-card-head>span{
  flex-basis:40px!important;
  width:40px!important;
  height:40px!important;
  border-radius:13px!important;
}
body[data-page="about"] .about-power-card h3{
  font-size:clamp(1.45rem,2.1vw,2.15rem)!important;
  line-height:1.12!important;
  margin-bottom:14px!important;
}
body[data-page="about"] .about-power-card ul{
  gap:9px!important;
}
body[data-page="about"] .about-power-card li{
  padding:11px 13px 11px 40px!important;
  border-radius:14px!important;
  font-size:.94rem!important;
  line-height:1.36!important;
}
body[data-page="about"] .about-power-card li::before{
  top:10px!important;
}

@media (min-width:881px) and (max-height:820px){
  body[data-page="about"] .inner-hero{
    padding-top:calc(var(--nav-h) + var(--ticker-h) + 18px)!important;
    padding-bottom:20px!important;
  }
  body[data-page="about"] .about-power-section{
    padding-top:24px!important;
  }
  body[data-page="about"] .about-power-title{
    font-size:clamp(2.15rem,4vw,3.85rem)!important;
  }
  body[data-page="about"] .about-power-copy{padding:28px 32px!important;}
  body[data-page="about"] .about-power-card{padding:22px!important;}
}
@media (max-width:980px){
  body[data-page="about"] .about-power-layout{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body[data-page="about"] .about-power-copy,
  body[data-page="about"] .about-power-card{
    border-radius:22px!important;
  }
}
@media (max-width:700px){
  body[data-page="gallery"] .inner-hero + .section{
    padding-top:18px!important;
  }
  body[data-page="gallery"] .gallery-filters{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding:2px 2px 12px!important;
    margin-bottom:20px!important;
    scroll-snap-type:x proximity!important;
  }
  body[data-page="gallery"] .filter-btn{
    flex:0 0 auto!important;
    scroll-snap-align:start!important;
    padding:9px 14px!important;
    font-size:.9rem!important;
  }
  body[data-page="about"] .about-power-title{
    font-size:clamp(2.15rem,11vw,3.05rem)!important;
    line-height:1.04!important;
  }
  body[data-page="about"] .about-power-copy{
    padding:24px 18px!important;
  }
  body[data-page="about"] .about-proof-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body[data-page="about"] .about-proof-grid article{
    padding:16px!important;
  }
  body[data-page="about"] .about-power-card{
    padding:20px 18px!important;
  }
}

/* ============================================================
   Final mobile/header refinement requested: compact menu, correct spacing,
   clean floating buttons, visible brand text and gallery CTA wording.
   ============================================================ */
.nav-brand-text strong{font-size:.98rem!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
.nav-brand-text span{font-size:.64rem!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;letter-spacing:.055em!important;}
@media (min-width:881px){
  .nav-brand-text{min-width:238px!important;max-width:none!important;flex:1 1 auto!important;}
}
@media (max-width:1180px) and (min-width:881px){
  .nav-brand-text strong{font-size:.88rem!important;}
  .nav-brand-text span{font-size:.56rem!important;letter-spacing:.035em!important;}
  .nav-links{gap:17px!important;}
  .nav-cta{padding-left:20px!important;padding-right:20px!important;}
}

/* Desktop keeps original black-ring floating button style; borderless icons apply only on mobile/tablet. */
@media (max-width:880px){
  .floating-contact-stack{right:14px!important;bottom:18px!important;gap:9px!important;}
  .floating-contact-link{width:50px!important;height:50px!important;}
  .floating-contact-button{width:46px!important;height:46px!important;border:0!important;box-shadow:0 8px 18px rgba(13,46,107,.22),inset 0 0 0 1px rgba(255,255,255,.20)!important;}
  .floating-whatsapp::before{width:50px!important;height:50px!important;}
}

@media (max-width:880px){
  .navbar{z-index:1200!important;}
  .hamburger{display:flex!important;z-index:1210!important;position:relative!important;}
  .hamburger.open{background:#fff!important;box-shadow:0 10px 28px rgba(13,46,107,.14)!important;}
  .mobile-menu{
    inset:auto 14px auto auto!important;
    top:calc(var(--nav-h) + 10px)!important;
    bottom:auto!important;
    width:min(330px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - var(--nav-h) - 24px)!important;
    overflow-y:auto!important;
    z-index:1190!important;
    padding:16px!important;
    border-radius:24px!important;
    background:rgba(255,253,249,.98)!important;
    border:1px solid rgba(13,46,107,.10)!important;
    box-shadow:0 24px 70px rgba(13,46,107,.20)!important;
    backdrop-filter:blur(18px) saturate(1.1)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    transform:translateY(-10px) scale(.98)!important;
    transition:opacity .22s ease,visibility .22s ease,transform .22s ease!important;
  }
  .mobile-menu.open{transform:translateY(0) scale(1)!important;}
  .mobile-menu::before{content:"Menu";display:block;margin:0 2px 6px;font-family:var(--font-head);font-weight:900;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);}
  .mobile-menu>a:not(.mobile-quote),
  .mobile-service-details summary{
    width:100%!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:10px 13px!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid rgba(13,46,107,.10)!important;
    color:#15162b!important;
    font-size:.98rem!important;
    line-height:1.2!important;
    text-align:left!important;
    box-shadow:0 6px 16px rgba(13,46,107,.055)!important;
  }
  .mobile-service-details{width:100%!important;text-align:left!important;}
  .mobile-service-details summary::after{content:"⌄";font-size:1rem;color:var(--royal);transition:transform .2s ease;}
  .mobile-service-details[open] summary::after{transform:rotate(180deg);}
  .mobile-service-list{max-height:230px!important;gap:7px!important;padding:8px 0 0!important;}
  .mobile-service-list a{box-shadow:none!important;font-size:.9rem!important;}
  .mobile-quote{width:100%!important;margin-top:4px!important;min-height:46px!important;border-radius:16px!important;box-shadow:0 14px 28px rgba(214,51,132,.22)!important;}
}

@media (max-width:700px){
  :root{--nav-h:70px;--ticker-h:38px;}
  .navbar{height:var(--nav-h)!important;padding-left:12px!important;padding-right:12px!important;}
  .nav-logo img{width:86px!important;}
  .nav-brand-text{display:none!important;}
  .social-ticker{height:var(--ticker-h)!important;}
  .ticker-item{font-size:.74rem!important;}
  .inner-main{padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  .inner-hero{padding:30px 0 20px!important;}
  .inner-hero h1{font-size:clamp(2rem,11vw,3rem)!important;line-height:1.03!important;margin-bottom:10px!important;}
  .inner-hero p:last-child{font-size:.94rem!important;line-height:1.55!important;}
  body[data-page="home"] .hero{margin-top:calc(var(--nav-h) + var(--ticker-h))!important;min-height:auto!important;align-items:flex-start!important;padding:16px 12px 30px!important;}
  body[data-page="home"] .hero-content{margin-top:0!important;padding-top:16px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.78rem,8.4vw,2.34rem)!important;}
  .section{padding:46px 0!important;}
  .gallery-preview-section{padding-top:42px!important;}
  .gallery-view-more{font-size:.95rem!important;min-height:52px!important;text-align:center!important;}
}

/* ============================================================
   Final mobile top alignment repair
   Fixes the large blank space below the mobile ticker by removing
   flex centering from the home hero only on phone widths.
   ============================================================ */
@media (max-width:700px){
  html{
    scroll-padding-top:calc(var(--nav-h) + var(--ticker-h) + 10px)!important;
  }
  .navbar{
    top:0!important;
  }
  .social-ticker{
    top:var(--nav-h)!important;
  }
  body[data-page="home"] .hero{
    display:block!important;
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    min-height:calc(100dvh - var(--nav-h) - var(--ticker-h))!important;
    padding:8px 10px 28px!important;
    align-items:initial!important;
    justify-content:initial!important;
    gap:0!important;
  }
  body[data-page="home"] .hero-content{
    width:min(100%,430px)!important;
    margin:0 auto!important;
    position:relative!important;
    top:0!important;
    padding:18px 16px 20px!important;
    border-radius:22px!important;
  }
  body[data-page="home"] .hero-logo-mark img{
    width:88px!important;
    margin:0 auto 7px!important;
  }
  body[data-page="home"] .eyebrow{
    margin-bottom:8px!important;
    font-size:.60rem!important;
    line-height:1.22!important;
    letter-spacing:.13em!important;
  }
  body[data-page="home"] .hero-experience-badge{
    margin:0 auto 8px!important;
  }
  body[data-page="home"] .hero h1{
    margin-bottom:8px!important;
    font-size:clamp(1.76rem,8.7vw,2.28rem)!important;
    line-height:1.05!important;
  }
  body[data-page="home"] .hero h1::after{
    margin-top:7px!important;
  }
  body[data-page="home"] .hero-offer-box{
    margin:9px 0 8px!important;
  }
  body[data-page="home"] .hero-buttons{
    transform:none!important;
  }
  .inner-main{
    padding-top:calc(var(--nav-h) + var(--ticker-h))!important;
  }
  .inner-hero{
    padding-top:24px!important;
  }
}
@media (max-width:390px){
  body[data-page="home"] .hero{
    padding-top:6px!important;
  }
  body[data-page="home"] .hero-content{
    padding:16px 14px 18px!important;
  }
  body[data-page="home"] .hero h1{
    font-size:clamp(1.66rem,8.8vw,2.08rem)!important;
  }
  body[data-page="home"] .offer-badge-red{
    font-size:.58rem!important;
    padding:6px 8px!important;
  }
}

/* ============================================================
   Hard mobile top-gap repair v2
   Pulls the first visible content directly below the fixed ticker on phones.
   This targets the actual mobile screenshots where the hero/inner content
   was sitting too low under the header stack.
   ============================================================ */
@media (max-width:700px){
  :root{--nav-h:70px;--ticker-h:38px;}
  .navbar{top:0!important;height:var(--nav-h)!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;}

  body[data-page="home"] main#main-content{
    margin-top:0!important;
    padding-top:0!important;
  }
  body[data-page="home"] .hero{
    display:block!important;
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    padding-top:0!important;
    padding-bottom:22px!important;
    min-height:auto!important;
    align-items:initial!important;
    justify-content:initial!important;
  }
  body[data-page="home"] .hero-content{
    margin-top:-72px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    position:relative!important;
    z-index:3!important;
  }

  body:not([data-page="home"]) main#main-content,
  body:not([data-page="home"]) .inner-main,
  body:not([data-page="home"]) .local-page-main{
    margin-top:0!important;
    padding-top:calc(var(--nav-h) + var(--ticker-h))!important;
  }
  body:not([data-page="home"]) .inner-hero{
    padding-top:10px!important;
    padding-bottom:18px!important;
  }
  body:not([data-page="home"]) .compact-service-hero,
  body:not([data-page="home"]) .enhanced-seo-hero{
    padding-top:12px!important;
    padding-bottom:24px!important;
  }
}
@media (max-width:390px){
  body[data-page="home"] .hero-content{
    margin-top:-68px!important;
  }
}

/* ============================================================
   Final mobile header gap correction v3
   Brings the first content closer to the fixed header/ticker on phones.
   Keeps desktop/tablet layout unchanged.
   ============================================================ */
@media (max-width:700px){
  :root{--nav-h:70px;--ticker-h:38px;}
  .navbar{top:0!important;height:var(--nav-h)!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;}

  body[data-page="home"] main#main-content{
    margin:0!important;
    padding:0!important;
  }
  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    padding:0 8px 22px!important;
    min-height:auto!important;
    display:block!important;
    align-items:initial!important;
    justify-content:initial!important;
    gap:0!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:min(100%,430px)!important;
    margin:-132px auto 0!important;
    padding:14px 16px 18px!important;
    position:relative!important;
    top:0!important;
    z-index:3!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-logo-mark{
    display:none!important;
  }
  body[data-page="home"] .eyebrow{
    margin:0 0 8px!important;
  }
  body[data-page="home"] .hero-experience-badge{
    margin:0 auto 8px!important;
  }
  body[data-page="home"] .hero h1{
    margin:0 0 8px!important;
  }

  body:not([data-page="home"]) main#main-content,
  body:not([data-page="home"]) .inner-main,
  body:not([data-page="home"]) .local-page-main{
    margin:0!important;
    padding-top:calc(var(--nav-h) + var(--ticker-h))!important;
  }
  body:not([data-page="home"]) .inner-hero{
    padding-top:4px!important;
    padding-bottom:16px!important;
  }
  body:not([data-page="home"]) .compact-service-hero,
  body:not([data-page="home"]) .enhanced-seo-hero{
    padding-top:6px!important;
    padding-bottom:20px!important;
  }
}
@media (max-width:390px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    margin-top:-124px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

/* ============================================================
   Mobile simplicity patch: remove hidden SEO text from view,
   simplify phone layout, and make hero CTAs look like real buttons.
   ============================================================ */
.sr-only,
.service-area-production-note.sr-only{
  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;
}
.inner-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px;}
.btn.primary,.btn.btn-primary{
  background:var(--grad-pink)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 30px rgba(214,51,132,.22)!important;
}
.btn.secondary,.btn.btn-secondary{
  background:#fff!important;
  color:var(--royal)!important;
  border:1px solid rgba(32,66,144,.13)!important;
  box-shadow:0 10px 22px rgba(13,46,107,.08)!important;
}
.compact-service-actions .btn,
.inner-hero-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  padding:14px 22px!important;
  border-radius:18px!important;
  font-family:var(--font-head)!important;
  font-weight:900!important;
  text-decoration:none!important;
  line-height:1!important;
}
@media (max-width:700px){
  :root{--nav-h:70px!important;--ticker-h:38px!important;}
  html{scroll-padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  body{overflow-x:hidden!important;background:#fffdf9!important;}
  .navbar{height:var(--nav-h)!important;top:0!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;}
  .ticker-track{height:100%!important;}
  .ticker-item{font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;}

  body[data-page="home"] main#main-content,
  body:not([data-page="home"]) main#main-content,
  .inner-main,
  .local-page-main{
    margin-top:0!important;
    padding-top:calc(var(--nav-h) + var(--ticker-h))!important;
  }
  body[data-page="home"] .hero{
    margin-top:0!important;
    padding:0 0 22px!important;
    display:block!important;
    min-height:auto!important;
    overflow:hidden!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:100%!important;
    max-width:440px!important;
    margin:0 auto!important;
    border-radius:0 0 26px 26px!important;
    padding:18px 22px 20px!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-logo-mark{display:none!important;}
  body[data-page="home"] .hero h1{font-size:clamp(2rem,9vw,2.45rem)!important;line-height:1.06!important;margin-bottom:10px!important;}
  body[data-page="home"] .eyebrow{font-size:.62rem!important;line-height:1.25!important;margin-bottom:10px!important;}
  body[data-page="home"] .hero p{font-size:.88rem!important;line-height:1.45!important;}
  body[data-page="home"] .hero-trust-line{font-size:.75rem!important;}
  body[data-page="home"] .hero-offer-box{padding:12px!important;margin:10px 0 12px!important;border-radius:18px!important;}
  body[data-page="home"] .offer-price-grid{gap:10px!important;}
  body[data-page="home"] .offer-price-card{padding:13px 10px!important;}
  body[data-page="home"] .hero-chips{display:none!important;}

  .inner-hero,
  body:not([data-page="home"]) .inner-hero{
    padding:18px 0 22px!important;
  }
  .inner-hero-box{padding:0 12px!important;}
  .inner-hero .section-label{font-size:.68rem!important;line-height:1.45!important;letter-spacing:.12em!important;margin-bottom:12px!important;}
  .inner-hero h1{font-size:clamp(2.05rem,10vw,2.75rem)!important;line-height:1.08!important;margin:0 0 12px!important;}
  .inner-hero p:last-child{font-size:.96rem!important;line-height:1.48!important;max-width:32ch!important;}
  .inner-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:18px auto 0!important;max-width:330px!important;}
  .inner-hero-actions .btn{width:100%!important;min-height:48px!important;}

  .compact-service-hero,
  body:not([data-page="home"]) .compact-service-hero,
  body:not([data-page="home"]) .enhanced-seo-hero{
    padding:14px 0 28px!important;
  }
  .compact-service-page .compact-service-wrap,
  .compact-service-wrap{
    display:block!important;
    padding:0 14px!important;
  }
  .compact-service-page .compact-service-copy,
  .compact-service-copy{
    min-height:0!important;
    width:100%!important;
    padding:26px 22px!important;
    border-radius:24px!important;
    display:block!important;
    box-shadow:0 16px 42px rgba(13,46,107,.09)!important;
    background:rgba(255,255,255,.92)!important;
  }
  .compact-service-copy .page-kicker{font-size:.68rem!important;line-height:1.35!important;letter-spacing:.07em!important;padding:10px 13px!important;border-radius:18px!important;display:inline-flex!important;margin-bottom:8px!important;}
  .compact-service-copy h1{font-size:clamp(2rem,9.4vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:12px 0 12px!important;}
  .compact-service-copy p{font-size:.98rem!important;line-height:1.58!important;margin:0 0 18px!important;color:#65718a!important;}
  .compact-service-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:16px!important;}
  .compact-service-actions .btn{width:100%!important;min-height:50px!important;border-radius:18px!important;font-size:.98rem!important;}
  .compact-service-points{display:none!important;}
  .compact-service-page .compact-service-media,
  .compact-service-media{display:none!important;}

  .division-section{padding-top:34px!important;padding-bottom:34px!important;}
  .division-section .section-header{margin-bottom:18px!important;}
  .division-section .section-title{font-size:clamp(1.9rem,8.8vw,2.35rem)!important;line-height:1.08!important;}
  .division-section .section-subtitle{font-size:.94rem!important;line-height:1.48!important;max-width:32ch!important;margin-left:auto!important;margin-right:auto!important;}
  .division-card p{font-size:.94rem!important;line-height:1.5!important;}
  .division-card ul{display:none!important;}
  .division-card .service-link{width:100%!important;text-align:center!important;justify-content:center!important;}

  .section{padding-top:38px!important;padding-bottom:38px!important;}
  .section-header{margin-bottom:22px!important;}
  .section-title{font-size:clamp(1.9rem,8.7vw,2.38rem)!important;line-height:1.08!important;}
  .section-subtitle{font-size:.94rem!important;line-height:1.48!important;max-width:34ch!important;}
  .service-body p{font-size:.94rem!important;line-height:1.48!important;}
  .service-image{height:190px!important;}
  .gallery-preview-section{padding-top:32px!important;}
  .gallery-view-more{font-size:.95rem!important;min-height:50px!important;}

  .local-seo-section,
  .services-material-seo-section,
  .footer-search-keywords,
  .enhanced-ai-section,
  .production-service-pages-section{display:none!important;}

  .floating-contact-stack{right:12px!important;bottom:16px!important;gap:8px!important;}
  .floating-contact-link{width:48px!important;height:48px!important;}
  .floating-contact-button{width:44px!important;height:44px!important;border:0!important;box-shadow:0 8px 18px rgba(13,46,107,.22),inset 0 0 0 1px rgba(255,255,255,.22)!important;}
  .floating-whatsapp::before{width:48px!important;height:48px!important;}
}
@media (max-width:390px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{padding-left:20px!important;padding-right:20px!important;}
  .compact-service-copy h1{font-size:clamp(1.85rem,9.2vw,2.25rem)!important;}
  .inner-hero h1{font-size:clamp(1.9rem,9.6vw,2.5rem)!important;}
}

/* ============================================================
   Desktop-only hero box correction
   Requested: fix only the home hero box placement and size on desktop.
   Mobile/tablet layout and other sections are untouched.
   ============================================================ */
@media (min-width:981px){
  .hero{
    justify-content:flex-start!important;
    align-items:center!important;
    padding-left:clamp(58px,5.2vw,86px)!important;
    padding-right:clamp(44px,5vw,82px)!important;
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .hero-content{
    width:clamp(560px,39vw,620px)!important;
    max-width:620px!important;
    min-height:0!important;
    margin-left:0!important;
    padding:30px 34px 28px!important;
    border-radius:30px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,249,243,.42))!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 24px 74px rgba(13,46,107,.13)!important;
    overflow:hidden!important;
  }
  .hero-content.visible{
    transform:translateY(-8px)!important;
  }
  .hero-logo-mark img{
    width:106px!important;
    margin-bottom:8px!important;
  }
  .hero .eyebrow{
    font-size:.66rem!important;
    line-height:1.25!important;
    margin-bottom:8px!important;
  }
  .hero-experience-badge{
    margin-bottom:9px!important;
  }
  .hero h1{
    max-width:11.2em!important;
    font-size:clamp(2.22rem,2.85vw,3.05rem)!important;
    line-height:1.035!important;
    letter-spacing:-.046em!important;
    margin-bottom:9px!important;
  }
  .hero h1::after{
    margin-top:8px!important;
  }
  .hero-content>p.hero-intro-copy{
    max-width:560px!important;
    font-size:.88rem!important;
    line-height:1.48!important;
    margin-bottom:10px!important;
  }
  .hero-offer-box{
    margin:10px 0 11px!important;
    padding:13px 14px!important;
    border-radius:20px!important;
  }
  .offer-header{
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .offer-badge-red{
    padding:7px 10px!important;
    font-size:.58rem!important;
  }
  .offer-header strong{
    font-size:.76rem!important;
    line-height:1.2!important;
  }
  .offer-price-grid{
    gap:10px!important;
  }
  .offer-price-grid article{
    padding:10px 12px!important;
  }
  .offer-price-grid article span{
    font-size:.70rem!important;
  }
  .offer-price-grid strong{
    font-size:1rem!important;
  }
  .hero-offer-box p{
    margin-top:7px!important;
    font-size:.66rem!important;
    line-height:1.34!important;
  }
  .hero-trust-line{
    margin:8px 0 10px!important;
    font-size:.76rem!important;
  }
  .hero-buttons{
    margin:9px 0 12px!important;
    gap:10px!important;
    transform:none!important;
  }
  .hero-buttons .btn{
    padding:12px 22px!important;
    font-size:.86rem!important;
  }
  .hero-chips{
    gap:7px!important;
  }
  .hero-chips span{
    padding:6px 10px!important;
    font-size:.66rem!important;
  }
}

@media (min-width:981px) and (max-height:790px){
  .hero{
    padding-left:clamp(54px,5vw,78px)!important;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
  .hero-content{
    width:clamp(545px,38vw,600px)!important;
    max-width:600px!important;
    padding:22px 30px 20px!important;
  }
  .hero-content.visible{
    transform:translateY(-6px)!important;
  }
  .hero-logo-mark img{
    width:94px!important;
    margin-bottom:5px!important;
  }
  .hero .eyebrow{
    font-size:.60rem!important;
    margin-bottom:5px!important;
  }
  .hero-experience-badge{
    margin-bottom:6px!important;
    padding:5px 9px 5px 6px!important;
  }
  .hero-experience-badge span{
    min-width:38px!important;
    height:28px!important;
    font-size:.84rem!important;
  }
  .hero-experience-badge strong{
    font-size:.60rem!important;
  }
  .hero h1{
    font-size:clamp(2.02rem,2.55vw,2.68rem)!important;
    line-height:1.035!important;
    margin-bottom:6px!important;
  }
  .hero-content>p.hero-intro-copy{
    font-size:.80rem!important;
    line-height:1.36!important;
    margin-bottom:6px!important;
  }
  .hero-offer-box{
    margin:6px 0 7px!important;
    padding:9px 11px!important;
  }
  .offer-badge-red{
    padding:5px 8px!important;
    font-size:.53rem!important;
  }
  .offer-header strong{
    font-size:.68rem!important;
  }
  .offer-price-grid article{
    padding:7px 9px!important;
  }
  .offer-price-grid article span{
    font-size:.64rem!important;
  }
  .offer-price-grid strong{
    font-size:.88rem!important;
  }
  .hero-offer-box p{
    margin-top:4px!important;
    font-size:.59rem!important;
  }
  .hero-trust-line{
    margin:5px 0 6px!important;
    font-size:.68rem!important;
  }
  .hero-buttons{
    margin:6px 0 7px!important;
  }
  .hero-buttons .btn{
    padding:9px 18px!important;
    font-size:.78rem!important;
  }
  .hero-chips span{
    padding:5px 8px!important;
    font-size:.60rem!important;
  }
}

/* Final desktop-only hero box correction: smaller card with tighter left spacing. */
@media (min-width:981px){
  .hero{
    padding-left:clamp(30px,3.2vw,50px)!important;
    padding-right:clamp(28px,3.2vw,52px)!important;
  }
  .hero-content{
    width:clamp(430px,31.5vw,485px)!important;
    padding:22px 22px 21px!important;
    border-radius:28px!important;
  }
  .hero-logo-mark img{
    width:94px!important;
    margin-bottom:5px!important;
  }
  .eyebrow{
    font-size:.59rem!important;
    margin-bottom:5px!important;
    letter-spacing:.18em!important;
  }
  .hero-experience-badge{
    margin-bottom:6px!important;
    padding:5px 9px 5px 6px!important;
  }
  .hero-experience-badge span{
    min-width:39px!important;
    height:28px!important;
    font-size:.86rem!important;
  }
  .hero-experience-badge strong{
    font-size:.60rem!important;
  }
  .hero h1{
    font-size:clamp(2rem,2.45vw,2.48rem)!important;
    line-height:1.025!important;
    margin-bottom:6px!important;
  }
  .hero h1::after{
    width:72px!important;
    height:3px!important;
    margin-top:6px!important;
  }
  .hero-content>p.hero-intro-copy{
    font-size:.78rem!important;
    line-height:1.38!important;
    margin-bottom:6px!important;
  }
  .hero-offer-box{
    margin:6px 0 6px!important;
    padding:8px 9px!important;
    border-radius:17px!important;
  }
  .offer-header{
    gap:5px!important;
    margin-bottom:5px!important;
  }
  .offer-badge-red{
    padding:5px 7px!important;
    font-size:.50rem!important;
  }
  .offer-header strong{
    font-size:.63rem!important;
  }
  .offer-percent{
    width:26px!important;
    height:26px!important;
    font-size:.88rem!important;
  }
  .offer-price-grid{
    gap:6px!important;
  }
  .offer-price-grid article{
    padding:7px 8px!important;
    border-radius:13px!important;
  }
  .offer-price-grid article span{
    font-size:.61rem!important;
  }
  .offer-price-grid strong{
    font-size:.86rem!important;
  }
  .hero-offer-box p{
    font-size:.57rem!important;
    line-height:1.28!important;
    margin-top:4px!important;
  }
  .hero-trust-line{
    font-size:.64rem!important;
    margin:5px 0!important;
  }
  .hero-buttons{
    gap:7px!important;
    margin:5px 0 6px!important;
    transform:translateY(-1mm)!important;
  }
  .hero-buttons .btn{
    padding:9px 16px!important;
    font-size:.74rem!important;
  }
  .hero-chips{
    gap:5px!important;
  }
  .hero-chips span{
    padding:5px 7px!important;
    font-size:.56rem!important;
  }
}

/* ============================================================
   Mobile spacing cleanup — compact sections and CTA blocks
   ============================================================ */
@media (max-width: 640px){
  /* Reduce repeated mobile white gaps across the site */
  .section,
  .gallery-section,
  .process-section,
  .division-section,
  .contact-section,
  .seo-link-hub-section,
  .compact-service-detail-section,
  .compact-service-final-cta,
  .enhanced-area-section,
  .material-seo-section,
  .production-service-pages-section,
  .services-material-seo-section{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }

  .section-header{
    margin-bottom:22px!important;
  }
  .section-label{
    margin-bottom:8px!important;
  }
  .section-title{
    font-size:clamp(1.75rem,8vw,2.25rem)!important;
    line-height:1.08!important;
    margin-bottom:10px!important;
  }
  .section-subtitle{
    font-size:.92rem!important;
    line-height:1.55!important;
    max-width:32ch!important;
  }

  /* CTA blue block: keep it close to nearby content, not floating with big blank gaps */
  .cta-section{
    padding-top:18px!important;
    padding-bottom:28px!important;
  }
  .cta-container{
    display:block!important;
    padding:28px 18px!important;
    border-radius:26px!important;
    text-align:center!important;
    gap:0!important;
  }
  .cta-container::before{
    width:260px!important;
    height:260px!important;
    opacity:.8!important;
  }
  .cta-content h2{
    font-size:clamp(1.55rem,7.4vw,2rem)!important;
    line-height:1.12!important;
    margin-bottom:10px!important;
    letter-spacing:-.03em!important;
  }
  .cta-content p{
    font-size:.92rem!important;
    line-height:1.55!important;
    margin:0 auto 8px!important;
    max-width:30ch!important;
  }
  .cta-trust-line{
    margin-top:8px!important;
    font-size:.90rem!important;
  }
  .cta-action{
    width:100%!important;
    margin-top:20px!important;
  }
  .btn-cta-premium{
    width:100%!important;
    min-height:50px!important;
    padding:14px 16px!important;
    border-radius:18px!important;
    white-space:normal!important;
    line-height:1.25!important;
    font-size:.86rem!important;
  }

  /* Tighten cards/grids that were creating extra long vertical scroll */
  .services-grid-8,
  .process-steps,
  .gallery-preview-grid,
  .division-grid,
  .contact-grid,
  .material-seo-grid,
  .production-service-pages-grid{
    gap:16px!important;
  }
  .process-step,
  .division-card,
  .contact-card,
  .service-detail-card,
  .compact-service-card{
    padding:18px!important;
    border-radius:20px!important;
  }
  .section-action{
    margin-top:20px!important;
  }

  /* Keep the next section heading close after CTA */
  .cta-section + .section,
  .cta-section + .contact-section{
    padding-top:24px!important;
  }

  /* Prevent floating buttons from covering CTA text too much on phone */
  .floating-contact-stack{
    bottom:18px!important;
    right:16px!important;
    gap:10px!important;
  }
}

@media (min-width: 641px) and (max-width: 980px){
  .section{padding-top:44px!important;padding-bottom:44px!important;}
  .cta-section{padding-top:34px!important;padding-bottom:42px!important;}
  .cta-container{padding:42px 30px!important;border-radius:28px!important;}
}

/* ============================================================
   Desktop hero text box correction — balanced final panel
   Only adjusts the desktop homepage text box size, spacing and readability.
   ============================================================ */
@media (min-width:981px){
  .hero{
    padding:28px clamp(42px,4.6vw,78px)!important;
    align-items:center!important;
  }
  .hero-content{
    width:clamp(560px,39vw,620px)!important;
    max-width:620px!important;
    margin-left:0!important;
    margin-right:auto!important;
    padding:30px 32px 28px!important;
    border-radius:28px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,249,243,.52))!important;
    backdrop-filter:blur(18px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
    border:1px solid rgba(255,255,255,.68)!important;
    box-shadow:0 24px 72px rgba(13,46,107,.12)!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .hero-logo-mark img{
    width:112px!important;
    margin-bottom:8px!important;
  }
  .hero-content .eyebrow{
    font-size:.68rem!important;
    line-height:1.24!important;
    margin-bottom:9px!important;
  }
  .hero-experience-badge{
    margin-bottom:10px!important;
    padding:6px 11px 6px 7px!important;
  }
  .hero-experience-badge span{
    min-width:43px!important;
    height:31px!important;
    font-size:.94rem!important;
  }
  .hero-experience-badge strong{
    font-size:.66rem!important;
  }
  .hero h1{
    max-width:10.4em!important;
    font-size:clamp(2.55rem,3.12vw,3.25rem)!important;
    line-height:1.02!important;
    letter-spacing:-.046em!important;
    margin-bottom:8px!important;
  }
  .hero h1::after{
    width:78px!important;
    height:3px!important;
    margin-top:9px!important;
  }
  .hero-content>p.hero-intro-copy{
    max-width:550px!important;
    font-size:.91rem!important;
    line-height:1.43!important;
    margin-bottom:9px!important;
  }
  .hero-offer-box{
    margin:9px 0 10px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
    background:rgba(255,250,247,.78)!important;
  }
  .offer-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .offer-badge-red{
    padding:6px 10px!important;
    font-size:.58rem!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  .offer-header strong{
    font-size:.75rem!important;
    line-height:1.18!important;
  }
  .offer-percent{
    width:30px!important;
    height:30px!important;
    font-size:1rem!important;
  }
  .offer-price-grid{
    gap:9px!important;
  }
  .offer-price-grid article{
    padding:9px 12px!important;
  }
  .offer-price-grid article span{
    font-size:.71rem!important;
  }
  .offer-price-grid strong{
    font-size:1rem!important;
  }
  .hero-offer-box p{
    margin-top:6px!important;
    font-size:.64rem!important;
    line-height:1.35!important;
  }
  .hero-trust-line{
    margin:8px 0!important;
    font-size:.72rem!important;
  }
  .hero-buttons{
    transform:none!important;
    margin:8px 0 9px!important;
    gap:10px!important;
  }
  .hero-buttons .btn{
    padding:11px 21px!important;
    font-size:.82rem!important;
  }
  .hero-chips{
    gap:7px!important;
  }
  .hero-chips span{
    padding:6px 9px!important;
    font-size:.62rem!important;
  }
}

/* ============================================================
   Final desktop hero box crop fix — balanced margins on all sides.
   Adjusts only the homepage desktop hero text box.
   ============================================================ */
@media (min-width:981px){
  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    padding:clamp(28px,3.6vh,42px) clamp(30px,3.1vw,48px)!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:clamp(500px,36vw,560px)!important;
    max-width:560px!important;
    min-height:0!important;
    margin:0 auto 0 0!important;
    padding:clamp(28px,3.4vh,36px) clamp(24px,2.2vw,30px)!important;
    border-radius:28px!important;
    transform:none!important;
    justify-content:center!important;
    background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,249,243,.52))!important;
    border:1px solid rgba(255,255,255,.70)!important;
    box-shadow:0 24px 72px rgba(13,46,107,.12)!important;
    overflow:hidden!important;
  }
  body[data-page="home"] .hero-logo-mark img{
    width:96px!important;
    margin-bottom:7px!important;
  }
  body[data-page="home"] .hero-content .eyebrow{
    font-size:.62rem!important;
    line-height:1.22!important;
    letter-spacing:.16em!important;
    margin-bottom:7px!important;
  }
  body[data-page="home"] .hero-experience-badge{
    margin-bottom:8px!important;
    padding:6px 10px 6px 7px!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    min-width:40px!important;
    height:29px!important;
    font-size:.88rem!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    font-size:.61rem!important;
  }
  body[data-page="home"] .hero h1{
    max-width:10.8em!important;
    font-size:clamp(2.15rem,2.72vw,2.92rem)!important;
    line-height:1.025!important;
    letter-spacing:-.046em!important;
    margin-bottom:7px!important;
  }
  body[data-page="home"] .hero h1::after{
    width:76px!important;
    height:3px!important;
    margin-top:7px!important;
  }
  body[data-page="home"] .hero-content>p.hero-intro-copy{
    max-width:none!important;
    font-size:.84rem!important;
    line-height:1.42!important;
    margin-bottom:8px!important;
  }
  body[data-page="home"] .hero-offer-box{
    margin:8px 0 9px!important;
    padding:10px 12px!important;
    border-radius:18px!important;
  }
  body[data-page="home"] .offer-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    margin-bottom:7px!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:6px 9px!important;
    font-size:.54rem!important;
    letter-spacing:.055em!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.70rem!important;
    line-height:1.16!important;
  }
  body[data-page="home"] .offer-percent{
    width:29px!important;
    height:29px!important;
    font-size:.96rem!important;
  }
  body[data-page="home"] .offer-price-grid{
    gap:8px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:8px 10px!important;
  }
  body[data-page="home"] .offer-price-grid article span{
    font-size:.67rem!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    font-size:.94rem!important;
  }
  body[data-page="home"] .hero-offer-box p{
    margin-top:5px!important;
    font-size:.61rem!important;
    line-height:1.32!important;
  }
  body[data-page="home"] .hero-trust-line{
    margin:7px 0!important;
    font-size:.70rem!important;
  }
  body[data-page="home"] .hero-buttons{
    transform:none!important;
    gap:9px!important;
    margin:7px 0 8px!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    padding:10px 20px!important;
    font-size:.80rem!important;
    min-height:42px!important;
  }
  body[data-page="home"] .hero-chips{
    gap:6px!important;
  }
  body[data-page="home"] .hero-chips span{
    padding:5px 8px!important;
    font-size:.60rem!important;
  }
}

@media (min-width:981px) and (max-height:790px){
  body[data-page="home"] .hero{
    padding-top:clamp(22px,3vh,32px)!important;
    padding-bottom:clamp(22px,3vh,32px)!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:clamp(488px,35vw,540px)!important;
    padding:22px 24px 21px!important;
  }
  body[data-page="home"] .hero-logo-mark img{width:88px!important;margin-bottom:5px!important;}
  body[data-page="home"] .hero-content .eyebrow{font-size:.58rem!important;margin-bottom:5px!important;}
  body[data-page="home"] .hero-experience-badge{margin-bottom:6px!important;padding:5px 9px 5px 6px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.98rem,2.55vw,2.62rem)!important;margin-bottom:5px!important;}
  body[data-page="home"] .hero-content>p.hero-intro-copy{font-size:.79rem!important;line-height:1.34!important;margin-bottom:6px!important;}
  body[data-page="home"] .hero-offer-box{margin:6px 0 7px!important;padding:8px 10px!important;}
  body[data-page="home"] .offer-badge-red{font-size:.50rem!important;padding:5px 8px!important;}
  body[data-page="home"] .offer-header strong{font-size:.66rem!important;}
  body[data-page="home"] .offer-price-grid article{padding:7px 9px!important;}
  body[data-page="home"] .offer-price-grid article span{font-size:.63rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.88rem!important;}
  body[data-page="home"] .hero-offer-box p{font-size:.58rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.67rem!important;margin:5px 0!important;}
  body[data-page="home"] .hero-buttons{margin:5px 0 6px!important;}
  body[data-page="home"] .hero-buttons .btn{padding:9px 18px!important;font-size:.76rem!important;min-height:40px!important;}
  body[data-page="home"] .hero-chips span{font-size:.58rem!important;padding:5px 7px!important;}
}


/* ============================================================
   PRODUCTION FINAL PATCH — mobile rewrite, cleaner copy layout,
   service card carousel, compact quote modal, corrected spacing.
   Added as the final override block.
   ============================================================ */
:root{--mobile-safe-bottom:env(safe-area-inset-bottom,0px)}

/* Keep page text from becoming too dense. */
.service-card .service-body p,
.division-card p,
.compact-service-copy p,
.section-subtitle{max-width:62ch}

/* Desktop hero box: balanced crop without excess left side. */
@media (min-width:981px){
  body[data-page="home"] .hero{align-items:center!important;padding-left:clamp(48px,5vw,86px)!important;padding-top:clamp(34px,4vh,52px)!important;padding-bottom:clamp(34px,4vh,52px)!important;}
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{width:clamp(470px,34vw,560px)!important;max-width:560px!important;padding:28px 30px 27px!important;border-radius:28px!important;}
  body[data-page="home"] .hero-logo-mark img{width:94px!important;margin-bottom:7px!important;}
  body[data-page="home"] .hero-content .eyebrow{font-size:.62rem!important;margin-bottom:6px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(2.05rem,2.65vw,3rem)!important;line-height:1.04!important;max-width:10.6em!important;margin-bottom:8px!important;}
  body[data-page="home"] .hero-content>p.hero-intro-copy{font-size:.90rem!important;line-height:1.48!important;margin-bottom:9px!important;}
  body[data-page="home"] .hero-offer-box{margin:9px 0 10px!important;padding:12px!important;}
  body[data-page="home"] .hero-buttons{margin:8px 0 10px!important;}
}

/* Full rewrite of the home hero on phone: no top gap, no crowded logo line, buttons visible first. */
@media (max-width:760px){
  html,body{overflow-x:hidden!important;}
  :root{--nav-h:72px;--ticker-h:36px;--pad:14px;}
  .navbar{height:var(--nav-h)!important;padding:0 14px!important;}
  .nav-logo img{width:86px!important;height:auto!important;}
  .nav-brand-text{display:none!important;}
  .social-ticker{height:var(--ticker-h)!important;}
  .ticker-item{font-size:.76rem!important;}
  .ticker-icon{width:19px!important;height:19px!important;}

  body[data-page="home"] .hero{margin-top:calc(var(--nav-h) + var(--ticker-h))!important;min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;padding:8px 8px calc(12px + var(--mobile-safe-bottom))!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;}
  body[data-page="home"] .hero-video video{object-position:center top!important;transform:scale(1.05)!important;}
  body[data-page="home"] .hero-overlay{background:linear-gradient(180deg,rgba(255,250,244,.86) 0%,rgba(255,250,244,.64) 48%,rgba(255,255,255,.18) 100%)!important;}
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{width:min(100%,390px)!important;margin:0 auto!important;padding:15px 16px 16px!important;border-radius:23px!important;text-align:center!important;background:rgba(255,255,255,.74)!important;box-shadow:0 16px 44px rgba(13,46,107,.11)!important;backdrop-filter:blur(15px) saturate(1.12)!important;-webkit-backdrop-filter:blur(15px) saturate(1.12)!important;transform:none!important;opacity:1!important;}
  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content>p.hero-intro-copy{display:none!important;}
  body[data-page="home"] .hero-experience-badge{margin:0 auto 8px!important;padding:5px 10px 5px 6px!important;gap:7px!important;}
  body[data-page="home"] .hero-experience-badge span{min-width:38px!important;height:28px!important;font-size:.84rem!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.60rem!important;line-height:1.1!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.62rem,7vw,2.02rem)!important;line-height:1.06!important;letter-spacing:-.045em!important;max-width:11.2em!important;margin:0 auto 7px!important;}
  body[data-page="home"] .hero h1::after{width:68px!important;height:3px!important;margin:7px auto 0!important;}
  body[data-page="home"] .hero-offer-box{margin:8px 0 9px!important;padding:10px!important;border-radius:18px!important;}
  body[data-page="home"] .offer-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important;margin-bottom:8px!important;text-align:left!important;}
  body[data-page="home"] .offer-badge-red{font-size:.55rem!important;letter-spacing:.05em!important;padding:6px 8px!important;}
  body[data-page="home"] .offer-header strong{font-size:.67rem!important;line-height:1.12!important;}
  body[data-page="home"] .offer-percent{width:28px!important;height:28px!important;font-size:.92rem!important;}
  body[data-page="home"] .offer-price-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;}
  body[data-page="home"] .offer-price-grid article{padding:8px 6px!important;border-radius:14px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.63rem!important;line-height:1.15!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.88rem!important;}
  body[data-page="home"] .hero-offer-box p{font-size:.60rem!important;line-height:1.25!important;margin-top:5px!important;}
  body[data-page="home"] .hero-trust-line{font-size:.68rem!important;line-height:1.3!important;margin:7px 0!important;}
  body[data-page="home"] .hero-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:8px 0 0!important;}
  body[data-page="home"] .hero-buttons .btn{width:100%!important;min-height:42px!important;padding:10px 8px!important;border-radius:15px!important;font-size:.75rem!important;line-height:1.15!important;}
  body[data-page="home"] .hero-chips{display:none!important;}

  /* All service cards slide sideways on mobile, including services page. */
  .services-grid-8{display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:14px!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-inline:contain!important;padding:4px 14px 16px!important;margin-left:-14px!important;margin-right:-14px!important;scrollbar-width:none!important;}
  .services-grid-8::-webkit-scrollbar{display:none!important;}
  .services-grid-8 .service-card{flex:0 0 min(82vw,320px)!important;width:min(82vw,320px)!important;scroll-snap-align:start!important;}
  .service-image{height:190px!important;}
  .service-body{padding:18px!important;}
  .service-body h3{font-size:1.04rem!important;line-height:1.2!important;}
  .service-body p{font-size:.88rem!important;line-height:1.45!important;}

  /* Simple inner/service page mobile layout. */
  .inner-main{padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  .inner-hero{padding:28px 0 24px!important;}
  .inner-hero h1{font-size:clamp(2rem,8.8vw,2.55rem)!important;line-height:1.06!important;}
  .inner-hero p{font-size:.94rem!important;line-height:1.5!important;}
  .compact-service-hero{padding:20px 0 28px!important;}
  .compact-service-wrap{padding:0 14px!important;display:block!important;}
  .compact-service-copy{padding:26px 22px!important;border-radius:26px!important;min-height:0!important;}
  .compact-service-copy .page-kicker{font-size:.68rem!important;letter-spacing:.06em!important;line-height:1.3!important;margin-bottom:8px!important;}
  .compact-service-copy h1{font-size:clamp(2rem,9vw,2.55rem)!important;line-height:1.08!important;margin:12px 0 12px!important;}
  .compact-service-copy p{font-size:.98rem!important;line-height:1.56!important;margin-bottom:18px!important;}
  .compact-service-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:16px!important;}
  .compact-service-actions .btn{width:100%!important;min-height:48px!important;}
  .compact-service-points{display:none!important;}
  .compact-service-media{display:none!important;}

  .section{padding-top:38px!important;padding-bottom:38px!important;}
  .section-header{margin-bottom:20px!important;}
  .section-title{font-size:clamp(1.82rem,8.2vw,2.35rem)!important;line-height:1.08!important;}
  .section-subtitle{font-size:.94rem!important;line-height:1.48!important;max-width:32ch!important;}
  .local-seo-section,.services-material-seo-section,.production-service-pages-section,.enhanced-ai-section,.footer-search-keywords{display:none!important;}
}

@media (max-width:390px){
  body[data-page="home"] .hero-content{padding:14px 14px 15px!important;}
  body[data-page="home"] .hero h1{font-size:1.58rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.84rem!important;}
  body[data-page="home"] .hero-buttons .btn{font-size:.72rem!important;}
}

/* Compact professional mobile menu with click-outside support from JS. */
@media (max-width:880px){
  .mobile-menu{top:calc(var(--nav-h) + 8px)!important;right:12px!important;left:auto!important;width:min(300px,calc(100vw - 24px))!important;max-height:calc(100svh - var(--nav-h) - 20px)!important;border-radius:22px!important;padding:14px!important;}
  .mobile-menu::before{content:"Menu"!important;}
  .mobile-menu a,.mobile-service-details summary{min-height:40px!important;font-size:.92rem!important;}
}

/* Redesign quote popup on phone: smaller, cleaner, easier to use. */
@media (max-width:700px){
  .modal-backdrop{padding:12px!important;align-items:center!important;justify-content:center!important;place-items:center!important;}
  .modal.modal-consultation{width:min(94vw,430px)!important;max-height:90svh!important;border-radius:22px!important;padding:0!important;overflow:hidden!important;}
  .consult-modal-grid{display:block!important;max-height:90svh!important;overflow-y:auto!important;}
  .consult-promo{display:none!important;}
  .consult-form-panel{padding:20px 15px 15px!important;}
  .modal-consultation .modal-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important;}
  .modal-kicker{font-size:.64rem!important;margin-bottom:6px!important;}
  .modal-consultation h2{font-size:1.45rem!important;line-height:1.1!important;margin:0 42px 6px 0!important;}
  .modal-sub{font-size:.84rem!important;line-height:1.38!important;margin-bottom:10px!important;}
  .property-type-group{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:2px 2px 8px!important;margin-bottom:8px!important;scrollbar-width:none!important;}
  .property-type-group::-webkit-scrollbar{display:none!important;}
  .property-pill{flex:0 0 auto!important;min-height:36px!important;padding:8px 10px!important;font-size:.74rem!important;border-radius:999px!important;}
  .modal-consultation .form-grid{grid-template-columns:1fr!important;gap:9px!important;}
  .modal-consultation .form-group label{font-size:.72rem!important;margin-bottom:5px!important;}
  .modal-consultation .form-group input,.modal-consultation .form-group select,.phone-field{min-height:42px!important;font-size:16px!important;border-radius:14px!important;}
  .modal-consultation textarea{min-height:58px!important;border-radius:14px!important;font-size:16px!important;}
  .service-smart-notice{font-size:.78rem!important;padding:9px 10px!important;border-radius:14px!important;line-height:1.35!important;}
  .personal-quote-line{display:none!important;}
  .consent-check{font-size:.74rem!important;line-height:1.35!important;align-items:flex-start!important;margin:9px 0!important;}
  .modal-submit{min-height:46px!important;border-radius:16px!important;font-size:.92rem!important;}
}

/* Small-screen floating buttons stay clean; desktop keeps original ring. */
@media (max-width:760px){
  .floating-contact-stack{right:12px!important;bottom:14px!important;gap:8px!important;}
  .floating-contact-link{width:48px!important;height:48px!important;}
  .floating-contact-button{width:44px!important;height:44px!important;border:0!important;box-shadow:0 9px 18px rgba(13,46,107,.22),inset 0 0 0 1px rgba(255,255,255,.22)!important;}
  .floating-whatsapp::before{width:48px!important;height:48px!important;}
}

/* ============================================================
   URGENT MOBILE REPAIR PATCH — hero top, service card hints only
   Desktop/tablet intentionally untouched.
   ============================================================ */
@media (max-width:760px){
  :root{--nav-h:70px!important;--ticker-h:36px!important;--pad:14px!important;}

  /* Keep the fixed top simple and predictable on phones. */
  .navbar{height:var(--nav-h)!important;padding:0 14px!important;align-items:center!important;}
  .nav-logo img{width:86px!important;max-height:54px!important;object-fit:contain!important;}
  .hamburger{width:42px!important;height:42px!important;border-radius:14px!important;flex:0 0 42px!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;min-height:var(--ticker-h)!important;}
  .ticker-track{height:100%!important;align-items:center!important;}
  .ticker-segment{height:100%!important;align-items:center!important;}

  /* Home first screen rewritten: no empty block between ticker and hero card. */
  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    padding:0 6px calc(10px + var(--mobile-safe-bottom))!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
  }
  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{inset:0!important;top:0!important;bottom:0!important;}
  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 28%!important;
    transform:scale(1.08)!important;
  }
  body[data-page="home"] .hero-overlay{
    background:linear-gradient(180deg,rgba(255,250,244,.70) 0%,rgba(255,250,244,.50) 46%,rgba(255,255,255,.14) 100%)!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    width:min(100%,382px)!important;
    max-width:382px!important;
    margin:6px auto 0!important;
    padding:14px 15px 15px!important;
    border-radius:22px!important;
    opacity:1!important;
    transform:none!important;
    text-align:center!important;
    overflow:visible!important;
    background:rgba(255,255,255,.77)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 15px 36px rgba(13,46,107,.12)!important;
  }
  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content>p.hero-intro-copy,
  body[data-page="home"] .hero-chips{display:none!important;}
  body[data-page="home"] .hero-experience-badge{margin:0 auto 7px!important;padding:5px 9px 5px 6px!important;gap:7px!important;}
  body[data-page="home"] .hero-experience-badge span{min-width:37px!important;height:28px!important;font-size:.82rem!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.59rem!important;line-height:1.1!important;}
  body[data-page="home"] .hero h1{
    font-size:clamp(1.54rem,6.85vw,1.96rem)!important;
    line-height:1.07!important;
    max-width:11.5em!important;
    margin:0 auto 7px!important;
    letter-spacing:-.045em!important;
  }
  body[data-page="home"] .hero h1::after{width:66px!important;height:3px!important;margin:7px auto 0!important;}
  body[data-page="home"] .hero-offer-box{margin:8px 0!important;padding:10px!important;border-radius:18px!important;}
  body[data-page="home"] .hero-offer-box:before{right:16px!important;top:8px!important;font-size:3.2rem!important;}
  body[data-page="home"] .offer-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;margin-bottom:7px!important;text-align:left!important;}
  body[data-page="home"] .offer-badge-red{font-size:.53rem!important;line-height:1!important;letter-spacing:.045em!important;padding:6px 8px!important;white-space:nowrap!important;}
  body[data-page="home"] .offer-header strong{font-size:.66rem!important;line-height:1.12!important;}
  body[data-page="home"] .offer-percent{width:28px!important;height:28px!important;font-size:.92rem!important;}
  body[data-page="home"] .offer-price-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;}
  body[data-page="home"] .offer-price-grid article{padding:8px 5px!important;border-radius:14px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.61rem!important;line-height:1.15!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.86rem!important;}
  body[data-page="home"] .hero-offer-box p{font-size:.58rem!important;line-height:1.25!important;margin:5px 0 0!important;}
  body[data-page="home"] .hero-trust-line{font-size:.67rem!important;line-height:1.28!important;margin:7px 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;}
  body[data-page="home"] .hero-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:8px 0 0!important;}
  body[data-page="home"] .hero-buttons .btn{width:100%!important;min-height:41px!important;padding:9px 8px!important;border-radius:15px!important;font-size:.73rem!important;line-height:1.15!important;}

  /* Slightly tighter mobile sections after hero, without changing desktop. */
  body[data-page="home"] .gallery-preview-section{padding-top:34px!important;}
  body[data-page="home"] .services-section{padding-top:36px!important;}

  /* Mobile service cards: clear horizontal carousel affordance. */
  .services-grid-8{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:18px!important;
    padding:6px 18px 14px!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .services-grid-8::-webkit-scrollbar{display:none!important;}
  .services-grid-8 .service-card{flex:0 0 min(82vw,318px)!important;width:min(82vw,318px)!important;scroll-snap-align:start!important;}
  .services-grid-8 .service-image{height:190px!important;}
  .services-grid-8 .service-body{padding:18px!important;}

  .mobile-carousel-hint{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:2px auto 12px!important;min-height:10px!important;}
  .mobile-carousel-hint .carousel-dot{width:6px!important;height:6px!important;border-radius:999px!important;background:rgba(13,46,107,.18)!important;transition:width .22s ease,background .22s ease,opacity .22s ease!important;opacity:.85!important;border:0!important;padding:0!important;}
  .mobile-carousel-hint .carousel-dot.is-active{width:20px!important;background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;opacity:1!important;}
  .mobile-carousel-glider{display:block!important;width:min(154px,45vw)!important;height:4px!important;margin:0 auto 18px!important;border-radius:999px!important;background:rgba(13,46,107,.12)!important;overflow:hidden!important;}
  .mobile-carousel-glider span{display:block!important;height:100%!important;width:18%!important;border-radius:999px!important;background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;transition:width .2s ease!important;}
}

@media (max-width:360px){
  body[data-page="home"] .hero-content{width:min(100%,354px)!important;padding:13px 12px 14px!important;}
  body[data-page="home"] .hero h1{font-size:1.46rem!important;}
  body[data-page="home"] .offer-badge-red{font-size:.49rem!important;padding:5px 7px!important;}
  body[data-page="home"] .offer-header strong{font-size:.62rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.62rem!important;}
  body[data-page="home"] .hero-buttons .btn{font-size:.70rem!important;}
}

@media (min-width:761px){
  .mobile-carousel-hint,.mobile-carousel-glider{display:none!important;}
}

/* ============================================================
   FINAL PRODUCTION MOBILE RESET — 2026-06-29
   Purpose: fix only the mobile/tablet behaviour that was crowded/damaged,
   while leaving the desktop layout and SEO pages intact.
   ============================================================ */
@media (max-width:760px){
  :root{--nav-h:70px!important;--ticker-h:36px!important;--pad:14px!important;--mobile-safe-bottom:env(safe-area-inset-bottom,0px)!important;}
  html,body{max-width:100%!important;overflow-x:hidden!important;}
  .navbar{height:var(--nav-h)!important;min-height:var(--nav-h)!important;padding:0 14px!important;align-items:center!important;background:rgba(255,255,255,.96)!important;}
  .nav-logo img{width:88px!important;max-height:54px!important;object-fit:contain!important;}
  .nav-brand-text{display:none!important;}
  .hamburger{width:42px!important;height:42px!important;border-radius:14px!important;flex:0 0 42px!important;box-shadow:0 8px 22px rgba(13,46,107,.08)!important;}
  .hamburger span{width:21px!important;height:2px!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;min-height:var(--ticker-h)!important;background:#fff!important;border-top:1px solid rgba(13,46,107,.05)!important;}
  .ticker-track,.ticker-segment{height:100%!important;align-items:center!important;}
  .ticker-item{font-size:.76rem!important;line-height:1!important;white-space:nowrap!important;}
  .ticker-icon{width:18px!important;height:18px!important;font-size:.62rem!important;}

  /* Home hero: full mobile rewrite. Card starts immediately after ticker; no blank block. */
  body[data-page="home"] .hero{margin-top:calc(var(--nav-h) + var(--ticker-h))!important;min-height:auto!important;height:auto!important;padding:12px 8px 16px!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-direction:column!important;gap:0!important;overflow:visible!important;background:#fbf7ef!important;}
  body[data-page="home"] .hero-video,body[data-page="home"] .hero-overlay{position:absolute!important;inset:0!important;top:0!important;bottom:0!important;}
  body[data-page="home"] .hero-video video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;transform:scale(1.02)!important;}
  body[data-page="home"] .hero-overlay{background:linear-gradient(180deg,rgba(255,250,244,.64) 0%,rgba(255,250,244,.42) 46%,rgba(255,255,255,.12) 100%)!important;}
  body[data-page="home"] .hero-content,body[data-page="home"] .hero-content.visible{position:relative!important;z-index:2!important;width:calc(100% - 8px)!important;max-width:390px!important;margin:0 auto!important;padding:14px 14px 13px!important;border-radius:22px!important;text-align:center!important;opacity:1!important;transform:none!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(255,255,255,.82)!important;box-shadow:0 14px 34px rgba(13,46,107,.13)!important;backdrop-filter:blur(12px) saturate(1.04)!important;-webkit-backdrop-filter:blur(12px) saturate(1.04)!important;overflow:visible!important;}
  body[data-page="home"] .hero-logo-mark,body[data-page="home"] .hero-content .eyebrow,body[data-page="home"] .hero-content>p.hero-intro-copy,body[data-page="home"] .hero-chips{display:none!important;}
  body[data-page="home"] .hero-experience-badge{margin:0 auto 7px!important;padding:5px 9px 5px 6px!important;gap:7px!important;border-radius:999px!important;}
  body[data-page="home"] .hero-experience-badge span{min-width:37px!important;height:27px!important;font-size:.82rem!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.58rem!important;line-height:1.1!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.45rem,6.6vw,1.9rem)!important;line-height:1.06!important;letter-spacing:-.045em!important;max-width:11.6em!important;margin:0 auto 8px!important;}
  body[data-page="home"] .hero h1::after{width:64px!important;height:3px!important;margin:7px auto 0!important;}
  body[data-page="home"] .hero-offer-box{margin:8px 0 8px!important;padding:9px!important;border-radius:17px!important;background:rgba(255,250,247,.92)!important;}
  body[data-page="home"] .hero-offer-box:before{display:none!important;}
  body[data-page="home"] .offer-header{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:6px!important;margin-bottom:7px!important;text-align:left!important;}
  body[data-page="home"] .offer-badge-red{font-size:.52rem!important;letter-spacing:.045em!important;padding:6px 8px!important;white-space:nowrap!important;}
  body[data-page="home"] .offer-header strong{font-size:.68rem!important;line-height:1.18!important;}
  body[data-page="home"] .offer-percent{display:none!important;}
  body[data-page="home"] .offer-price-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;}
  body[data-page="home"] .offer-price-grid article{padding:8px 5px!important;border-radius:13px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.58rem!important;line-height:1.15!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.83rem!important;}
  body[data-page="home"] .hero-offer-box p{display:none!important;}
  body[data-page="home"] .hero-trust-line{font-size:.66rem!important;line-height:1.24!important;margin:7px 0 8px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  body[data-page="home"] .hero-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;transform:none!important;}
  body[data-page="home"] .hero-buttons .btn{width:100%!important;min-height:41px!important;padding:9px 7px!important;border-radius:14px!important;font-size:.72rem!important;line-height:1.12!important;}
  body[data-page="home"] .gallery-preview-section{padding-top:28px!important;}
  body[data-page="home"] .services-section{padding-top:30px!important;}

  /* Inner and service pages: remove noisy pink labels on mobile and pull content up. */
  .inner-main{padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  .inner-hero{padding:18px 0 20px!important;}
  .inner-hero .section-label{display:none!important;}
  .inner-hero h1{font-size:clamp(2rem,9vw,2.55rem)!important;line-height:1.06!important;margin:0 0 10px!important;}
  .inner-hero p{font-size:.96rem!important;line-height:1.5!important;max-width:32ch!important;}
  .local-page-main{padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  .compact-service-hero{padding:14px 0 24px!important;}
  .compact-service-wrap{display:block!important;padding:0 14px!important;}
  .compact-service-copy{padding:24px 20px!important;border-radius:24px!important;min-height:0!important;}
  .compact-service-copy .page-kicker{display:none!important;}
  .compact-service-copy h1{font-size:clamp(1.9rem,8.6vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:0 0 12px!important;}
  .compact-service-copy p{font-size:.96rem!important;line-height:1.52!important;margin:0 0 16px!important;color:#667085!important;}
  .compact-service-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:14px!important;}
  .compact-service-actions .btn{width:100%!important;min-height:47px!important;border-radius:16px!important;font-size:.94rem!important;}
  .compact-service-points{display:none!important;}
  .compact-service-media{display:none!important;}
  .section{padding-top:36px!important;padding-bottom:36px!important;}
  .section-header{margin-bottom:18px!important;}
  .section-label{font-size:.64rem!important;margin-bottom:7px!important;}
  .section-title{font-size:clamp(1.78rem,8.1vw,2.34rem)!important;line-height:1.08!important;}
  .section-subtitle{font-size:.94rem!important;line-height:1.48!important;max-width:32ch!important;}

  /* Services carousel: all desktop cards remain available and swipe sideways. */
  .services-grid-8{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:18px!important;padding:6px 18px 14px!important;margin-left:-18px!important;margin-right:-18px!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;}
  .services-grid-8::-webkit-scrollbar{display:none!important;}
  .services-grid-8 .service-card{flex:0 0 min(82vw,318px)!important;width:min(82vw,318px)!important;max-width:318px!important;scroll-snap-align:start!important;}
  .services-grid-8 .service-image{height:188px!important;}
  .services-grid-8 .service-body{padding:18px!important;}
  .services-grid-8 .service-body h3{font-size:1.12rem!important;margin-bottom:7px!important;}
  .services-grid-8 .service-body p{font-size:.92rem!important;line-height:1.45!important;}
  .services-grid-8 .service-link{font-size:.87rem!important;margin-top:10px!important;}

  /* Hide old broken hints and use the new dots/progress added by JS. */
  .mobile-carousel-hint,.mobile-carousel-glider{display:none!important;}
  .luma-mobile-dots{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:0 auto 10px!important;min-height:10px!important;}
  .luma-mobile-dots .luma-dot{display:block!important;width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;max-width:6px!important;max-height:6px!important;border-radius:50%!important;border:0!important;background:rgba(13,46,107,.22)!important;padding:0!important;margin:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;transition:background .2s ease,transform .2s ease!important;}
  .luma-mobile-dots .luma-dot.is-active{background:linear-gradient(135deg,var(--royal),var(--cyan),var(--pink))!important;transform:scale(1.35)!important;}
  .luma-mobile-progress{display:block!important;width:min(150px,44vw)!important;height:3px!important;margin:0 auto 16px!important;border-radius:999px!important;background:rgba(13,46,107,.12)!important;overflow:hidden!important;}
  .luma-mobile-progress span{display:block!important;width:100%!important;height:100%!important;transform-origin:left center!important;transform:scaleX(.08)!important;border-radius:999px!important;background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;transition:transform .16s ease!important;}

  /* Mobile popup: compact and clean. */
  .modal-backdrop{padding:12px!important;align-items:center!important;justify-content:center!important;place-items:center!important;}
  .modal.modal-consultation{width:min(94vw,420px)!important;max-height:90svh!important;border-radius:22px!important;padding:0!important;overflow:hidden!important;}
  .consult-modal-grid{display:block!important;max-height:90svh!important;overflow-y:auto!important;}
  .consult-promo{display:none!important;}
  .consult-form-panel{padding:20px 15px 15px!important;}
  .modal-consultation .modal-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important;}
  .modal-kicker{display:none!important;}
  .modal-consultation h2{font-size:1.42rem!important;line-height:1.1!important;margin:0 42px 6px 0!important;}
  .modal-sub{font-size:.84rem!important;line-height:1.38!important;margin-bottom:10px!important;}
  .property-type-group{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:2px 2px 8px!important;margin-bottom:8px!important;scrollbar-width:none!important;}
  .property-type-group::-webkit-scrollbar{display:none!important;}
  .property-pill{flex:0 0 auto!important;min-height:36px!important;padding:8px 10px!important;font-size:.74rem!important;border-radius:999px!important;}
  .modal-consultation .form-grid{grid-template-columns:1fr!important;gap:9px!important;}
  .modal-consultation .form-group label{font-size:.72rem!important;margin-bottom:5px!important;}
  .modal-consultation .form-group input,.modal-consultation .form-group select,.phone-field{min-height:42px!important;font-size:16px!important;border-radius:14px!important;}
  .modal-consultation textarea{min-height:58px!important;border-radius:14px!important;font-size:16px!important;}
  .personal-quote-line{display:none!important;}
  .consent-check{font-size:.73rem!important;line-height:1.35!important;align-items:flex-start!important;margin:9px 0!important;}
  .modal-submit{min-height:46px!important;border-radius:16px!important;font-size:.92rem!important;}

  .floating-contact-stack{right:12px!important;bottom:14px!important;gap:8px!important;}
  .floating-contact-link{width:48px!important;height:48px!important;}
  .floating-contact-button{width:44px!important;height:44px!important;border:0!important;box-shadow:0 9px 18px rgba(13,46,107,.22),inset 0 0 0 1px rgba(255,255,255,.22)!important;}
}
@media (max-width:360px){
  body[data-page="home"] .hero-content{padding:12px 12px!important;}
  body[data-page="home"] .hero h1{font-size:1.38rem!important;}
  body[data-page="home"] .offer-badge-red{font-size:.48rem!important;padding:5px 7px!important;}
  body[data-page="home"] .offer-header strong{font-size:.61rem!important;}
  body[data-page="home"] .hero-buttons .btn{font-size:.68rem!important;}
}
@media (min-width:761px){.luma-mobile-dots,.luma-mobile-progress{display:none!important;}}


/* ============================================================
   PRODUCTION MOBILE HERO + CAROUSEL FIX — FINAL PASS
   Only affects phones/tablets under 760px. Desktop remains unchanged.
   ============================================================ */
@media (max-width:760px){
  :root{
    --nav-h:70px!important;
    --ticker-h:36px!important;
    --mobile-hero-gap:10px!important;
  }
  html,body{max-width:100%!important;overflow-x:hidden!important;background:#fbf7ef!important;}
  .navbar{height:var(--nav-h)!important;min-height:var(--nav-h)!important;padding:0 14px!important;background:rgba(255,255,255,.98)!important;}
  .nav-logo img{width:88px!important;max-height:56px!important;object-fit:contain!important;}
  .nav-brand-text{display:none!important;}
  .hamburger{width:42px!important;height:42px!important;border-radius:15px!important;box-shadow:0 9px 24px rgba(13,46,107,.10)!important;}
  .hamburger span{width:21px!important;height:2px!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;min-height:var(--ticker-h)!important;background:#fff!important;}
  .ticker-track,.ticker-segment{height:100%!important;align-items:center!important;}
  .ticker-item{font-size:.76rem!important;line-height:1!important;white-space:nowrap!important;}
  .ticker-icon{width:18px!important;height:18px!important;font-size:.62rem!important;}

  /* Phone home hero: text box fills the first open screen cleanly. */
  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    padding:var(--mobile-hero-gap) 10px!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
    background:#fbf7ef!important;
  }
  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    position:absolute!important;
    inset:0!important;
    top:0!important;
    bottom:0!important;
  }
  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.03)!important;
  }
  body[data-page="home"] .hero-overlay{
    background:linear-gradient(180deg,rgba(255,250,244,.70) 0%,rgba(255,250,244,.42) 42%,rgba(255,255,255,.08) 100%)!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:390px!important;
    height:calc(100svh - var(--nav-h) - var(--ticker-h) - (var(--mobile-hero-gap) * 2))!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:22px 17px 18px!important;
    border-radius:24px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:stretch!important;
    text-align:center!important;
    opacity:1!important;
    transform:none!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.84)!important;
    border:1px solid rgba(255,255,255,.86)!important;
    box-shadow:0 16px 42px rgba(13,46,107,.15)!important;
    backdrop-filter:blur(13px) saturate(1.06)!important;
    -webkit-backdrop-filter:blur(13px) saturate(1.06)!important;
  }
  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content>p.hero-intro-copy,
  body[data-page="home"] .hero-chips{display:none!important;}
  body[data-page="home"] .hero-experience-badge{
    width:max-content!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:7px 12px 7px 7px!important;
    gap:8px!important;
    border-radius:999px!important;
  }
  body[data-page="home"] .hero-experience-badge span{min-width:40px!important;height:30px!important;font-size:.86rem!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.62rem!important;line-height:1.05!important;letter-spacing:.02em!important;}
  body[data-page="home"] .hero h1{
    font-size:clamp(1.72rem,7.15vw,2.22rem)!important;
    line-height:1.06!important;
    letter-spacing:-.047em!important;
    max-width:11.2em!important;
    margin:0 auto!important;
  }
  body[data-page="home"] .hero h1::after{width:70px!important;height:3px!important;margin:10px auto 0!important;}
  body[data-page="home"] .hero-offer-box{
    margin:0!important;
    padding:13px 12px!important;
    border-radius:20px!important;
    background:rgba(255,250,247,.95)!important;
    border:1px solid rgba(214,51,132,.14)!important;
    box-shadow:0 10px 26px rgba(13,46,107,.08)!important;
  }
  body[data-page="home"] .hero-offer-box:before{display:none!important;}
  body[data-page="home"] .offer-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:center!important;
    justify-items:center!important;
    gap:6px!important;
    margin:0 0 10px!important;
    text-align:center!important;
  }
  body[data-page="home"] .offer-badge-red{font-size:.58rem!important;line-height:1!important;letter-spacing:.055em!important;padding:7px 10px!important;white-space:nowrap!important;}
  body[data-page="home"] .offer-header strong{font-size:.77rem!important;line-height:1.18!important;}
  body[data-page="home"] .offer-percent{display:none!important;}
  body[data-page="home"] .offer-price-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body[data-page="home"] .offer-price-grid article{padding:11px 6px!important;border-radius:15px!important;background:#fff!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.65rem!important;line-height:1.17!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.92rem!important;line-height:1.15!important;}
  body[data-page="home"] .hero-offer-box p{display:block!important;font-size:.64rem!important;line-height:1.3!important;margin:8px auto 0!important;max-width:34ch!important;color:#667085!important;}
  body[data-page="home"] .hero-trust-line{
    font-size:.78rem!important;
    line-height:1.26!important;
    margin:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:var(--royal)!important;
  }
  body[data-page="home"] .hero-buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin:0!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    width:100%!important;
    min-height:48px!important;
    padding:11px 9px!important;
    border-radius:16px!important;
    font-size:.79rem!important;
    line-height:1.13!important;
  }
  body[data-page="home"] .gallery-preview-section{padding-top:38px!important;}
  body[data-page="home"] .services-section{padding-top:38px!important;}

  /* Clean top content on inner pages. */
  .inner-main,.local-page-main{padding-top:calc(var(--nav-h) + var(--ticker-h))!important;}
  .inner-hero{padding:18px 0 18px!important;}
  .inner-hero .section-label,.compact-service-copy .page-kicker{display:none!important;}
  .inner-hero h1{font-size:clamp(2rem,8.6vw,2.5rem)!important;line-height:1.06!important;margin:0 0 10px!important;}
  .inner-hero p{font-size:.95rem!important;line-height:1.48!important;max-width:32ch!important;}

  /* Service carousel: simple dots + working progress bar. */
  .services-grid-8{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:18px!important;
    padding:6px 18px 14px!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .services-grid-8::-webkit-scrollbar{display:none!important;}
  .services-grid-8 .service-card{flex:0 0 min(82vw,318px)!important;width:min(82vw,318px)!important;max-width:318px!important;scroll-snap-align:start!important;}
  .services-grid-8 .service-image{height:188px!important;}
  .services-grid-8 .service-body{padding:18px!important;}
  .services-grid-8 .service-body h3{font-size:1.12rem!important;margin-bottom:7px!important;}
  .services-grid-8 .service-body p{font-size:.92rem!important;line-height:1.45!important;}
  .services-grid-8 .service-link{font-size:.87rem!important;margin-top:10px!important;}

  .mobile-carousel-hint,.mobile-carousel-glider{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;}
  .luma-mobile-dots{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:0 auto 11px!important;min-height:10px!important;}
  .luma-mobile-dots .luma-dot{display:block!important;width:6px!important;height:6px!important;border-radius:50%!important;border:0!important;background:rgba(13,46,107,.22)!important;padding:0!important;margin:0!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease!important;}
  .luma-mobile-dots .luma-dot.is-active{background:linear-gradient(135deg,var(--royal),var(--cyan),var(--pink))!important;transform:scale(1.35)!important;}
  .luma-mobile-progress{display:block!important;width:min(152px,45vw)!important;height:3px!important;margin:0 auto 16px!important;border-radius:999px!important;background:rgba(13,46,107,.12)!important;overflow:hidden!important;}
  .luma-mobile-progress span{display:block!important;width:100%!important;height:100%!important;transform-origin:left center!important;transform:scaleX(.08)!important;border-radius:999px!important;background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;transition:transform .18s ease!important;}
}
@media (max-width:360px){
  body[data-page="home"] .hero-content,body[data-page="home"] .hero-content.visible{padding:18px 13px 15px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.48rem,7vw,1.88rem)!important;}
  body[data-page="home"] .hero-offer-box{padding:11px 9px!important;}
  body[data-page="home"] .offer-price-grid article{padding:9px 4px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.58rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.83rem!important;}
  body[data-page="home"] .hero-buttons .btn{font-size:.70rem!important;min-height:44px!important;}
}
@media (min-width:761px){.luma-mobile-dots,.luma-mobile-progress{display:none!important;}}


/* === Final production credit + footer polish === */
.footer-credit a,
.footer-credit-link{
  color:#8edaff!important;
  font-family:var(--font-head)!important;
  font-weight:900!important;
  text-decoration:none!important;
  letter-spacing:.01em!important;
  transition:color .22s ease, opacity .22s ease!important;
}
.footer-credit a:hover,
.footer-credit-link:hover{
  color:#ffffff!important;
  opacity:.95!important;
}
.footer-credit a:focus-visible,
.footer-credit-link:focus-visible{
  outline:2px solid rgba(142,218,255,.75)!important;
  outline-offset:4px!important;
  border-radius:8px!important;
}
@media (max-width:760px){
  .footer-credit a,.footer-credit-link{font-size:.82rem!important;}
  .footer-bottom-production{gap:10px!important;}
}

/* ============================================================
   FINAL MOBILE HOME HERO REBUILD — 2026 PRODUCTION FIX
   Goal: no floating white card, no empty top gap. The hero content
   itself fills the first phone screen cleanly and professionally.
   Desktop/tablet above 760px is untouched.
   ============================================================ */
@media (max-width:760px){
  :root{
    --nav-h:70px!important;
    --ticker-h:36px!important;
  }

  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    width:100%!important;
    min-height:calc(100dvh - var(--nav-h) - var(--ticker-h))!important;
    height:calc(100dvh - var(--nav-h) - var(--ticker-h))!important;
    padding:0!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    background:#f9f3ea!important;
  }

  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.04)!important;
    filter:saturate(1.02) contrast(1.02)!important;
  }

  body[data-page="home"] .hero-overlay{
    z-index:1!important;
    background:
      linear-gradient(180deg,rgba(255,252,247,.90) 0%,rgba(255,249,242,.70) 36%,rgba(255,249,242,.45) 72%,rgba(255,249,242,.56) 100%)!important;
  }

  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:clamp(18px,4.2dvh,30px) 22px calc(18px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    align-content:stretch!important;
    align-items:center!important;
    justify-items:center!important;
    gap:clamp(10px,2.25dvh,18px)!important;
    text-align:center!important;
    opacity:1!important;
    transform:none!important;
    overflow:hidden!important;

    /* Remove the text-box look on phone. Keep only the elements. */
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content > p.hero-intro-copy,
  body[data-page="home"] .hero-chips{
    display:none!important;
  }

  body[data-page="home"] .hero-experience-badge{
    align-self:end!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:7px 14px 7px 7px!important;
    gap:9px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(32,66,144,.12)!important;
    box-shadow:0 10px 28px rgba(13,46,107,.11)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    min-width:42px!important;
    height:31px!important;
    font-size:.9rem!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    font-size:.64rem!important;
    line-height:1.05!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
  }

  body[data-page="home"] .hero h1{
    width:100%!important;
    max-width:12em!important;
    margin:0 auto!important;
    font-size:clamp(2rem,9vw,2.78rem)!important;
    line-height:1.03!important;
    letter-spacing:-.055em!important;
    color:var(--ink)!important;
    text-wrap:balance!important;
  }
  body[data-page="home"] .hero h1::after{
    width:76px!important;
    height:3px!important;
    margin:12px auto 0!important;
  }

  body[data-page="home"] .hero-offer-box{
    align-self:center!important;
    width:min(100%,390px)!important;
    margin:0 auto!important;
    padding:14px 14px 13px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(214,51,132,.16)!important;
    box-shadow:0 14px 34px rgba(13,46,107,.12)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-offer-box:before,
  body[data-page="home"] .offer-percent{
    display:none!important;
  }
  body[data-page="home"] .offer-header{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:7px!important;
    margin:0 0 11px!important;
    text-align:center!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:7px 11px!important;
    border-radius:999px!important;
    font-size:.58rem!important;
    line-height:1!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.78rem!important;
    line-height:1.18!important;
    max-width:28ch!important;
  }
  body[data-page="home"] .offer-price-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:11px 6px!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(13,46,107,.05)!important;
  }
  body[data-page="home"] .offer-price-grid span{
    display:block!important;
    font-size:.64rem!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    font-size:.95rem!important;
    line-height:1.12!important;
  }
  body[data-page="home"] .hero-offer-box p{
    display:block!important;
    margin:9px auto 0!important;
    max-width:30ch!important;
    font-size:.64rem!important;
    line-height:1.32!important;
    color:#667085!important;
  }

  body[data-page="home"] .hero-trust-line{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto!important;
    color:var(--royal)!important;
    font-size:.86rem!important;
    line-height:1.25!important;
    font-weight:900!important;
    white-space:normal!important;
    text-align:center!important;
  }

  body[data-page="home"] .hero-buttons{
    width:min(100%,370px)!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:11px!important;
    margin:0 auto!important;
    align-self:start!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    width:100%!important;
    min-height:50px!important;
    padding:12px 10px!important;
    border-radius:16px!important;
    font-size:.82rem!important;
    line-height:1.12!important;
    box-shadow:0 10px 24px rgba(13,46,107,.10)!important;
  }

  body[data-page="home"] .gallery-preview-section{
    padding-top:48px!important;
  }

  /* Keep floating contacts small and away from the main CTA as much as possible. */
  .floating-contact-stack{
    right:10px!important;
    bottom:18px!important;
    gap:8px!important;
    transform:scale(.92)!important;
    transform-origin:right bottom!important;
  }
}

@media (max-width:370px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    padding:16px 18px 14px!important;
    gap:9px!important;
  }
  body[data-page="home"] .hero h1{
    font-size:clamp(1.72rem,8.25vw,2.15rem)!important;
  }
  body[data-page="home"] .hero-experience-badge strong{font-size:.58rem!important;}
  body[data-page="home"] .hero-offer-box{padding:12px 11px!important;}
  body[data-page="home"] .offer-price-grid article{padding:9px 4px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.58rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.82rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.76rem!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:45px!important;font-size:.72rem!important;}
}

/* Final mobile service carousel indicator guard. */
@media (max-width:760px){
  .mobile-carousel-hint,
  .mobile-carousel-glider{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  .luma-mobile-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0 auto 12px!important;
    min-height:12px!important;
  }
  .luma-mobile-dots .luma-dot{
    display:block!important;
    width:6px!important;
    height:6px!important;
    min-width:6px!important;
    min-height:6px!important;
    border-radius:999px!important;
    border:0!important;
    padding:0!important;
    background:rgba(13,46,107,.22)!important;
    box-shadow:none!important;
  }
  .luma-mobile-dots .luma-dot.is-active{
    width:8px!important;
    height:8px!important;
    min-width:8px!important;
    min-height:8px!important;
    background:linear-gradient(135deg,var(--royal),var(--cyan),var(--pink))!important;
  }
  .luma-mobile-progress{
    display:block!important;
    width:min(160px,46vw)!important;
    height:3px!important;
    margin:0 auto 18px!important;
    border-radius:999px!important;
    background:rgba(13,46,107,.12)!important;
    overflow:hidden!important;
  }
  .luma-mobile-progress span{
    display:block!important;
    width:100%!important;
    height:100%!important;
    transform-origin:left center!important;
    transform:scaleX(.08)!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;
    transition:transform .18s ease!important;
  }
}


/* ============================================================
   FINAL MOBILE HERO GAP FIX — opens cleanly on phone
   This overrides earlier mobile hero experiments. Desktop stays untouched.
   ============================================================ */
@media (max-width:760px){
  :root{
    --nav-h:70px!important;
    --ticker-h:36px!important;
  }

  html,body{
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }

  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    padding:0!important;
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    display:block!important;
    overflow:hidden!important;
    position:relative!important;
    background:#f8f1e8!important;
  }

  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.02)!important;
  }

  body[data-page="home"] .hero-overlay{
    z-index:1!important;
    background:linear-gradient(180deg,rgba(255,250,244,.68) 0%,rgba(255,250,244,.52) 44%,rgba(255,250,244,.32) 100%)!important;
  }

  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px 20px calc(16px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    text-align:center!important;
    overflow:hidden!important;
    opacity:1!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content > p.hero-intro-copy,
  body[data-page="home"] .hero-chips{
    display:none!important;
  }

  body[data-page="home"] .hero-experience-badge{
    flex:0 0 auto!important;
    margin:0 auto!important;
    padding:7px 13px 7px 7px!important;
    gap:8px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.76)!important;
    border:1px solid rgba(32,66,144,.13)!important;
    box-shadow:0 9px 24px rgba(13,46,107,.11)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    min-width:40px!important;
    height:30px!important;
    font-size:.88rem!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    font-size:.61rem!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  body[data-page="home"] .hero h1{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:12em!important;
    margin:0 auto!important;
    font-size:clamp(1.82rem,8.35vw,2.42rem)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
    color:var(--ink)!important;
    text-wrap:balance!important;
  }
  body[data-page="home"] .hero h1::after{
    width:72px!important;
    height:3px!important;
    margin:10px auto 0!important;
  }

  body[data-page="home"] .hero-offer-box{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:390px!important;
    margin:0 auto!important;
    padding:13px 13px 12px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.80)!important;
    border:1px solid rgba(214,51,132,.16)!important;
    box-shadow:0 13px 32px rgba(13,46,107,.12)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-offer-box:before,
  body[data-page="home"] .offer-percent{display:none!important;}
  body[data-page="home"] .offer-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0 0 10px!important;
    text-align:center!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:.56rem!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.76rem!important;
    line-height:1.16!important;
    max-width:28ch!important;
  }
  body[data-page="home"] .offer-price-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:10px 5px!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 7px 16px rgba(13,46,107,.05)!important;
  }
  body[data-page="home"] .offer-price-grid span{
    display:block!important;
    font-size:.61rem!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  body[data-page="home"] .hero-offer-box p{
    display:block!important;
    margin:8px auto 0!important;
    max-width:28ch!important;
    font-size:.62rem!important;
    line-height:1.28!important;
    color:#667085!important;
  }

  body[data-page="home"] .hero-trust-line{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:355px!important;
    margin:0 auto!important;
    color:var(--royal)!important;
    font-size:.82rem!important;
    line-height:1.22!important;
    font-weight:900!important;
    white-space:normal!important;
    text-align:center!important;
  }

  body[data-page="home"] .hero-buttons{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:370px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0 auto!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    width:100%!important;
    min-height:48px!important;
    padding:11px 8px!important;
    border-radius:16px!important;
    font-size:.78rem!important;
    line-height:1.12!important;
  }

  body[data-page="home"] .gallery-preview-section{padding-top:36px!important;}

  .floating-contact-stack{
    right:8px!important;
    bottom:12px!important;
    gap:7px!important;
    transform:scale(.88)!important;
    transform-origin:right bottom!important;
  }
}

@media (max-width:370px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    padding:14px 16px calc(12px + env(safe-area-inset-bottom))!important;
    gap:8px!important;
  }
  body[data-page="home"] .hero h1{font-size:clamp(1.58rem,7.8vw,2rem)!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.56rem!important;}
  body[data-page="home"] .hero-offer-box{padding:11px 10px!important;}
  body[data-page="home"] .offer-price-grid article{padding:9px 4px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.56rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.82rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.74rem!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:44px!important;font-size:.70rem!important;}
}

/* ============================================================
   FINAL NAP + MOBILE GAP PRODUCTION PATCH
   Keeps desktop visual style, fixes mobile top gap and contact strip.
   ============================================================ */
@media (max-width:760px){
  :root{--nav-h:70px!important;--ticker-h:36px!important;}
  .navbar{height:var(--nav-h)!important;min-height:var(--nav-h)!important;}
  .social-ticker{top:var(--nav-h)!important;height:var(--ticker-h)!important;min-height:var(--ticker-h)!important;}
  .ticker-segment{gap:15px!important;padding-right:15px!important;}
  .ticker-item{font-size:.75rem!important;line-height:1!important;}

  body[data-page="home"] .hero{
    margin-top:calc(var(--nav-h) + var(--ticker-h))!important;
    height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    min-height:calc(100svh - var(--nav-h) - var(--ticker-h))!important;
    padding:0!important;
    overflow:hidden!important;
    position:relative!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 20px calc(16px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    overflow:hidden!important;
    text-align:center!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:none!important;
    opacity:1!important;
  }
  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-content>p.hero-intro-copy,
  body[data-page="home"] .hero-chips{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
  body[data-page="home"] .hero-experience-badge{margin:0 auto 2px!important;}
  body[data-page="home"] .hero h1{margin:0 auto 2px!important;font-size:clamp(1.82rem,8.1vw,2.36rem)!important;line-height:1.04!important;}
  body[data-page="home"] .hero h1::after{margin:9px auto 0!important;}
  body[data-page="home"] .hero-offer-box{margin:0 auto!important;}
  body[data-page="home"] .hero-trust-line{margin:0 auto!important;font-size:.82rem!important;line-height:1.22!important;}
  body[data-page="home"] .hero-buttons{margin:0 auto!important;}
  body[data-page="home"] .gallery-preview-section{padding-top:44px!important;}
}
@media (max-width:370px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{padding-top:8px!important;gap:9px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.56rem,7.8vw,2.0rem)!important;}
  body[data-page="home"] .hero-offer-box{padding:10px 10px!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:44px!important;}
}


/* ============================================================
   TRUE FINAL MOBILE HOME HERO FIX — root-level rewrite
   Fixes the real issue: the hero parent was reserving/centering
   empty space below the fixed header+ticker. Mobile only.
   ============================================================ */
@media (max-width:760px){
  :root{--nav-h:70px!important;--ticker-h:36px!important;--pad:14px!important;}

  body[data-page="home"] .navbar{
    height:var(--nav-h)!important;
    min-height:var(--nav-h)!important;
    top:0!important;
  }
  body[data-page="home"] .social-ticker{
    top:var(--nav-h)!important;
    height:var(--ticker-h)!important;
    min-height:var(--ticker-h)!important;
  }

  /* Hero begins behind the fixed header so the background starts immediately;
     content is padded down exactly once, not twice. */
  body[data-page="home"] .hero{
    margin-top:0!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    padding:calc(var(--nav-h) + var(--ticker-h) + 6px) 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    position:relative!important;
    overflow:hidden!important;
    background:#fbf7ef!important;
  }

  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    top:0!important;
    bottom:0!important;
  }
  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.03)!important;
    filter:saturate(1.04) contrast(1.01)!important;
  }
  body[data-page="home"] .hero-overlay{
    z-index:1!important;
    background:linear-gradient(180deg,rgba(255,250,244,.70) 0%,rgba(255,250,244,.50) 44%,rgba(255,250,244,.22) 100%)!important;
  }

  /* Remove the old card/absolute behaviour. This is the only mobile layout. */
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:2!important;
    width:min(100%,390px)!important;
    max-width:390px!important;
    height:calc(100svh - var(--nav-h) - var(--ticker-h) - 18px)!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:space-evenly!important;
    gap:clamp(6px,1.05svh,10px)!important;
    overflow:hidden!important;
    text-align:center!important;
    opacity:1!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-intro-copy,
  body[data-page="home"] .hero-chips{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body[data-page="home"] .hero-experience-badge{
    flex:0 0 auto!important;
    margin:0 auto!important;
    padding:6px 12px 6px 7px!important;
    gap:8px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(32,66,144,.14)!important;
    box-shadow:0 8px 24px rgba(13,46,107,.12)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    min-width:38px!important;
    width:38px!important;
    height:29px!important;
    font-size:.86rem!important;
    line-height:1!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    font-size:.60rem!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  body[data-page="home"] .hero h1{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:12em!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:clamp(1.76rem,7.8vw,2.28rem)!important;
    line-height:1.045!important;
    letter-spacing:-.052em!important;
    color:var(--ink)!important;
    text-wrap:balance!important;
  }
  body[data-page="home"] .hero h1::after{
    width:74px!important;
    height:3px!important;
    margin:9px auto 0!important;
    border-radius:999px!important;
  }

  body[data-page="home"] .hero-offer-box{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:390px!important;
    margin:0 auto!important;
    padding:13px 13px 12px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(214,51,132,.16)!important;
    box-shadow:0 14px 34px rgba(13,46,107,.12)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body[data-page="home"] .hero-offer-box::before,
  body[data-page="home"] .offer-percent{display:none!important;}
  body[data-page="home"] .offer-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0 0 10px!important;
    padding:0!important;
    text-align:center!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:.56rem!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.76rem!important;
    line-height:1.16!important;
    max-width:28ch!important;
  }
  body[data-page="home"] .offer-price-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:10px 5px!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 7px 16px rgba(13,46,107,.05)!important;
  }
  body[data-page="home"] .offer-price-grid span{
    display:block!important;
    font-size:.61rem!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  body[data-page="home"] .hero-offer-box p{
    display:block!important;
    margin:8px auto 0!important;
    max-width:28ch!important;
    font-size:.62rem!important;
    line-height:1.28!important;
    color:#667085!important;
  }

  body[data-page="home"] .hero-trust-line{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:355px!important;
    margin:0 auto!important;
    color:var(--royal)!important;
    font-size:.82rem!important;
    line-height:1.22!important;
    font-weight:900!important;
    white-space:normal!important;
    text-align:center!important;
  }

  body[data-page="home"] .hero-buttons{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:370px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0 auto!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    width:100%!important;
    min-height:48px!important;
    padding:11px 8px!important;
    border-radius:16px!important;
    font-size:.78rem!important;
    line-height:1.12!important;
  }

  body[data-page="home"] #gallery-preview,
  body[data-page="home"] .gallery-preview-section{
    margin-top:0!important;
    padding-top:36px!important;
  }
}

@media (max-width:370px){
  body[data-page="home"] .hero{padding-left:12px!important;padding-right:12px!important;}
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{gap:7px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.56rem,7.8vw,1.95rem)!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.55rem!important;}
  body[data-page="home"] .hero-offer-box{padding:10px!important;}
  body[data-page="home"] .offer-price-grid article{padding:9px 4px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.55rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.82rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.73rem!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:44px!important;font-size:.70rem!important;}
}


/* ============================================================
   FINAL MOBILE HOME HERO FIT PATCH — 2026-06-28
   Purpose: keep the top gap removed AND lift the hero content so
   badge, heading, offer, trust line and both CTA buttons fit in the
   first phone screen. Desktop/tablet untouched.
   ============================================================ */
@media (max-width:760px){
  body[data-page="home"] .hero{
    margin-top:0!important;
    height:100svh!important;
    min-height:100svh!important;
    padding:calc(var(--nav-h,70px) + var(--ticker-h,36px) + 8px) 14px calc(10px + env(safe-area-inset-bottom,0px))!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }

  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:min(100%,390px)!important;
    max-width:390px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    overflow:visible!important;
    transform:none!important;
    opacity:1!important;
  }

  body[data-page="home"] .hero-experience-badge{
    margin:0 auto!important;
    padding:5px 11px 5px 6px!important;
    gap:7px!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    width:36px!important;
    min-width:36px!important;
    height:28px!important;
    font-size:.82rem!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    font-size:.58rem!important;
    line-height:1.04!important;
  }

  body[data-page="home"] .hero h1{
    max-width:12.6em!important;
    margin:0 auto!important;
    font-size:clamp(1.68rem,7.35vw,2.10rem)!important;
    line-height:1.035!important;
    letter-spacing:-.052em!important;
  }
  body[data-page="home"] .hero h1::after{
    width:68px!important;
    height:3px!important;
    margin:7px auto 0!important;
  }

  body[data-page="home"] .hero-offer-box{
    max-width:384px!important;
    margin:0 auto!important;
    padding:11px 12px 10px!important;
    border-radius:20px!important;
    box-shadow:0 12px 28px rgba(13,46,107,.11)!important;
  }
  body[data-page="home"] .offer-header{
    gap:6px!important;
    margin:0 0 8px!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:6px 10px!important;
    font-size:.53rem!important;
    letter-spacing:.05em!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.72rem!important;
    line-height:1.13!important;
  }
  body[data-page="home"] .offer-price-grid{
    gap:7px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:8px 4px!important;
    border-radius:14px!important;
  }
  body[data-page="home"] .offer-price-grid span{
    font-size:.55rem!important;
    line-height:1.12!important;
    margin-bottom:4px!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    font-size:.84rem!important;
    line-height:1.05!important;
  }
  body[data-page="home"] .hero-offer-box p{
    margin:6px auto 0!important;
    max-width:25ch!important;
    font-size:.56rem!important;
    line-height:1.22!important;
  }

  body[data-page="home"] .hero-trust-line{
    margin:0 auto!important;
    font-size:.76rem!important;
    line-height:1.12!important;
    max-width:340px!important;
  }

  body[data-page="home"] .hero-buttons{
    max-width:360px!important;
    gap:9px!important;
    margin:0 auto!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    min-height:44px!important;
    padding:10px 8px!important;
    border-radius:15px!important;
    font-size:.73rem!important;
    line-height:1.08!important;
  }

  body[data-page="home"] .floating-contact-stack{
    right:8px!important;
    bottom:10px!important;
    transform:scale(.84)!important;
  }
}

@media (max-width:370px){
  body[data-page="home"] .hero{
    padding-top:calc(var(--nav-h,70px) + var(--ticker-h,36px) + 6px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{gap:7px!important;}
  body[data-page="home"] .hero h1{font-size:clamp(1.48rem,7.35vw,1.86rem)!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.52rem!important;}
  body[data-page="home"] .hero-offer-box{padding:9px!important;border-radius:18px!important;}
  body[data-page="home"] .offer-badge-red{font-size:.49rem!important;}
  body[data-page="home"] .offer-header strong{font-size:.66rem!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.50rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.78rem!important;}
  body[data-page="home"] .hero-offer-box p{font-size:.51rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.68rem!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:40px!important;font-size:.66rem!important;}
}

/* ============================================================
   LUMA FINAL MOBILE HERO ATTRACTION PATCH
   Mobile only. Keeps desktop untouched. Makes the first phone
   screen feel intentional, removes remaining visual gap, keeps
   both CTAs visible, and fixes the 20+ badge wrapping.
   ============================================================ */
@media (max-width:760px){
  :root{--nav-h:70px!important;--ticker-h:36px!important;}

  body[data-page="home"] .navbar{
    height:var(--nav-h)!important;
    min-height:var(--nav-h)!important;
    top:0!important;
  }
  body[data-page="home"] .social-ticker{
    top:var(--nav-h)!important;
    height:var(--ticker-h)!important;
    min-height:var(--ticker-h)!important;
  }

  body[data-page="home"] .hero{
    margin-top:0!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    padding:0 12px!important;
    position:relative!important;
    display:block!important;
    overflow:hidden!important;
    background:#fbf7ef!important;
  }

  body[data-page="home"] .hero-video,
  body[data-page="home"] .hero-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  body[data-page="home"] .hero-video video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    transform:scale(1.01)!important;
    filter:saturate(1.04) contrast(1.02)!important;
  }
  body[data-page="home"] .hero-overlay{
    z-index:1!important;
    background:
      linear-gradient(180deg,
        rgba(255,250,244,.82) 0%,
        rgba(255,250,244,.64) 26%,
        rgba(255,250,244,.38) 62%,
        rgba(255,250,244,.28) 100%)!important;
  }

  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    position:absolute!important;
    z-index:2!important;
    top:calc(var(--nav-h) + var(--ticker-h) + 12px)!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:min(calc(100vw - 24px),372px)!important;
    max-width:372px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    text-align:center!important;
    overflow:visible!important;
    opacity:1!important;
    transform:translateX(-50%)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body[data-page="home"] .hero-logo-mark,
  body[data-page="home"] .hero-content .eyebrow,
  body[data-page="home"] .hero-intro-copy,
  body[data-page="home"] .hero-chips{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body[data-page="home"] .hero-experience-badge{
    margin:0 auto!important;
    padding:5px 12px 5px 5px!important;
    gap:8px!important;
    min-height:38px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.88)!important;
    border:1px solid rgba(32,66,144,.16)!important;
    box-shadow:0 10px 26px rgba(13,46,107,.14)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-experience-badge span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:32px!important;
    border-radius:999px!important;
    font-size:.82rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    letter-spacing:-.02em!important;
    overflow:hidden!important;
  }
  body[data-page="home"] .hero-experience-badge strong{
    display:block!important;
    font-size:.58rem!important;
    line-height:1.04!important;
    white-space:nowrap!important;
    letter-spacing:.025em!important;
  }

  body[data-page="home"] .hero h1{
    width:100%!important;
    max-width:12.2em!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:clamp(1.58rem,7.15vw,1.98rem)!important;
    line-height:1.045!important;
    letter-spacing:-.05em!important;
    text-wrap:balance!important;
    color:var(--ink)!important;
    text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
  }
  body[data-page="home"] .hero h1::after{
    width:68px!important;
    height:3px!important;
    margin:7px auto 0!important;
    border-radius:999px!important;
  }

  body[data-page="home"] .hero-offer-box{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto!important;
    padding:10px 11px 9px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.88)!important;
    border:1px solid rgba(214,51,132,.16)!important;
    box-shadow:0 16px 34px rgba(13,46,107,.13)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  body[data-page="home"] .hero-offer-box::before,
  body[data-page="home"] .offer-percent{display:none!important;}
  body[data-page="home"] .offer-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:5px!important;
    margin:0 0 7px!important;
    padding:0!important;
    text-align:center!important;
  }
  body[data-page="home"] .offer-badge-red{
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:.50rem!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  body[data-page="home"] .offer-header strong{
    font-size:.70rem!important;
    line-height:1.12!important;
    max-width:28ch!important;
  }
  body[data-page="home"] .offer-price-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  body[data-page="home"] .offer-price-grid article{
    padding:8px 4px!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid rgba(13,46,107,.07)!important;
    box-shadow:0 8px 18px rgba(13,46,107,.06)!important;
  }
  body[data-page="home"] .offer-price-grid span{
    display:block!important;
    font-size:.53rem!important;
    line-height:1.1!important;
    margin:0 0 4px!important;
  }
  body[data-page="home"] .offer-price-grid strong{
    display:block!important;
    font-size:.82rem!important;
    line-height:1.05!important;
  }
  body[data-page="home"] .hero-offer-box p{
    margin:5px auto 0!important;
    max-width:25ch!important;
    font-size:.52rem!important;
    line-height:1.18!important;
    color:#667085!important;
  }

  body[data-page="home"] .hero-trust-line{
    width:100%!important;
    max-width:340px!important;
    margin:0 auto!important;
    font-size:.74rem!important;
    line-height:1.12!important;
    font-weight:900!important;
    color:var(--royal)!important;
    text-align:center!important;
    white-space:normal!important;
    text-shadow:0 1px 0 rgba(255,255,255,.45)!important;
  }

  body[data-page="home"] .hero-buttons{
    width:100%!important;
    max-width:360px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin:0 auto!important;
    transform:none!important;
  }
  body[data-page="home"] .hero-buttons .btn{
    width:100%!important;
    min-height:44px!important;
    padding:10px 8px!important;
    border-radius:15px!important;
    font-size:.72rem!important;
    line-height:1.08!important;
  }

  body[data-page="home"] .floating-contact-stack{
    right:7px!important;
    bottom:9px!important;
    gap:8px!important;
    transform:scale(.78)!important;
    transform-origin:right bottom!important;
  }
}

@media (max-width:760px) and (max-height:740px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    top:calc(var(--nav-h) + var(--ticker-h) + 8px)!important;
    gap:6px!important;
    width:min(calc(100vw - 22px),360px)!important;
  }
  body[data-page="home"] .hero h1{font-size:clamp(1.42rem,6.65vw,1.78rem)!important;line-height:1.035!important;}
  body[data-page="home"] .hero h1::after{margin-top:5px!important;}
  body[data-page="home"] .hero-experience-badge{min-height:34px!important;padding:4px 10px 4px 4px!important;}
  body[data-page="home"] .hero-experience-badge span{width:38px!important;min-width:38px!important;height:28px!important;font-size:.76rem!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.52rem!important;}
  body[data-page="home"] .hero-offer-box{padding:8px 9px!important;border-radius:18px!important;}
  body[data-page="home"] .offer-badge-red{font-size:.46rem!important;padding:5px 9px!important;}
  body[data-page="home"] .offer-header strong{font-size:.64rem!important;}
  body[data-page="home"] .offer-price-grid article{padding:7px 3px!important;}
  body[data-page="home"] .offer-price-grid span{font-size:.49rem!important;}
  body[data-page="home"] .offer-price-grid strong{font-size:.76rem!important;}
  body[data-page="home"] .hero-offer-box p{font-size:.49rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.66rem!important;}
  body[data-page="home"] .hero-buttons .btn{min-height:40px!important;font-size:.66rem!important;border-radius:14px!important;}
}

@media (max-width:370px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    width:min(calc(100vw - 20px),348px)!important;
    gap:6px!important;
  }
  body[data-page="home"] .hero h1{font-size:clamp(1.36rem,6.65vw,1.68rem)!important;}
  body[data-page="home"] .hero-experience-badge strong{font-size:.49rem!important;}
  body[data-page="home"] .hero-trust-line{font-size:.64rem!important;}
}

/* Final mobile floating button size polish */
@media (max-width:760px){
  .floating-contact-stack{right:11px!important;bottom:14px!important;gap:9px!important;transform:none!important;transform-origin:right bottom!important;z-index:920!important;}
  .floating-contact-link{width:50px!important;height:50px!important;}
  .floating-contact-button{width:46px!important;height:46px!important;border:0!important;box-shadow:0 9px 20px rgba(13,46,107,.26),inset 0 0 0 1px rgba(255,255,255,.22)!important;}
  .floating-assistant .floating-contact-button svg{width:26px!important;height:26px!important;}
  .floating-whatsapp .floating-contact-button svg{width:28px!important;height:28px!important;}
  .floating-call .floating-contact-button svg{width:24px!important;height:24px!important;}
}



/* === FINAL USER FIX: working mobile service slider + centered mobile footer === */
@media (max-width: 880px){
  .footer-premium,
  .footer-premium .footer-col,
  .footer-premium .footer-brand-col,
  .footer-premium .footer-brand-lockup,
  .footer-premium .footer-contact-line,
  .footer-premium .footer-socials,
  .footer-bottom-production{
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
    justify-items:center!important;
  }

  .footer-premium .footer-container{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    text-align:center!important;
    justify-items:center!important;
    align-items:center!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .footer-premium .footer-col,
  .footer-premium .footer-brand-col{
    width:100%!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-premium .footer-brand-lockup{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  .footer-premium .footer-brand-col p,
  .footer-premium .footer-sub,
  .footer-premium .footer-division-note,
  .footer-premium .footer-col h3,
  .footer-premium .footer-col h4,
  .footer-premium .footer-col li,
  .footer-premium .footer-col a,
  .footer-premium .footer-contact-line,
  .footer-premium .footer-contact-line p,
  .footer-premium .footer-contact-line span{
    text-align:center!important;
  }

  .footer-premium .footer-col ul{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    padding-left:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-premium .footer-socials{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-premium .footer-quote{
    display:inline-flex!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-bottom .container{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .footer-bottom-production{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    text-align:center!important;
  }

  .footer-copy,
  .footer-note,
  .footer-credit{
    text-align:center!important;
    justify-self:center!important;
    white-space:normal!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (max-width: 760px){
  body[data-page="home"] .services-grid-8{
    cursor:grab!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior-inline:contain!important;
  }

  body[data-page="home"] .services-grid-8.is-dragging{
    cursor:grabbing!important;
    scroll-snap-type:none!important;
  }

  body[data-page="home"] .services-grid-8 .service-card,
  body[data-page="home"] .services-grid-8 .service-card *{
    -webkit-user-drag:none!important;
  }

  body[data-page="home"] .services-grid-8.is-dragging .service-card{
    pointer-events:none!important;
  }

  body[data-page="home"] .luma-mobile-progress{
    position:relative!important;
    display:block!important;
    width:min(178px,52vw)!important;
    height:14px!important;
    margin:0 auto 18px!important;
    border-radius:999px!important;
    background:transparent!important;
    overflow:visible!important;
    cursor:pointer!important;
    touch-action:none!important;
  }

  body[data-page="home"] .luma-mobile-progress::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:50%!important;
    height:4px!important;
    transform:translateY(-50%)!important;
    border-radius:999px!important;
    background:rgba(13,46,107,.14)!important;
  }

  body[data-page="home"] .luma-mobile-progress span{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:4px!important;
    top:5px!important;
    transform-origin:left center!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,var(--royal),var(--cyan),var(--pink))!important;
    transition:transform .12s ease!important;
  }

  body[data-page="home"] .luma-mobile-progress span::after{
    content:""!important;
    position:absolute!important;
    right:-6px!important;
    top:50%!important;
    width:12px!important;
    height:12px!important;
    transform:translateY(-50%)!important;
    border-radius:999px!important;
    background:#ffffff!important;
    border:3px solid var(--royal)!important;
    box-shadow:0 6px 16px rgba(13,46,107,.24)!important;
  }

  body[data-page="home"] .luma-mobile-progress.is-dragging span{
    transition:none!important;
  }
}

/* === FINAL FIX: mobile service slider, equal card sizes, hero text order === */
.hero-trust-line{
  color:#0f172a!important;
  font-family:var(--font-head)!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}

.hero-offer-box{
  margin-top:18px!important;
}

@media (max-width:760px){
  body[data-page="home"] .hero-content,
  body[data-page="home"] .hero-content.visible{
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }

  body[data-page="home"] .hero h1{
    margin-bottom:7px!important;
  }

  body[data-page="home"] .hero-trust-line{
    display:block!important;
    order:3!important;
    color:#070b16!important;
    font-size:.76rem!important;
    line-height:1.34!important;
    font-weight:950!important;
    max-width:31ch!important;
    margin:2px auto 8px!important;
    text-align:center!important;
  }

  body[data-page="home"] .hero-content>p.hero-intro-copy{
    display:none!important;
  }

  body[data-page="home"] .hero-offer-box{
    order:4!important;
    margin-top:16px!important;
    margin-bottom:10px!important;
    width:100%!important;
  }

  body[data-page="home"] .hero-buttons{
    order:5!important;
  }

  body[data-page="home"] .hero-chips{
    order:6!important;
  }

  body[data-page="home"] #services .container{
    overflow:hidden!important;
  }

  body[data-page="home"] #services .services-grid-8,
  body[data-page="services"] .services-grid-8{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:16px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    touch-action:pan-y!important;
    padding:6px 16px 16px!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    scrollbar-width:none!important;
  }

  body[data-page="home"] #services .services-grid-8::-webkit-scrollbar,
  body[data-page="services"] .services-grid-8::-webkit-scrollbar{
    display:none!important;
  }

  body[data-page="home"] #services .services-grid-8.is-dragging,
  body[data-page="services"] .services-grid-8.is-dragging{
    scroll-snap-type:none!important;
    cursor:grabbing!important;
  }

  body[data-page="home"] #services .services-grid-8 .service-card,
  body[data-page="services"] .services-grid-8 .service-card{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    min-width:min(82vw,320px)!important;
    max-width:min(82vw,320px)!important;
    height:362px!important;
    min-height:362px!important;
    max-height:362px!important;
    display:flex!important;
    flex-direction:column!important;
    scroll-snap-align:center!important;
    overflow:hidden!important;
    transform:none!important;
  }

  body[data-page="home"] #services .service-card:hover,
  body[data-page="services"] .service-card:hover{
    transform:none!important;
  }

  body[data-page="home"] #services .service-image,
  body[data-page="services"] .service-image{
    height:188px!important;
    min-height:188px!important;
    max-height:188px!important;
    flex:0 0 188px!important;
  }

  body[data-page="home"] #services .service-body,
  body[data-page="services"] .service-body{
    flex:1 1 auto!important;
    min-height:174px!important;
    max-height:174px!important;
    padding:18px 17px 17px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }

  body[data-page="home"] #services .service-body h3,
  body[data-page="services"] .service-body h3{
    font-size:1.05rem!important;
    line-height:1.18!important;
    margin:0 0 8px!important;
  }

  body[data-page="home"] #services .service-body p,
  body[data-page="services"] .service-body p{
    font-size:.88rem!important;
    line-height:1.42!important;
    margin:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  body[data-page="home"] #services .service-link,
  body[data-page="services"] .service-link{
    margin-top:auto!important;
    font-size:.86rem!important;
    line-height:1.2!important;
  }

  .luma-mobile-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0 auto 16px!important;
  }

  .luma-mobile-dots .luma-dot{
    width:7px!important;
    height:7px!important;
    border:0!important;
    border-radius:999px!important;
    padding:0!important;
    background:rgba(13,46,107,.18)!important;
    cursor:pointer!important;
    transition:width .2s ease, background .2s ease, transform .2s ease!important;
  }

  .luma-mobile-dots .luma-dot.is-active{
    width:17px!important;
    background:linear-gradient(90deg,var(--royal),var(--cyan))!important;
    transform:translateY(-1px)!important;
  }

  .luma-service-range{
    display:block!important;
    width:min(210px,58vw)!important;
    height:24px!important;
    margin:2px auto 20px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    accent-color:var(--royal)!important;
    cursor:pointer!important;
    touch-action:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }

  .luma-service-range:focus{
    outline:none!important;
  }

  .luma-service-range::-webkit-slider-runnable-track{
    height:4px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,rgba(13,46,107,.24),rgba(27,164,230,.18))!important;
  }

  .luma-service-range::-webkit-slider-thumb{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:16px!important;
    height:16px!important;
    margin-top:-6px!important;
    border-radius:999px!important;
    border:3px solid var(--royal)!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(13,46,107,.28)!important;
  }

  .luma-service-range::-moz-range-track{
    height:4px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,rgba(13,46,107,.24),rgba(27,164,230,.18))!important;
  }

  .luma-service-range::-moz-range-thumb{
    width:16px!important;
    height:16px!important;
    border-radius:999px!important;
    border:3px solid var(--royal)!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(13,46,107,.28)!important;
  }

  .luma-mobile-progress{
    display:none!important;
  }
}

@media (max-width:390px){
  body[data-page="home"] #services .services-grid-8 .service-card,
  body[data-page="services"] .services-grid-8 .service-card{
    flex-basis:calc(100vw - 54px)!important;
    width:calc(100vw - 54px)!important;
    min-width:calc(100vw - 54px)!important;
    max-width:calc(100vw - 54px)!important;
  }

  body[data-page="home"] .hero-trust-line{
    font-size:.72rem!important;
    max-width:30ch!important;
  }
}

/* === FINAL FIX: CTA blue project boxes professional alignment === */
.cta-section,
.start-project,
.project-cta,
.service-cta,
.quote-cta,
.consultation-cta,
.final-cta,
.cta-card,
.cta-panel,
.project-card,
.start-project-card,
.home-cta,
.page-cta{
  text-align:center!important;
}

.cta-section .container,
.start-project .container,
.project-cta .container,
.service-cta .container,
.quote-cta .container,
.consultation-cta .container,
.final-cta .container,
.home-cta .container,
.page-cta .container{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}

.cta-card,
.cta-panel,
.project-card,
.start-project-card,
.cta-box,
.cta-content,
.service-cta-box,
.quote-cta-box,
[class*="cta-card"],
[class*="cta-box"],
[class*="project-cta"],
[class*="quote-cta"]{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  align-items:center!important;
  justify-content:center!important;
}

.cta-card h2,
.cta-card h3,
.cta-panel h2,
.cta-panel h3,
.project-card h2,
.project-card h3,
.start-project-card h2,
.start-project-card h3,
.cta-box h2,
.cta-box h3,
.service-cta-box h2,
.service-cta-box h3,
.quote-cta-box h2,
.quote-cta-box h3,
[class*="cta"] h2,
[class*="cta"] h3{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:760px!important;
}

.cta-card p,
.cta-panel p,
.project-card p,
.start-project-card p,
.cta-box p,
.service-cta-box p,
.quote-cta-box p,
[class*="cta"] p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:620px!important;
}

.cta-card .btn,
.cta-card a,
.cta-panel .btn,
.cta-panel a,
.project-card .btn,
.project-card a,
.start-project-card .btn,
.start-project-card a,
.cta-box .btn,
.cta-box a,
.service-cta-box .btn,
.service-cta-box a,
.quote-cta-box .btn,
.quote-cta-box a{
  align-self:center!important;
  justify-self:center!important;
}

@media (max-width:760px){
  .cta-section,
  .start-project,
  .project-cta,
  .service-cta,
  .quote-cta,
  .consultation-cta,
  .final-cta,
  .home-cta,
  .page-cta{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .cta-section .container,
  .start-project .container,
  .project-cta .container,
  .service-cta .container,
  .quote-cta .container,
  .consultation-cta .container,
  .final-cta .container,
  .home-cta .container,
  .page-cta .container{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding-left:0!important;
    padding-right:0!important;
    max-width:100%!important;
  }

  .cta-card,
  .cta-panel,
  .project-card,
  .start-project-card,
  .cta-box,
  .cta-content,
  .service-cta-box,
  .quote-cta-box,
  [class*="cta-card"],
  [class*="cta-box"],
  [class*="project-cta"],
  [class*="quote-cta"]{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:22px!important;
    padding:28px 18px!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
  }

  .cta-card > *,
  .cta-panel > *,
  .project-card > *,
  .start-project-card > *,
  .cta-box > *,
  .cta-content > *,
  .service-cta-box > *,
  .quote-cta-box > *{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  .cta-card .eyebrow,
  .cta-panel .eyebrow,
  .project-card .eyebrow,
  .start-project-card .eyebrow,
  .cta-box .eyebrow,
  [class*="cta"] .eyebrow{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
    display:flex!important;
    letter-spacing:.16em!important;
  }

  .cta-card h2,
  .cta-card h3,
  .cta-panel h2,
  .cta-panel h3,
  .project-card h2,
  .project-card h3,
  .start-project-card h2,
  .start-project-card h3,
  .cta-box h2,
  .cta-box h3,
  .service-cta-box h2,
  .service-cta-box h3,
  .quote-cta-box h2,
  .quote-cta-box h3,
  [class*="cta"] h2,
  [class*="cta"] h3{
    text-align:center!important;
    max-width:300px!important;
    font-size:clamp(1.55rem, 7.2vw, 2.05rem)!important;
    line-height:1.12!important;
    margin:0 auto!important;
  }

  .cta-card p,
  .cta-panel p,
  .project-card p,
  .start-project-card p,
  .cta-box p,
  .service-cta-box p,
  .quote-cta-box p,
  [class*="cta"] p{
    text-align:center!important;
    max-width:285px!important;
    margin:0 auto!important;
    line-height:1.55!important;
  }

  .cta-card ul,
  .cta-panel ul,
  .project-card ul,
  .start-project-card ul,
  .cta-box ul,
  .service-cta-box ul,
  .quote-cta-box ul,
  [class*="cta"] ul{
    width:100%!important;
    max-width:285px!important;
    padding-left:0!important;
    margin:2px auto 8px!important;
    list-style:none!important;
    text-align:center!important;
  }

  .cta-card li,
  .cta-panel li,
  .project-card li,
  .start-project-card li,
  .cta-box li,
  .service-cta-box li,
  .quote-cta-box li,
  [class*="cta"] li{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .cta-card .btn,
  .cta-card a,
  .cta-panel .btn,
  .cta-panel a,
  .project-card .btn,
  .project-card a,
  .start-project-card .btn,
  .start-project-card a,
  .cta-box .btn,
  .cta-box a,
  .service-cta-box .btn,
  .service-cta-box a,
  .quote-cta-box .btn,
  .quote-cta-box a{
    width:100%!important;
    max-width:320px!important;
    min-height:54px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin:8px auto 0!important;
    padding-left:16px!important;
    padding-right:16px!important;
    white-space:normal!important;
    line-height:1.25!important;
    border-radius:16px!important;
  }
}

/* Exact known Luma dark-blue CTA card class fallbacks */
@media (max-width:760px){
  .project-start-card,
  .start-project-box,
  .interior-project-card,
  .whatsapp-project-card,
  .contact-cta-card{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:28px 18px!important;
    border-radius:22px!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

/* === FINAL FIX: smaller centered blue CTA box and compact button === */
@media (max-width:760px){
  .cta-section,
  .start-project,
  .project-cta,
  .service-cta,
  .quote-cta,
  .consultation-cta,
  .final-cta,
  .home-cta,
  .page-cta{
    padding-left:0!important;
    padding-right:0!important;
  }

  .cta-section .container,
  .start-project .container,
  .project-cta .container,
  .service-cta .container,
  .quote-cta .container,
  .consultation-cta .container,
  .final-cta .container,
  .home-cta .container,
  .page-cta .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .cta-card,
  .cta-panel,
  .project-card,
  .start-project-card,
  .cta-box,
  .cta-content,
  .service-cta-box,
  .quote-cta-box,
  .project-start-card,
  .start-project-box,
  .interior-project-card,
  .whatsapp-project-card,
  .contact-cta-card,
  [class*="cta-card"],
  [class*="cta-box"],
  [class*="project-cta"],
  [class*="quote-cta"]{
    width:calc(100% - 46px)!important;
    max-width:326px!important;
    min-height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:24px 15px 25px!important;
    border-radius:20px!important;
    box-sizing:border-box!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }

  .cta-card .eyebrow,
  .cta-panel .eyebrow,
  .project-card .eyebrow,
  .start-project-card .eyebrow,
  .cta-box .eyebrow,
  .project-start-card .eyebrow,
  .start-project-box .eyebrow,
  .interior-project-card .eyebrow,
  .whatsapp-project-card .eyebrow,
  .contact-cta-card .eyebrow,
  [class*="cta"] .eyebrow{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
    margin:0 auto 2px!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    letter-spacing:.15em!important;
  }

  .cta-card h2,
  .cta-card h3,
  .cta-panel h2,
  .cta-panel h3,
  .project-card h2,
  .project-card h3,
  .start-project-card h2,
  .start-project-card h3,
  .cta-box h2,
  .cta-box h3,
  .service-cta-box h2,
  .service-cta-box h3,
  .quote-cta-box h2,
  .quote-cta-box h3,
  .project-start-card h2,
  .project-start-card h3,
  .start-project-box h2,
  .start-project-box h3,
  .interior-project-card h2,
  .interior-project-card h3,
  .whatsapp-project-card h2,
  .whatsapp-project-card h3,
  .contact-cta-card h2,
  .contact-cta-card h3,
  [class*="cta"] h2,
  [class*="cta"] h3{
    width:100%!important;
    max-width:282px!important;
    margin:0 auto!important;
    text-align:center!important;
    font-size:clamp(1.45rem, 6.2vw, 1.78rem)!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
  }

  .cta-card p,
  .cta-panel p,
  .project-card p,
  .start-project-card p,
  .cta-box p,
  .service-cta-box p,
  .quote-cta-box p,
  .project-start-card p,
  .start-project-box p,
  .interior-project-card p,
  .whatsapp-project-card p,
  .contact-cta-card p,
  [class*="cta"] p{
    width:100%!important;
    max-width:260px!important;
    margin:0 auto!important;
    text-align:center!important;
    font-size:.88rem!important;
    line-height:1.48!important;
  }

  .cta-card ul,
  .cta-panel ul,
  .project-card ul,
  .start-project-card ul,
  .cta-box ul,
  .service-cta-box ul,
  .quote-cta-box ul,
  .project-start-card ul,
  .start-project-box ul,
  .interior-project-card ul,
  .whatsapp-project-card ul,
  .contact-cta-card ul,
  [class*="cta"] ul{
    width:100%!important;
    max-width:250px!important;
    padding-left:0!important;
    margin:0 auto 4px!important;
    list-style:none!important;
    text-align:center!important;
  }

  .cta-card li,
  .cta-panel li,
  .project-card li,
  .start-project-card li,
  .cta-box li,
  .service-cta-box li,
  .quote-cta-box li,
  .project-start-card li,
  .start-project-box li,
  .interior-project-card li,
  .whatsapp-project-card li,
  .contact-cta-card li,
  [class*="cta"] li{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:.86rem!important;
    line-height:1.45!important;
  }

  .cta-card .btn,
  .cta-card a,
  .cta-panel .btn,
  .cta-panel a,
  .project-card .btn,
  .project-card a,
  .start-project-card .btn,
  .start-project-card a,
  .cta-box .btn,
  .cta-box a,
  .service-cta-box .btn,
  .service-cta-box a,
  .quote-cta-box .btn,
  .quote-cta-box a,
  .project-start-card .btn,
  .project-start-card a,
  .start-project-box .btn,
  .start-project-box a,
  .interior-project-card .btn,
  .interior-project-card a,
  .whatsapp-project-card .btn,
  .whatsapp-project-card a,
  .contact-cta-card .btn,
  .contact-cta-card a{
    width:auto!important;
    min-width:0!important;
    max-width:268px!important;
    min-height:48px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    justify-self:center!important;
    margin:8px auto 0!important;
    padding:13px 20px!important;
    border-radius:15px!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.22!important;
    font-size:.84rem!important;
  }
}

@media (max-width:390px){
  .cta-card,
  .cta-panel,
  .project-card,
  .start-project-card,
  .cta-box,
  .cta-content,
  .service-cta-box,
  .quote-cta-box,
  .project-start-card,
  .start-project-box,
  .interior-project-card,
  .whatsapp-project-card,
  .contact-cta-card,
  [class*="cta-card"],
  [class*="cta-box"],
  [class*="project-cta"],
  [class*="quote-cta"]{
    width:calc(100% - 54px)!important;
    max-width:318px!important;
    padding:23px 14px 24px!important;
  }

  .cta-card .btn,
  .cta-card a,
  .cta-panel .btn,
  .cta-panel a,
  .project-card .btn,
  .project-card a,
  .start-project-card .btn,
  .start-project-card a,
  .cta-box .btn,
  .cta-box a,
  .service-cta-box .btn,
  .service-cta-box a,
  .quote-cta-box .btn,
  .quote-cta-box a,
  .project-start-card .btn,
  .project-start-card a,
  .start-project-box .btn,
  .start-project-box a,
  .interior-project-card .btn,
  .interior-project-card a,
  .whatsapp-project-card .btn,
  .whatsapp-project-card a,
  .contact-cta-card .btn,
  .contact-cta-card a{
    max-width:248px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    font-size:.81rem!important;
  }
}

/* === FINAL FIX: all mobile top intro text + CTA card exact alignment === */

/* Better readable top intro text under headings across inner pages */
@media (max-width:760px){
  body:not([data-page="home"]) .inner-hero{
    padding-top:18px!important;
    padding-bottom:24px!important;
  }

  body:not([data-page="home"]) .inner-hero-box{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:22px!important;
    padding-right:22px!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  body:not([data-page="home"]) .inner-hero h1{
    max-width:330px!important;
    margin:0 auto 12px!important;
    text-align:center!important;
    font-size:clamp(2rem,8.4vw,2.55rem)!important;
    line-height:1.06!important;
    letter-spacing:-.055em!important;
    text-wrap:balance!important;
  }

  body:not([data-page="home"]) .inner-hero p,
  body:not([data-page="home"]) .inner-hero p:last-child{
    max-width:34ch!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    color:#475166!important;
    font-size:.94rem!important;
    line-height:1.55!important;
    text-wrap:balance!important;
  }

  body:not([data-page="home"]) .inner-hero-actions{
    width:100%!important;
    max-width:330px!important;
    margin:18px auto 0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body:not([data-page="home"]) .inner-hero-actions .btn{
    width:100%!important;
    max-width:330px!important;
    min-height:48px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    justify-content:center!important;
  }

  body[data-page="services"] .inner-hero p{
    max-width:31ch!important;
  }
}

/* Exact fix for the dark-blue "Thinking about a new interior project?" CTA block */
@media (max-width:760px){
  .cta-section{
    padding-top:24px!important;
    padding-bottom:34px!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .cta-section .container.cta-container,
  .cta-section .cta-container{
    width:calc(100% - 74px)!important;
    max-width:314px!important;
    min-height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:25px 15px 26px!important;
    border-radius:20px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    text-align:center!important;
    overflow:hidden!important;
  }

  .cta-section .cta-container::before{
    width:210px!important;
    height:210px!important;
    opacity:.45!important;
    right:-80px!important;
    top:-90px!important;
  }

  .cta-section .cta-content{
    width:100%!important;
    max-width:278px!important;
    padding:0!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:center!important;
  }

  .cta-section .section-label,
  .cta-section .section-label.light{
    width:100%!important;
    margin:0 auto 6px!important;
    text-align:center!important;
    display:block!important;
    font-size:.68rem!important;
    line-height:1.2!important;
    letter-spacing:.16em!important;
  }

  .cta-section .cta-content h2{
    width:100%!important;
    max-width:270px!important;
    margin:0 auto!important;
    text-align:center!important;
    font-size:clamp(1.42rem,5.9vw,1.72rem)!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
    text-wrap:balance!important;
  }

  .cta-section .cta-content p{
    width:100%!important;
    max-width:252px!important;
    margin:0 auto!important;
    text-align:center!important;
    font-size:.84rem!important;
    line-height:1.48!important;
    color:rgba(255,255,255,.86)!important;
    text-wrap:balance!important;
  }

  .cta-section .cta-content .cta-trust-line{
    max-width:245px!important;
    margin:4px auto 2px!important;
    font-size:.82rem!important;
    line-height:1.42!important;
    font-weight:850!important;
    color:rgba(255,255,255,.92)!important;
  }

  .cta-section .cta-action{
    width:100%!important;
    max-width:254px!important;
    margin:4px auto 0!important;
    padding:0!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .cta-section .cta-action .btn-cta-premium,
  .cta-section .cta-action button,
  .cta-section .btn-cta-premium,
  .cta-section button[data-open-modal]{
    width:auto!important;
    min-width:0!important;
    max-width:254px!important;
    min-height:45px!important;
    margin:0 auto!important;
    padding:12px 17px!important;
    border-radius:14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.22!important;
    font-size:.78rem!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
}

@media (max-width:390px){
  .cta-section .container.cta-container,
  .cta-section .cta-container{
    width:calc(100% - 82px)!important;
    max-width:306px!important;
    padding:24px 14px 25px!important;
  }

  .cta-section .cta-content h2{
    font-size:clamp(1.36rem,5.7vw,1.62rem)!important;
    max-width:258px!important;
  }

  .cta-section .cta-content p{
    max-width:238px!important;
    font-size:.82rem!important;
  }

  .cta-section .cta-action .btn-cta-premium,
  .cta-section .cta-action button,
  .cta-section .btn-cta-premium,
  .cta-section button[data-open-modal]{
    max-width:240px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    font-size:.76rem!important;
  }
}

/* Inner section intro paragraphs across pages should not look narrow/uneven */
@media (max-width:760px){
  .section-heading,
  .section-copy,
  .section-intro,
  .section-subtitle,
  .division-intro,
  .compact-service-copy,
  .service-intro{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .section-heading p,
  .section-copy p,
  .section-intro p,
  .section-subtitle,
  .division-intro p,
  .compact-service-copy p,
  .service-intro p{
    max-width:34ch!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    line-height:1.55!important;
    text-wrap:balance!important;
  }
}

/* === FINAL FIX: mobile menu active page highlight === */
@media (max-width: 900px){
  .mobile-menu a,
  .mobile-menu button,
  .mobile-menu .mobile-menu-link,
  .mobile-menu .mobile-nav-link,
  .mobile-menu .mobile-dropdown-toggle{
    transition:color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease!important;
  }

  .mobile-menu a.is-active,
  .mobile-menu button.is-active,
  .mobile-menu .mobile-menu-link.is-active,
  .mobile-menu .mobile-nav-link.is-active,
  .mobile-menu .mobile-dropdown-toggle.is-active,
  .mobile-menu a[aria-current="page"],
  .mobile-menu button[aria-current="page"]{
    color:var(--pink)!important;
    background:linear-gradient(135deg, rgba(222,48,139,.12), rgba(255,255,255,.95))!important;
    border-color:rgba(222,48,139,.34)!important;
    box-shadow:0 10px 24px rgba(222,48,139,.12)!important;
    font-weight:950!important;
  }

  .mobile-menu a.is-active *,
  .mobile-menu button.is-active *,
  .mobile-menu a[aria-current="page"] *,
  .mobile-menu button[aria-current="page"] *{
    color:var(--pink)!important;
  }

  .mobile-menu a.is-active::before,
  .mobile-menu button.is-active::before,
  .mobile-menu a[aria-current="page"]::before,
  .mobile-menu button[aria-current="page"]::before{
    background:var(--pink)!important;
    opacity:1!important;
  }
}

/* === FINAL FIX: dark pink mobile service nav active state === */
:root{
  --luma-active-pink:#bf1f6d;
  --luma-active-pink-dark:#9f1658;
  --luma-active-pink-soft:rgba(191,31,109,.10);
  --luma-active-pink-border:rgba(191,31,109,.42);
}

@media (max-width:900px){
  .mobile-menu a.is-active,
  .mobile-menu button.is-active,
  .mobile-menu .mobile-menu-link.is-active,
  .mobile-menu .mobile-nav-link.is-active,
  .mobile-menu .mobile-dropdown-toggle.is-active,
  .mobile-menu .mobile-service-card.is-active,
  .mobile-menu .mobile-dropdown-card.is-active,
  .mobile-menu .mobile-sub-card.is-active,
  .mobile-menu .dropdown-card.is-active,
  .mobile-menu a[aria-current="page"],
  .mobile-menu button[aria-current="page"]{
    color:var(--luma-active-pink)!important;
    background:linear-gradient(135deg, rgba(191,31,109,.11), rgba(255,255,255,.98))!important;
    border-color:var(--luma-active-pink-border)!important;
    box-shadow:0 10px 24px rgba(191,31,109,.10)!important;
    font-weight:950!important;
  }

  .mobile-menu a.is-active *,
  .mobile-menu button.is-active *,
  .mobile-menu .mobile-service-card.is-active *,
  .mobile-menu .mobile-dropdown-card.is-active *,
  .mobile-menu .mobile-sub-card.is-active *,
  .mobile-menu .dropdown-card.is-active *,
  .mobile-menu a[aria-current="page"] *,
  .mobile-menu button[aria-current="page"] *{
    color:var(--luma-active-pink)!important;
  }

  .mobile-menu a.is-active::before,
  .mobile-menu button.is-active::before,
  .mobile-menu .mobile-service-card.is-active::before,
  .mobile-menu .mobile-dropdown-card.is-active::before,
  .mobile-menu .mobile-sub-card.is-active::before,
  .mobile-menu .dropdown-card.is-active::before,
  .mobile-menu a[aria-current="page"]::before,
  .mobile-menu button[aria-current="page"]::before{
    background:var(--luma-active-pink)!important;
    opacity:1!important;
  }

  /* The main Services button must be active for all service/detail pages */
  body[data-page="services"] .mobile-menu a[href$="services.html"],
  body[data-page="services"] .mobile-menu button.mobile-dropdown-toggle,
  body[data-page="services"] .mobile-menu .mobile-dropdown-toggle,
  body[data-page="services"] .mobile-menu [aria-controls*="service"]{
    color:var(--luma-active-pink)!important;
    border-color:var(--luma-active-pink-border)!important;
    background:linear-gradient(135deg, rgba(191,31,109,.09), #fff)!important;
    font-weight:950!important;
  }

  /* Cleaner dropdown spacing after removing duplicate Interior Works */
  .mobile-menu .mobile-services-dropdown,
  .mobile-menu .mobile-dropdown-content,
  .mobile-menu .mobile-submenu{
    gap:9px!important;
  }
}

/* === FINAL FIX: Services parent highlight + professional mobile dropdown arrow === */
:root{
  --luma-active-pink:#CF3C81;
  --luma-active-pink-dark:#b62d70;
  --luma-active-pink-soft:rgba(207,60,129,.105);
  --luma-active-pink-border:rgba(207,60,129,.46);
}

@media (max-width:900px){
  .mobile-menu a.is-active,
  .mobile-menu button.is-active,
  .mobile-menu .mobile-menu-link.is-active,
  .mobile-menu .mobile-nav-link.is-active,
  .mobile-menu .mobile-dropdown-toggle.is-active,
  .mobile-menu a[aria-current="page"],
  .mobile-menu button[aria-current="page"]{
    color:var(--luma-active-pink)!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:var(--luma-active-pink-border)!important;
    box-shadow:0 10px 24px rgba(207,60,129,.10)!important;
    font-weight:950!important;
  }

  .mobile-menu a.is-active *,
  .mobile-menu button.is-active *,
  .mobile-menu a[aria-current="page"] *,
  .mobile-menu button[aria-current="page"] *{
    color:var(--luma-active-pink)!important;
  }

  /* Do not highlight All Services on service detail pages. Only parent Services + exact current service item. */
  body[data-page="services"] .mobile-menu a[href$="services.html"]:not(.is-current-page){
    color:inherit!important;
    background:#fff!important;
    border-color:rgba(13,46,107,.10)!important;
    box-shadow:none!important;
  }

  body[data-page="services"] .mobile-menu a[href$="services.html"]:not(.is-current-page) *,
  body[data-page="services"] .mobile-menu a[href$="services.html"]:not(.is-current-page) small,
  body[data-page="services"] .mobile-menu a[href$="services.html"]:not(.is-current-page) span{
    color:inherit!important;
  }

  body[data-page="services"] .mobile-menu a[href$="services.html"].is-current-page{
    color:var(--luma-active-pink)!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:var(--luma-active-pink-border)!important;
  }

  /* Professional Services dropdown arrow */
  .mobile-menu .mobile-dropdown-toggle,
  .mobile-menu button.mobile-dropdown-toggle,
  .mobile-menu [aria-controls*="service"]{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding-right:18px!important;
  }

  .mobile-menu .mobile-dropdown-toggle::after,
  .mobile-menu button.mobile-dropdown-toggle::after,
  .mobile-menu [aria-controls*="service"]::after{
    content:""!important;
    flex:0 0 auto!important;
    width:11px!important;
    height:11px!important;
    margin-left:auto!important;
    border-right:2.6px solid currentColor!important;
    border-bottom:2.6px solid currentColor!important;
    border-radius:1px!important;
    transform:rotate(45deg) translateY(-2px)!important;
    transition:transform .22s ease, border-color .22s ease!important;
    opacity:.95!important;
  }

  .mobile-menu .mobile-dropdown-toggle[aria-expanded="true"]::after,
  .mobile-menu button.mobile-dropdown-toggle[aria-expanded="true"]::after,
  .mobile-menu [aria-controls*="service"][aria-expanded="true"]::after,
  .mobile-menu.open .mobile-dropdown-toggle::after{
    transform:rotate(225deg) translate(-2px,-1px)!important;
  }

  /* Hide old tiny arrow/icons if markup has them */
  .mobile-menu .mobile-dropdown-toggle svg,
  .mobile-menu .mobile-dropdown-toggle .arrow,
  .mobile-menu .mobile-dropdown-toggle .chevron,
  .mobile-menu button.mobile-dropdown-toggle svg,
  .mobile-menu button.mobile-dropdown-toggle .arrow,
  .mobile-menu button.mobile-dropdown-toggle .chevron{
    display:none!important;
  }

  /* Keep exact current service item clean, with requested dark pink */
  .mobile-menu a.is-current-service{
    color:var(--luma-active-pink)!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:var(--luma-active-pink-border)!important;
    box-shadow:0 10px 24px rgba(207,60,129,.10)!important;
    font-weight:950!important;
  }

  .mobile-menu a.is-current-service *{
    color:var(--luma-active-pink)!important;
  }
}

/* === REAL FINAL FIX: mobile services parent highlight, #CF3C81 color, arrow, and no All Services highlight === */
:root{
  --luma-active-pink:#CF3C81;
  --luma-active-pink-dark:#b12d6c;
  --luma-active-pink-bg:rgba(207,60,129,.105);
  --luma-active-pink-border:rgba(207,60,129,.46);
}

@media (max-width:900px){
  #mobile-menu.mobile-menu .mobile-service-details{
    width:100%!important;
    max-width:none!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary,
  #mobile-menu.mobile-menu .mobile-services-summary{
    position:relative!important;
    min-height:42px!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:11px 52px 11px 18px!important;
    border:1px solid rgba(13,46,107,.10)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#111827!important;
    font-family:var(--font-head)!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-align:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    list-style:none!important;
    cursor:pointer!important;
    box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
    transition:color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary::-webkit-details-marker,
  #mobile-menu.mobile-menu .mobile-services-summary::-webkit-details-marker{
    display:none!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary::marker,
  #mobile-menu.mobile-menu .mobile-services-summary::marker{
    content:""!important;
    display:none!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary::after,
  #mobile-menu.mobile-menu .mobile-services-summary::after{
    content:""!important;
    position:absolute!important;
    right:22px!important;
    top:50%!important;
    width:12px!important;
    height:12px!important;
    border-right:3px solid currentColor!important;
    border-bottom:3px solid currentColor!important;
    border-radius:1.5px!important;
    transform:translateY(-62%) rotate(45deg)!important;
    transform-origin:50% 50%!important;
    opacity:.95!important;
    transition:transform .22s ease, border-color .22s ease!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details[open] > summary::after,
  #mobile-menu.mobile-menu .mobile-service-details[open] > .mobile-services-summary::after{
    transform:translateY(-38%) rotate(225deg)!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary.is-active,
  #mobile-menu.mobile-menu .mobile-service-details > summary.services-parent-active,
  #mobile-menu.mobile-menu .mobile-services-summary.is-active,
  #mobile-menu.mobile-menu .mobile-services-summary.services-parent-active{
    color:#CF3C81!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:rgba(207,60,129,.46)!important;
    box-shadow:0 10px 24px rgba(207,60,129,.10)!important;
  }

  /* Force All Services to stay neutral on all service detail pages */
  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href="services.html"],
  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href$="/services.html"],
  #mobile-menu.mobile-menu .mobile-service-list > a.all-services-neutral,
  #mobile-menu.mobile-menu .mobile-service-list > a[href="services.html"].all-services-neutral,
  #mobile-menu.mobile-menu .mobile-service-list > a[href$="/services.html"].all-services-neutral{
    color:#13245a!important;
    background:#fff!important;
    border-color:rgba(32,66,144,.12)!important;
    box-shadow:none!important;
    font-weight:800!important;
  }

  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href="services.html"] *,
  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href$="/services.html"] *,
  #mobile-menu.mobile-menu .mobile-service-list > a.all-services-neutral *,
  #mobile-menu.mobile-menu .mobile-service-list > a[href="services.html"].all-services-neutral *,
  #mobile-menu.mobile-menu .mobile-service-list > a[href$="/services.html"].all-services-neutral *{
    color:inherit!important;
  }

  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href="services.html"] span,
  body[data-page="services"] #mobile-menu.mobile-menu .mobile-service-list > a[href$="/services.html"] span,
  #mobile-menu.mobile-menu .mobile-service-list > a.all-services-neutral span{
    color:#68748b!important;
  }

  /* Exact current service card only */
  #mobile-menu.mobile-menu .mobile-service-list > a.is-current-service,
  #mobile-menu.mobile-menu .mobile-service-list > a.is-current-service[aria-current="page"]{
    color:#CF3C81!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:rgba(207,60,129,.46)!important;
    box-shadow:0 10px 24px rgba(207,60,129,.10)!important;
    font-weight:950!important;
  }

  #mobile-menu.mobile-menu .mobile-service-list > a.is-current-service *,
  #mobile-menu.mobile-menu .mobile-service-list > a.is-current-service strong,
  #mobile-menu.mobile-menu .mobile-service-list > a.is-current-service span{
    color:#CF3C81!important;
  }

  /* Top-level page active links */
  #mobile-menu.mobile-menu > a.top-active,
  #mobile-menu.mobile-menu > a.is-current-page.top-active{
    color:#CF3C81!important;
    background:linear-gradient(135deg, rgba(207,60,129,.105), rgba(255,255,255,.98))!important;
    border-color:rgba(207,60,129,.46)!important;
    box-shadow:0 10px 24px rgba(207,60,129,.10)!important;
    font-weight:950!important;
  }

  /* Remove old/neon active effects from non-current dropdown items */
  #mobile-menu.mobile-menu .mobile-service-list > a:not(.is-current-service):not(.all-services-neutral){
    background:#fff!important;
    border-color:rgba(32,66,144,.12)!important;
    box-shadow:none!important;
  }

  #mobile-menu.mobile-menu .mobile-service-list > a:not(.is-current-service):not(.all-services-neutral) strong{
    color:#13245a!important;
  }

  #mobile-menu.mobile-menu .mobile-service-list > a:not(.is-current-service):not(.all-services-neutral) span{
    color:#68748b!important;
  }
}

/* === FINAL FIX: mobile Services parent text left aligned like other menu items === */
@media (max-width:900px){
  #mobile-menu.mobile-menu .mobile-service-details > summary,
  #mobile-menu.mobile-menu .mobile-services-summary,
  #mobile-menu.mobile-menu .mobile-service-details > summary.is-active,
  #mobile-menu.mobile-menu .mobile-service-details > summary.services-parent-active,
  #mobile-menu.mobile-menu .mobile-services-summary.is-active,
  #mobile-menu.mobile-menu .mobile-services-summary.services-parent-active{
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:center!important;
    padding-left:18px!important;
    padding-right:52px!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary *,
  #mobile-menu.mobile-menu .mobile-services-summary *{
    text-align:left!important;
  }

  #mobile-menu.mobile-menu .mobile-service-details > summary::after,
  #mobile-menu.mobile-menu .mobile-services-summary::after{
    right:24px!important;
    left:auto!important;
  }
}

/* === FINAL FIX: mobile Services menu text same weight as other menu items === */
@media (max-width:900px){
  #mobile-menu.mobile-menu .mobile-service-details > summary,
  #mobile-menu.mobile-menu .mobile-services-summary,
  #mobile-menu.mobile-menu .mobile-service-details > summary.is-active,
  #mobile-menu.mobile-menu .mobile-service-details > summary.services-parent-active,
  #mobile-menu.mobile-menu .mobile-services-summary.is-active,
  #mobile-menu.mobile-menu .mobile-services-summary.services-parent-active{
    font-weight:800!important;
  }
}

/* === REAL FINAL FIX: gallery opens inside website popup, not direct image tab === */
.luma-gallery-popup{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:rgba(5,10,24,.88)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

.luma-gallery-popup.is-open{
  display:flex!important;
}

.luma-gallery-popup__box{
  position:relative!important;
  width:min(1120px,94vw)!important;
  max-height:90vh!important;
  border-radius:22px!important;
  background:#070e20!important;
  box-shadow:0 30px 90px rgba(0,0,0,.55)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.luma-gallery-popup__image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:90vh!important;
  object-fit:contain!important;
  background:#070e20!important;
}

.luma-gallery-popup__close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:3!important;
  width:44px!important;
  height:44px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#111827!important;
  font-size:30px!important;
  font-weight:500!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  transition:transform .18s ease, background .18s ease, color .18s ease!important;
}

.luma-gallery-popup__close:hover,
.luma-gallery-popup__close:focus-visible{
  transform:scale(1.05)!important;
  background:#CF3C81!important;
  color:#fff!important;
  outline:none!important;
}

.luma-gallery-popup__caption{
  position:absolute!important;
  left:18px!important;
  right:76px!important;
  bottom:16px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  background:rgba(8,18,37,.72)!important;
  color:#fff!important;
  font-family:var(--font-head)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  line-height:1.3!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

body.luma-gallery-popup-open{
  overflow:hidden!important;
}

body[data-page="gallery"] main img,
body[data-page="gallery"] .gallery-card,
body[data-page="gallery"] .gallery-item,
body[data-page="gallery"] a[data-gallery-lightbox="true"]{
  cursor:zoom-in!important;
}

@media (max-width:760px){
  .luma-gallery-popup{
    padding:12px!important;
  }

  .luma-gallery-popup__box{
    width:96vw!important;
    max-height:86vh!important;
    border-radius:18px!important;
  }

  .luma-gallery-popup__image{
    max-height:86vh!important;
  }

  .luma-gallery-popup__close{
    top:10px!important;
    right:10px!important;
    width:40px!important;
    height:40px!important;
    font-size:28px!important;
  }

  .luma-gallery-popup__caption{
    left:12px!important;
    right:62px!important;
    bottom:12px!important;
    font-size:.82rem!important;
    padding:8px 11px!important;
  }
}

/* === REAL FINAL FIX: smooth native mobile service-card swiping === */
@media (max-width:760px){
  body[data-page="home"] #services .services-grid-8,
  body[data-page="services"] .services-grid-8,
  .services-grid-8{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    scroll-snap-stop:normal!important;
    scroll-behavior:smooth!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    padding:6px 16px 16px!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    scrollbar-width:none!important;
    cursor:grab!important;
  }

  body[data-page="home"] #services .services-grid-8::-webkit-scrollbar,
  body[data-page="services"] .services-grid-8::-webkit-scrollbar,
  .services-grid-8::-webkit-scrollbar{
    display:none!important;
  }

  body[data-page="home"] #services .services-grid-8 .service-card,
  body[data-page="services"] .services-grid-8 .service-card,
  .services-grid-8 .service-card{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    min-width:min(82vw,320px)!important;
    max-width:min(82vw,320px)!important;
    scroll-snap-align:center!important;
    scroll-margin-inline:16px!important;
    transform:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    -webkit-user-drag:none!important;
  }

  body[data-page="home"] #services .service-card:hover,
  body[data-page="services"] .service-card:hover,
  .services-grid-8 .service-card:hover{
    transform:none!important;
  }

  .services-grid-8 .service-card img{
    -webkit-user-drag:none!important;
    user-select:none!important;
  }

  .services-grid-8.is-dragging,
  .services-grid-8.is-ready-to-drag{
    scroll-snap-type:x proximity!important;
    cursor:grab!important;
  }

  .services-grid-8.is-dragging .service-card{
    pointer-events:auto!important;
  }

  .luma-service-range,
  .luma-mobile-progress{
    display:none!important;
  }

  .luma-mobile-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0 auto 15px!important;
  }

  .luma-mobile-dots .luma-dot{
    width:7px!important;
    height:7px!important;
    border:0!important;
    border-radius:999px!important;
    padding:0!important;
    background:rgba(13,46,107,.18)!important;
    cursor:pointer!important;
    transition:width .22s ease, background .22s ease, transform .22s ease!important;
  }

  .luma-mobile-dots .luma-dot.is-active{
    width:18px!important;
    background:linear-gradient(90deg,#204290,#1BA4E6)!important;
    transform:translateY(-1px)!important;
  }
}
