:root {
  --navy:#071427;
  --navy2:#122745;
  --gold:#bfa15f;
  --paper:#fbfaf7;
  --soft:#f3f6fa;
  --muted:#6f7d90;
  --line:rgba(18,39,69,.13);
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:var(--paper);
  color:var(--navy);
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(7,20,39,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,20,39,.032) 1px,transparent 1px);
  background-size:46px 46px;
  z-index:-1;
}
a{color:inherit}
.progress{position:fixed;left:0;top:0;height:3px;background:var(--gold);width:0%;z-index:3000}
.header{
  position:fixed;inset:0 0 auto 0;height:82px;z-index:2000;
  background:rgba(251,250,247,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(18,39,69,.09);
}
.nav{width:min(1380px,100%);height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Orbitron,Inter,sans-serif;font-weight:900;letter-spacing:.03em;line-height:1.02}
.brand svg{width:50px;height:50px;flex:0 0 auto}
.brand small{display:block;font-family:Inter,sans-serif;font-size:.62rem;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
.menu{display:flex;gap:19px;align-items:center;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.menu a{text-decoration:none;position:relative}
.menu a:hover:after{
  content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 90 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 7 H25 L32 2 L40 12 L48 4 L56 9 L63 7 H90' fill='none' stroke='%23bfa15f' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.header-cta{display:flex;align-items:center;gap:12px;white-space:nowrap}
.phone{font-weight:900;text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:white!important;text-decoration:none;border-radius:999px;padding:12px 18px;font-weight:900;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(7,20,39,.20);cursor:pointer}
.btn.gold{background:var(--gold)}
.btn.light{background:white;color:var(--navy)!important;border:1px solid var(--line);box-shadow:none}
.hero{min-height:100vh;padding:120px 28px 54px;display:grid;place-items:center}
.hero-grid{width:min(1380px,100%);display:grid;grid-template-columns:.86fr 1.14fr;gap:32px;align-items:stretch}
.hero-copy{border-radius:38px;background:var(--navy);color:white;padding:46px;min-height:660px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.hero-copy:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(191,161,95,.30),transparent 64%);right:-260px;top:-250px;animation:orb 8s ease-in-out infinite}
@keyframes orb{50%{transform:translate(-30px,40px) scale(1.08)}}
.kicker{color:var(--gold);font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}
.hero h1{font-size:clamp(3.1rem,7.3vw,7.3rem);line-height:.88;letter-spacing:-.08em;margin:22px 0}
.hero h1 span{color:var(--gold)}
.hero-copy p{color:rgba(255,255,255,.72);font-size:1.08rem;max-width:560px}
.pulse-line{height:54px;margin:28px 0;overflow:hidden}
.pulse-line svg{width:160%;height:100%;animation:pulseSweep 4.5s linear infinite}
@keyframes pulseSweep{from{transform:translateX(-38%)}to{transform:translateX(0)}}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.stat{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px;background:rgba(255,255,255,.05)}
.stat strong{display:block;font-size:1.35rem;color:white}
.stat span{font-size:.76rem;color:rgba(255,255,255,.60)}
.map-stage{position:relative;border-radius:38px;background:radial-gradient(circle at 20% 24%,rgba(191,161,95,.20),transparent 22%),radial-gradient(circle at 76% 70%,rgba(7,20,39,.14),transparent 28%),linear-gradient(135deg,#fff,#eef3f7);border:1px solid var(--line);min-height:660px;overflow:hidden;box-shadow:0 30px 90px rgba(18,39,69,.12)}
.map-stage:before{content:"";position:absolute;inset:52px;border:1px dashed rgba(18,39,69,.17);border-radius:45% 38% 49% 35%;transform:rotate(-9deg)}
.map-stage:after{content:"";position:absolute;left:50%;top:-10%;bottom:-10%;width:54px;border-radius:999px;background:linear-gradient(180deg,rgba(18,39,69,.05),rgba(18,39,69,.16),rgba(18,39,69,.05));transform:translateX(-50%) rotate(7deg)}
.road{position:absolute;height:4px;border-radius:999px;background:rgba(18,39,69,.13);z-index:1}
.r1{width:70%;left:15%;top:49%;transform:rotate(-8deg)}.r2{width:58%;left:22%;top:34%;transform:rotate(22deg)}.r3{width:62%;left:19%;top:67%;transform:rotate(15deg)}.r4{width:45%;left:35%;top:23%;transform:rotate(-31deg)}
.map-title{position:absolute;top:28px;left:28px;right:28px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(18,39,69,.10);border-radius:28px;padding:20px 22px;z-index:5}
.map-title strong{display:block;font-size:1.05rem}.map-title span{display:block;color:var(--muted);margin-top:4px}
.area-pin{position:absolute;z-index:8;transform:translate(-50%,-50%);text-decoration:none;background:rgba(255,255,255,.95);border:1px solid rgba(18,39,69,.13);color:var(--navy);border-radius:999px;padding:7px 10px 7px 22px;font-size:.69rem;font-weight:900;box-shadow:0 13px 30px rgba(18,39,69,.11);white-space:nowrap;transition:.22s ease}
.area-pin:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(191,161,95,.18)}
.area-pin:hover{color:var(--gold);border-color:var(--gold);transform:translate(-50%,-56%) scale(1.05)}
.beacon{position:absolute;left:56%;top:52%;width:18px;height:18px;border-radius:50%;background:#2f6df6;z-index:9;animation:beaconMove 9s ease-in-out infinite,pulseBlue 1.8s ease-out infinite}
.beacon:before,.beacon:after{content:"";position:absolute;inset:-16px;border-radius:50%;border:2px solid rgba(47,109,246,.42);animation:ring 1.8s ease-out infinite}
.beacon:after{inset:-30px;animation-delay:.45s;border-color:rgba(47,109,246,.20)}
@keyframes beaconMove{0%,100%{transform:translate(0,0)}30%{transform:translate(70px,-34px)}60%{transform:translate(-58px,48px)}}
@keyframes pulseBlue{0%{box-shadow:0 0 0 0 rgba(47,109,246,.55)}75%{box-shadow:0 0 0 34px rgba(47,109,246,0)}100%{box-shadow:0 0 0 0 rgba(47,109,246,0)}}
@keyframes ring{0%{transform:scale(.45);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.scroll-note{position:absolute;right:28px;bottom:28px;z-index:6;background:var(--navy);color:white;border-radius:26px;padding:20px;max-width:330px;box-shadow:0 20px 52px rgba(7,20,39,.20)}
.scroll-note span{color:rgba(255,255,255,.72)}
.section{padding:110px 28px}
.wrap{width:min(1280px,100%);margin:0 auto}
.section-head{display:grid;grid-template-columns:.58fr 1.42fr;gap:24px;align-items:end;margin-bottom:34px}
.num{font-family:Orbitron,sans-serif;color:var(--gold);font-weight:900}
.section h2{font-size:clamp(2.35rem,5.8vw,6.2rem);line-height:.9;letter-spacing:-.075em;margin:0}
.section-head p{font-size:1.1rem;color:var(--muted);max-width:720px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{min-height:240px;background:white;border:1px solid var(--line);border-radius:34px;padding:26px;box-shadow:0 18px 50px rgba(18,39,69,.06);transition:.25s ease;position:relative;overflow:hidden;text-decoration:none}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 70px rgba(18,39,69,.10);border-color:rgba(191,161,95,.40)}
.card .icon{font-size:2.3rem;margin-bottom:24px;display:inline-block;animation:iconFloat 4.2s ease-in-out infinite}
@keyframes iconFloat{50%{transform:translateY(-8px) rotate(-2deg)}}
.card h3{font-size:1.35rem;margin:0 0 12px}.card p{color:var(--muted);margin:0}
.error-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:stretch}
.error-panel{background:var(--navy);color:white;border-radius:36px;padding:34px;min-height:470px}
.error-panel p{color:rgba(255,255,255,.72)}
.error-form{background:white;border:1px solid var(--line);border-radius:36px;padding:30px;box-shadow:0 20px 60px rgba(18,39,69,.08)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}.field label{display:block;font-weight:900;margin-bottom:7px}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;font:inherit;color:var(--navy)}textarea{min-height:100px;resize:vertical}
.result{margin:16px 0;background:#f7f3ea;border:1px solid rgba(191,161,95,.32);border-radius:22px;padding:18px;color:var(--navy)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:var(--navy);color:white;min-height:270px;border-radius:34px;padding:28px;position:relative;overflow:hidden}
.step b{font-family:Orbitron,sans-serif;color:var(--gold);font-size:2rem}.step p{color:rgba(255,255,255,.72)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.about-block{background:white;border:1px solid var(--line);border-radius:36px;padding:36px;min-height:360px}.about-block.dark{background:var(--navy);color:white}.about-block.dark p{color:rgba(255,255,255,.72)}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:white;border:1px solid var(--line);border-radius:34px;padding:26px;min-height:260px}.stars{color:var(--gold);font-size:1.2rem}
.faq-list{display:grid;gap:12px}details{background:white;border:1px solid var(--line);border-radius:24px;padding:22px}summary{font-weight:900;cursor:pointer}
.resources{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource{display:block;text-decoration:none;background:white;border:1px solid var(--line);border-radius:34px;padding:28px;min-height:240px;transition:.25s ease}.resource:hover{transform:translateY(-6px);border-color:var(--gold)}
.footer{padding:70px 28px;background:var(--navy);color:white}.footer-grid{width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:24px}.footer h2{font-size:clamp(2.8rem,7vw,7rem);line-height:.9;letter-spacing:-.08em;margin:0}.footer p{color:rgba(255,255,255,.70)}
.float-blog{position:fixed;right:22px;bottom:92px;z-index:999;background:var(--navy);color:white;text-decoration:none;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:0 18px 44px rgba(7,20,39,.24)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:1050px){.hero-grid,.error-shell,.about-grid,.section-head,.footer-grid{grid-template-columns:1fr}.cards,.steps,.reviews,.resources{grid-template-columns:1fr 1fr}.hero-copy,.map-stage{min-height:auto}.map-stage{min-height:720px}.menu{display:none}}
@media(max-width:640px){.header{height:74px}.nav{padding:0 12px}.brand svg{width:40px;height:40px}.brand span{font-size:.78rem}.phone{font-size:.78rem}.header-cta .btn{padding:9px 10px;font-size:.76rem}.hero{padding:94px 14px 28px}.hero-copy{padding:28px;border-radius:28px}.map-stage{min-height:820px;border-radius:28px}.area-pin{font-size:.62rem;padding:6px 8px 6px 18px}.section{padding:70px 14px}.cards,.steps,.reviews,.resources,.fields{grid-template-columns:1fr}}

/* Larger animated header/logo */
.header{
  height:96px!important;
}
.nav{
  padding:0 34px!important;
}
.brand svg{
  width:64px!important;
  height:64px!important;
  animation:pulseLogoFloat 4.8s ease-in-out infinite;
  filter:drop-shadow(0 10px 22px rgba(18,39,69,.12));
}
.brand span{
  font-size:1.12rem;
}
.brand small{
  font-size:.68rem!important;
}
.brand svg path:last-child{
  stroke-dasharray:180;
  stroke-dashoffset:180;
  animation:pulseLogoLine 3.8s ease-in-out infinite;
}
@keyframes pulseLogoFloat{
  0%,100%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-3px) scale(1.035)}
}
@keyframes pulseLogoLine{
  0%{stroke-dashoffset:180;filter:drop-shadow(0 0 0 rgba(191,161,95,0))}
  45%{stroke-dashoffset:0;filter:drop-shadow(0 0 8px rgba(191,161,95,.75))}
  100%{stroke-dashoffset:-180;filter:drop-shadow(0 0 0 rgba(191,161,95,0))}
}
.hero{
  padding-top:138px!important;
}

/* More chaotic premium pulse line */
.pulse-line{
  height:72px!important;
  margin:30px 0!important;
  position:relative;
}
.pulse-line svg{
  width:230%!important;
  animation:pulseChaosSweep 5.8s cubic-bezier(.4,0,.2,1) infinite!important;
}
.pulse-line:after{
  content:"";
  position:absolute;
  left:0;right:0;top:50%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(191,161,95,.45),transparent);
  animation:pulseGlowWave 3.2s ease-in-out infinite;
}
@keyframes pulseChaosSweep{
  0%{transform:translateX(-52%) scaleY(1)}
  18%{transform:translateX(-43%) scaleY(.86)}
  31%{transform:translateX(-35%) scaleY(1.16)}
  49%{transform:translateX(-28%) scaleY(.95)}
  70%{transform:translateX(-16%) scaleY(1.08)}
  100%{transform:translateX(0) scaleY(1)}
}
@keyframes pulseGlowWave{
  0%,100%{opacity:.18;transform:translateY(-50%) scaleX(.55)}
  45%{opacity:.9;transform:translateY(-50%) scaleX(1)}
  70%{opacity:.35;transform:translateY(-50%) scaleX(.75)}
}

/* Floating service CTA, subtle movement */
.floating-service-cta{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2500;
  width:310px;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  border:1px solid rgba(18,39,69,.12);
  box-shadow:0 24px 70px rgba(18,39,69,.20);
  padding:18px;
  color:#122745;
  animation:floatingCtaDrift 6s ease-in-out infinite;
}
.floating-service-cta:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:28px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(191,161,95,.45),transparent 36%,rgba(18,39,69,.10));
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  padding:1px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.floating-service-cta strong{
  display:block;
  font-size:1.02rem;
  margin-bottom:4px;
}
.floating-service-cta span{
  display:block;
  color:#64748b;
  font-size:.84rem;
  line-height:1.35;
  margin-bottom:12px;
}
.floating-service-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.floating-service-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:999px;
  padding:10px 11px;
  font-size:.82rem;
  font-weight:900;
}
.floating-service-actions a:first-child{
  background:#bfa15f;
  color:white;
}
.floating-service-actions a:last-child{
  background:#122745;
  color:white;
}
@keyframes floatingCtaDrift{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

/* More concise premium appliance tags/cards */
.cards.appliance-simple{
  display:grid!important;
  grid-template-columns:repeat(6,1fr)!important;
  gap:14px!important;
}
.appliance-simple .card{
  min-height:150px!important;
  border-radius:28px!important;
  padding:22px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  background:rgba(255,255,255,.94)!important;
}
.appliance-simple .card .icon{
  font-size:2.05rem!important;
  margin:0 0 12px!important;
}
.appliance-simple .card h3{
  font-size:1.02rem!important;
  margin:0!important;
}
.appliance-simple .card p{
  display:none!important;
}
.appliance-simple .card:hover{
  transform:translateY(-5px) scale(1.025)!important;
}
@media(max-width:1050px){
  .cards.appliance-simple{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:640px){
  .header{height:82px!important}
  .nav{padding:0 12px!important}
  .brand svg{width:48px!important;height:48px!important}
  .brand span{font-size:.86rem!important}
  .hero{padding-top:104px!important}
  .cards.appliance-simple{grid-template-columns:repeat(2,1fr)!important}
  .floating-service-cta{
    left:12px;
    right:12px;
    bottom:14px;
    width:auto;
    padding:14px;
    border-radius:24px;
  }
  .floating-service-cta span{display:none}
}

.float-blog{bottom:205px!important}
@media(max-width:640px){.float-blog{bottom:118px!important;right:14px!important}}

/* Keep the current translucent header style and make it portable */
.header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:96px!important;
  z-index:3000!important;
  background:rgba(251,250,247,.78)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(18,39,69,.09)!important;
}
body{padding-top:0}

/* More natural chaotic heartbeat line */
.pulse-line{
  height:86px!important;
  margin:24px 0 34px!important;
}
.pulse-line svg{
  width:280%!important;
  animation:chaoticHeartbeatSlide 6.6s cubic-bezier(.65,0,.35,1) infinite!important;
}
.pulse-line path.main-pulse{
  stroke-dasharray:240 38 90 52 420 28 130 60;
  animation:chaoticPulseDash 4.8s ease-in-out infinite;
}
@keyframes chaoticHeartbeatSlide{
  0%{transform:translateX(-57%) scaleY(1)}
  9%{transform:translateX(-51%) scaleY(.96)}
  21%{transform:translateX(-45%) scaleY(1.2)}
  35%{transform:translateX(-37%) scaleY(.84)}
  48%{transform:translateX(-30%) scaleY(1.05)}
  64%{transform:translateX(-22%) scaleY(1.17)}
  82%{transform:translateX(-10%) scaleY(.92)}
  100%{transform:translateX(0) scaleY(1)}
}
@keyframes chaoticPulseDash{
  0%{stroke-dashoffset:0;filter:drop-shadow(0 0 0 rgba(191,161,95,0))}
  38%{stroke-dashoffset:-90;filter:drop-shadow(0 0 10px rgba(191,161,95,.60))}
  64%{stroke-dashoffset:-185;filter:drop-shadow(0 0 4px rgba(191,161,95,.35))}
  100%{stroke-dashoffset:-310;filter:drop-shadow(0 0 0 rgba(191,161,95,0))}
}

/* Appliance tiles closer to the screenshot: premium, readable, icon top, text, maintenance link */
.cards.appliance-simple{
  grid-template-columns:repeat(4,1fr)!important;
  gap:22px!important;
}
.appliance-simple .card{
  min-height:280px!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  padding:28px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.82)!important;
  overflow:hidden!important;
}
.appliance-simple .card:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-34px;
  width:122px;
  height:122px;
  border-radius:50%;
  background:rgba(18,39,69,.08);
}
.appliance-simple .card .icon{
  font-size:2.25rem!important;
  margin:0 0 34px!important;
  filter:none!important;
}
.appliance-simple .card h3{
  font-size:1.2rem!important;
  margin:0 0 12px!important;
}
.appliance-simple .card p{
  display:block!important;
  color:#64748b!important;
  line-height:1.55!important;
  font-size:.94rem!important;
}
.appliance-simple .card p:after{
  content:"Maintenance tips  →";
  display:block;
  margin-top:18px;
  color:#122745;
  font-weight:900;
}
.chaos-divider{
  width:min(860px,90%);
  margin:0 auto 28px;
  height:74px;
  overflow:hidden;
  opacity:.78;
}
.chaos-divider svg{
  width:220%;
  height:100%;
  animation:chaoticHeartbeatSlide 7.5s cubic-bezier(.65,0,.35,1) infinite;
}
@media(max-width:1050px){
  .cards.appliance-simple{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:640px){
  .cards.appliance-simple{grid-template-columns:1fr!important}
  .appliance-simple .card{min-height:240px!important}
}

/* Restore glowing premium appliance cards */
.cards.appliance-simple .card{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,244,238,.88))!important;
  border:1px solid rgba(191,161,95,.18)!important;
  box-shadow:
    0 10px 30px rgba(18,39,69,.06),
    inset 0 1px 0 rgba(255,255,255,.75)!important;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease!important;
}
.cards.appliance-simple .card:hover{
  transform:translateY(-8px)!important;
  border-color:rgba(191,161,95,.45)!important;
  box-shadow:
    0 24px 48px rgba(18,39,69,.12),
    0 0 0 1px rgba(191,161,95,.12),
    0 0 34px rgba(191,161,95,.18)!important;
}
.cards.appliance-simple .card:before{
  content:"";
  position:absolute;
  inset:auto -20% -60% auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(191,161,95,.18),transparent 68%);
  opacity:0;
  transition:opacity .35s ease;
}
.cards.appliance-simple .card:hover:before{opacity:1}

/* Animated appliance icons */
.cards.appliance-simple .card .icon{
  width:62px;
  height:62px;
  border-radius:18px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(191,161,95,.22);
  box-shadow:
    0 8px 18px rgba(18,39,69,.08),
    0 0 18px rgba(191,161,95,.10);
  animation:floatIcon 4.6s ease-in-out infinite;
  position:relative;
  overflow:hidden;
}
.cards.appliance-simple .card .icon:after{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%);
  transform:translateX(-120%) rotate(12deg);
  animation:iconShine 5.8s linear infinite;
}
.cards.appliance-simple .card:nth-child(2n) .icon{animation-delay:.7s}
.cards.appliance-simple .card:nth-child(3n) .icon{animation-delay:1.4s}
.cards.appliance-simple .card:nth-child(4n) .icon{animation-delay:2.1s}

@keyframes floatIcon{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 8px 18px rgba(18,39,69,.08),0 0 18px rgba(191,161,95,.10);
  }
  50%{
    transform:translateY(-5px) scale(1.04);
    box-shadow:0 16px 28px rgba(18,39,69,.14),0 0 28px rgba(191,161,95,.22);
  }
}
@keyframes iconShine{
  0%{transform:translateX(-140%) rotate(12deg)}
  100%{transform:translateX(220%) rotate(12deg)}
}

/* Custom SVG appliance icons in Pulse logo style */
.pulse-appliance-icon{
  width:72px;
  height:72px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(191,161,95,.25);
  box-shadow:0 10px 24px rgba(18,39,69,.08),0 0 24px rgba(191,161,95,.12);
  margin-bottom:28px;
  position:relative;
  overflow:hidden;
  animation:iconBreath 4.8s ease-in-out infinite;
}
.pulse-appliance-icon svg{
  width:58px;
  height:58px;
  overflow:visible;
}
.pulse-appliance-icon .line{
  fill:none;
  stroke:#122745;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pulse-appliance-icon .thin{
  stroke-width:2.8;
}
.pulse-appliance-icon .dot{
  fill:#122745;
}
.pulse-appliance-icon .pulse-mini{
  fill:none;
  stroke:#bfa15f;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:160;
  stroke-dashoffset:160;
  animation:miniPulseDraw 3.8s ease-in-out infinite;
}
.pulse-appliance-icon .wave,
.pulse-appliance-icon .water{
  fill:none;
  stroke:#bfa15f;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:90;
  stroke-dashoffset:90;
  animation:miniPulseDraw 3.2s ease-in-out infinite;
}
.pulse-appliance-icon .water2{animation-delay:.5s}
.pulse-appliance-icon .spin{
  fill:none;
  stroke:#bfa15f;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:44px 53px;
  animation:spinPulse 4.4s ease-in-out infinite;
}
.pulse-appliance-icon .heat{
  fill:none;
  stroke:#bfa15f;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:heatRise 2.8s ease-in-out infinite;
}
.pulse-appliance-icon .cube{
  fill:rgba(191,161,95,.14);
  stroke:#bfa15f;
  stroke-width:2.5;
  animation:cubeFloat 3.4s ease-in-out infinite;
}
.pulse-appliance-icon .cube2{animation-delay:.7s}
.pulse-appliance-icon:after{
  content:"";
  position:absolute;
  inset:-55%;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.86) 50%,transparent 65%);
  transform:translateX(-140%) rotate(12deg);
  animation:iconLightSweep 5.8s linear infinite;
}
.cards.appliance-simple .card:nth-child(2n) .pulse-appliance-icon{animation-delay:.55s}
.cards.appliance-simple .card:nth-child(3n) .pulse-appliance-icon{animation-delay:1.1s}
.cards.appliance-simple .card:nth-child(4n) .pulse-appliance-icon{animation-delay:1.65s}

@keyframes iconBreath{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 10px 24px rgba(18,39,69,.08),0 0 24px rgba(191,161,95,.12)}
  50%{transform:translateY(-6px) scale(1.035);box-shadow:0 18px 34px rgba(18,39,69,.13),0 0 34px rgba(191,161,95,.23)}
}
@keyframes miniPulseDraw{
  0%{stroke-dashoffset:160;opacity:.45}
  48%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-160;opacity:.55}
}
@keyframes spinPulse{
  0%,100%{transform:rotate(0deg);opacity:.75}
  50%{transform:rotate(18deg);opacity:1}
}
@keyframes heatRise{
  0%,100%{transform:translateY(0);opacity:.6}
  50%{transform:translateY(-4px);opacity:1}
}
@keyframes cubeFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes iconLightSweep{
  0%{transform:translateX(-145%) rotate(12deg)}
  100%{transform:translateX(220%) rotate(12deg)}
}

/* Cleaner glowing appliance tiles */
.cards.appliance-simple .card{
  background:
    radial-gradient(circle at 88% 4%,rgba(191,161,95,.13),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,244,238,.88))!important;
  border:1px solid rgba(191,161,95,.20)!important;
  box-shadow:0 18px 48px rgba(18,39,69,.07), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.cards.appliance-simple .card:hover{
  border-color:rgba(191,161,95,.52)!important;
  box-shadow:0 28px 70px rgba(18,39,69,.14),0 0 38px rgba(191,161,95,.22)!important;
}
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  transform:translateY(-8px) scale(1.055);
}

/* Animated booking button/card bottom right */
.floating-service-cta{
  width:330px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(191,161,95,.22)!important;
  animation:bookingCtaScrollFloat 6s ease-in-out infinite!important;
}
.floating-service-cta strong:before{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-right:8px;
  border-radius:50%;
  background:#2f8f5b;
  box-shadow:0 0 0 0 rgba(47,143,91,.45);
  animation:greenPulse 1.8s ease-out infinite;
}
.floating-service-cta:after{
  content:"";
  position:absolute;
  right:16px;
  top:14px;
  width:36px;
  height:18px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 35' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 18 H30 L38 6 L48 31 L58 13 L66 19 H100' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.75;
  animation:ctaPulseLine 3.4s ease-in-out infinite;
}
@keyframes bookingCtaScrollFloat{
  0%,100%{transform:translateY(0) translateX(0)}
  33%{transform:translateY(-8px) translateX(-3px)}
  66%{transform:translateY(-3px) translateX(3px)}
}
@keyframes greenPulse{
  0%{box-shadow:0 0 0 0 rgba(47,143,91,.45)}
  80%{box-shadow:0 0 0 10px rgba(47,143,91,0)}
  100%{box-shadow:0 0 0 0 rgba(47,143,91,0)}
}
@keyframes ctaPulseLine{
  0%,100%{transform:translateX(0) scaleX(.85);opacity:.45}
  50%{transform:translateX(-6px) scaleX(1.08);opacity:1}
}
@media(max-width:640px){
  .floating-service-cta{width:auto!important}
  .pulse-appliance-icon{width:64px;height:64px}
  .pulse-appliance-icon svg{width:52px;height:52px}
}

/* Wider, more premium top header */
.header{
  height:112px!important;
}
.nav{
  padding:0 42px!important;
}
.brand svg{
  width:78px!important;
  height:78px!important;
}
.brand span{
  font-size:1.34rem!important;
  line-height:.98!important;
}
.brand small{
  font-size:.74rem!important;
  margin-top:6px!important;
}
.phone{
  font-size:1.18rem!important;
  letter-spacing:.02em;
}
.header-cta .btn{
  padding:14px 22px!important;
  font-size:.98rem!important;
}
.menu{
  font-size:.84rem!important;
  gap:22px!important;
}

/* First section now starts lower because the header is larger */
.first-services{
  padding-top:170px!important;
  min-height:calc(100vh - 40px);
  display:flex;
  align-items:center;
}
.first-services .section-head{
  margin-bottom:42px!important;
}
.first-services h2{
  font-size:clamp(3.2rem,7vw,7.2rem)!important;
}
.first-services .cards.appliance-simple{
  grid-template-columns:repeat(4,1fr)!important;
}

/* Map becomes second section and should not feel like duplicate hero top */
.service-map-second{
  min-height:auto!important;
  padding-top:92px!important;
  padding-bottom:82px!important;
}

/* Keep header logo animation strong */
.brand svg{
  animation:pulseLogoFloat 4.4s ease-in-out infinite, logoGlow 3.8s ease-in-out infinite!important;
}
@keyframes logoGlow{
  0%,100%{filter:drop-shadow(0 10px 22px rgba(18,39,69,.12))}
  50%{filter:drop-shadow(0 12px 28px rgba(191,161,95,.28))}
}

@media(max-width:1050px){
  .first-services .cards.appliance-simple{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:640px){
  .header{
    height:88px!important;
  }
  .nav{
    padding:0 12px!important;
  }
  .brand svg{
    width:54px!important;
    height:54px!important;
  }
  .brand span{
    font-size:.9rem!important;
  }
  .phone{
    font-size:.9rem!important;
  }
  .header-cta .btn{
    padding:9px 11px!important;
    font-size:.78rem!important;
  }
  .first-services{
    padding-top:118px!important;
  }
  .first-services .cards.appliance-simple{
    grid-template-columns:1fr!important;
  }
  .service-map-second{
    padding-top:56px!important;
  }
}

/* Keep original background/grid. Only balance appliance tiles and add subtle Pulse gold glints. */
.cards.appliance-simple{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.cards.appliance-simple .card{
  min-height:260px!important;
  height:100%!important;
  padding:28px!important;
  border-radius:30px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  position:relative!important;
  overflow:hidden!important;
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease!important;
}
.cards.appliance-simple .card:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(191,161,95,.48)!important;
  box-shadow:
    0 24px 64px rgba(18,39,69,.12),
    0 0 34px rgba(191,161,95,.16)!important;
}
.cards.appliance-simple .card::before{
  content:"";
  position:absolute;
  inset:-60% auto auto -60%;
  width:180%;
  height:180%;
  background:linear-gradient(120deg,transparent 38%,rgba(191,161,95,.22) 50%,transparent 62%);
  transform:translateX(-80%) rotate(10deg);
  opacity:0;
  pointer-events:none;
}
.cards.appliance-simple .card:hover::before{
  opacity:1;
  animation:tileGoldSweep 1.35s ease forwards;
}
@keyframes tileGoldSweep{
  from{transform:translateX(-80%) rotate(10deg)}
  to{transform:translateX(55%) rotate(10deg)}
}

/* Uniform icon sizes, preserving previous animated icon style */
.cards.appliance-simple .card .icon,
.cards.appliance-simple .card .pulse-appliance-icon{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  margin:0 0 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:20px!important;
  box-shadow:
    0 10px 22px rgba(18,39,69,.08),
    0 0 22px rgba(191,161,95,.12)!important;
}
.cards.appliance-simple .card .icon{
  font-size:2.15rem!important;
}
.cards.appliance-simple .card:hover .icon,
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  box-shadow:
    0 16px 30px rgba(18,39,69,.12),
    0 0 30px rgba(191,161,95,.24)!important;
}
.cards.appliance-simple .card h3{
  font-size:1.16rem!important;
  line-height:1.22!important;
  margin:0 0 10px!important;
}
.cards.appliance-simple .card p{
  display:block!important;
  font-size:.93rem!important;
  line-height:1.52!important;
  color:#64748b!important;
  margin:0!important;
}

/* 3x2 for 6 tiles on desktop, 2 columns on tablet, 1 on mobile */
@media(max-width:1050px){
  .cards.appliance-simple{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .cards.appliance-simple{
    grid-template-columns:1fr!important;
  }
  .cards.appliance-simple .card{
    min-height:230px!important;
  }
}

/* Slightly larger premium header */
.header{
  height:122px!important;
}
.nav{
  padding:0 48px!important;
}
.brand svg{
  width:86px!important;
  height:86px!important;
}
.brand span{
  font-size:1.42rem!important;
  line-height:.98!important;
}
.brand small{
  font-size:.78rem!important;
  margin-top:6px!important;
}
.phone{
  font-size:1.26rem!important;
  letter-spacing:.02em!important;
}
.header-cta{
  gap:14px!important;
}
.header-cta .btn{
  padding:15px 24px!important;
  font-size:1.02rem!important;
}

/* Compensate for taller header */
.first-services{
  padding-top:184px!important;
}

/* Exact 3 x 2 appliance tile layout on desktop */
.cards.appliance-simple{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cards.appliance-simple .card{
  min-height:275px!important;
  height:100%!important;
  position:relative!important;
  overflow:hidden!important;
}

/* Clear yellow-gold focus/hover shine */
.cards.appliance-simple .card::before{
  content:"";
  position:absolute;
  inset:-75% auto auto -75%;
  width:220%;
  height:220%;
  background:linear-gradient(
    120deg,
    transparent 38%,
    rgba(191,161,95,.10) 45%,
    rgba(191,161,95,.44) 50%,
    rgba(255,255,255,.75) 53%,
    rgba(191,161,95,.20) 58%,
    transparent 66%
  );
  transform:translateX(-70%) rotate(12deg);
  opacity:0;
  pointer-events:none;
  z-index:1;
}
.cards.appliance-simple .card:hover::before,
.cards.appliance-simple .card:focus-within::before{
  opacity:1;
  animation:strongGoldTileSweep 1.25s ease forwards;
}
@keyframes strongGoldTileSweep{
  from{transform:translateX(-76%) rotate(12deg)}
  to{transform:translateX(48%) rotate(12deg)}
}
.cards.appliance-simple .card > *{
  position:relative;
  z-index:2;
}
.cards.appliance-simple .card:hover,
.cards.appliance-simple .card:focus-within{
  border-color:rgba(191,161,95,.62)!important;
  box-shadow:
    0 30px 76px rgba(18,39,69,.14),
    0 0 0 1px rgba(191,161,95,.18),
    0 0 46px rgba(191,161,95,.28)!important;
}
.cards.appliance-simple .card:hover h3,
.cards.appliance-simple .card:focus-within h3{
  color:#122745!important;
  text-shadow:0 0 18px rgba(191,161,95,.20);
}
.cards.appliance-simple .card:hover .icon,
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  transform:translateY(-6px) scale(1.045)!important;
  box-shadow:
    0 18px 34px rgba(18,39,69,.14),
    0 0 36px rgba(191,161,95,.34)!important;
}

/* Responsive */
@media(max-width:1050px){
  .cards.appliance-simple{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .header{
    height:92px!important;
  }
  .nav{
    padding:0 12px!important;
  }
  .brand svg{
    width:58px!important;
    height:58px!important;
  }
  .brand span{
    font-size:.94rem!important;
  }
  .brand small{
    font-size:.55rem!important;
  }
  .phone{
    font-size:.92rem!important;
  }
  .header-cta .btn{
    padding:10px 12px!important;
    font-size:.80rem!important;
  }
  .first-services{
    padding-top:124px!important;
  }
  .cards.appliance-simple{
    grid-template-columns:1fr!important;
  }
}

/* Stronger premium header */
.header{
  height:132px!important;
}
.nav{
  padding:0 54px!important;
}
.brand svg{
  width:96px!important;
  height:96px!important;
}
.brand span{
  font-size:1.52rem!important;
}
.brand small{
  font-size:.82rem!important;
}
.phone{
  font-size:1.38rem!important;
  font-weight:900!important;
}
.header-cta .btn{
  padding:16px 28px!important;
  font-size:1.08rem!important;
}
.first-services{
  padding-top:198px!important;
}

/* Strict 3 + 3 tile layout */
.cards.appliance-simple{
  display:grid!important;
  grid-template-columns:repeat(3, 1fr)!important;
  grid-auto-rows:1fr!important;
  gap:26px!important;
  max-width:1160px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cards.appliance-simple .card{
  min-height:285px!important;
  height:100%!important;
  border-radius:32px!important;
  position:relative!important;
  overflow:hidden!important;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    box-shadow .45s cubic-bezier(.22,1,.36,1),
    border-color .45s cubic-bezier(.22,1,.36,1),
    background .45s ease!important;
}

/* Very soft dirty-gold glow */
.cards.appliance-simple .card:hover,
.cards.appliance-simple .card:focus-within{
  transform:translateY(-6px)!important;
  border-color:rgba(172,143,84,.42)!important;
  box-shadow:
    0 24px 58px rgba(18,39,69,.11),
    0 0 30px rgba(172,143,84,.16),
    inset 0 0 0 1px rgba(172,143,84,.10)!important;
}

/* Gentle golden shimmer, not harsh */
.cards.appliance-simple .card::before{
  content:"";
  position:absolute;
  inset:-80% auto auto -90%;
  width:210%;
  height:210%;
  background:linear-gradient(
    120deg,
    transparent 40%,
    rgba(172,143,84,.08) 47%,
    rgba(191,161,95,.22) 51%,
    rgba(255,255,255,.38) 54%,
    rgba(172,143,84,.10) 59%,
    transparent 67%
  );
  transform:translateX(-78%) rotate(12deg);
  opacity:0;
  pointer-events:none;
  z-index:1;
}
.cards.appliance-simple .card:hover::before{
  opacity:1;
  animation:softDirtyGoldSweep 1.8s ease forwards;
}
@keyframes softDirtyGoldSweep{
  from{transform:translateX(-80%) rotate(12deg)}
  to{transform:translateX(44%) rotate(12deg)}
}

/* Tiny pulse accent inside tile on hover */
.cards.appliance-simple .card::after{
  content:"";
  position:absolute;
  right:24px;
  bottom:22px;
  width:74px;
  height:26px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H38 L48 9 L61 35 L73 16 L84 22 H140' fill='none' stroke='%23ac8f54' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .45s ease, transform .45s ease;
  z-index:2;
}
.cards.appliance-simple .card:hover::after{
  opacity:.34;
  transform:translateY(0);
  animation:tilePulseBreath 2.4s ease-in-out infinite;
}
@keyframes tilePulseBreath{
  0%,100%{opacity:.24;transform:translateY(0) scaleX(.94)}
  50%{opacity:.46;transform:translateY(-2px) scaleX(1.04)}
}

.cards.appliance-simple .card > *{
  position:relative;
  z-index:3;
}

/* Icon glow also softer */
.cards.appliance-simple .card:hover .icon,
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  transform:translateY(-5px) scale(1.035)!important;
  box-shadow:
    0 16px 30px rgba(18,39,69,.12),
    0 0 24px rgba(172,143,84,.22)!important;
}

/* Keep 3 columns until tablet; then 2/1 */
@media(max-width:1050px){
  .cards.appliance-simple{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:640px){
  .header{
    height:96px!important;
  }
  .nav{
    padding:0 12px!important;
  }
  .brand svg{
    width:62px!important;
    height:62px!important;
  }
  .brand span{
    font-size:.98rem!important;
  }
  .brand small{
    font-size:.56rem!important;
  }
  .phone{
    font-size:.96rem!important;
  }
  .header-cta .btn{
    padding:10px 12px!important;
    font-size:.82rem!important;
  }
  .first-services{
    padding-top:132px!important;
  }
  .cards.appliance-simple{
    grid-template-columns:1fr!important;
  }
}

/* Tiny non-intrusive moving service request widget */
.tiny-service-widget{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:2600;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:245px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(14px);
  border:1px solid rgba(172,143,84,.22);
  box-shadow:
    0 16px 38px rgba(18,39,69,.14),
    0 0 20px rgba(172,143,84,.08);
  text-decoration:none;
  color:#122745;
  animation:tinyWidgetFloat 6s ease-in-out infinite;
}
.tiny-service-widget .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#bfa15f;
  box-shadow:0 0 0 0 rgba(191,161,95,.42);
  animation:tinyDotPulse 1.9s ease-out infinite;
  flex:0 0 auto;
}
.tiny-service-widget .text{
  display:flex;
  flex-direction:column;
  line-height:1.12;
  min-width:0;
}
.tiny-service-widget strong{
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}
.tiny-service-widget span{
  font-size:.68rem;
  color:#64748b;
  white-space:nowrap;
}
.tiny-service-widget .mini-pulse{
  width:38px;
  height:18px;
  flex:0 0 auto;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 110 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 H28 L36 9 L47 33 L58 14 L68 21 H110' fill='none' stroke='%23ac8f54' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.65;
  animation:tinyPulseMove 3.8s ease-in-out infinite;
}
.tiny-service-widget:hover{
  transform:translateY(-4px) scale(1.02);
  border-color:rgba(172,143,84,.45);
  box-shadow:
    0 20px 48px rgba(18,39,69,.18),
    0 0 30px rgba(172,143,84,.18);
}
@keyframes tinyWidgetFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes tinyDotPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}
@keyframes tinyPulseMove{
  0%,100%{transform:translateX(0) scaleX(.92);opacity:.45}
  50%{transform:translateX(-4px) scaleX(1.05);opacity:.85}
}
@media(max-width:640px){
  .tiny-service-widget{
    right:12px;
    bottom:12px;
    max-width:none;
    padding:9px 11px;
  }
  .tiny-service-widget span{
    display:none;
  }
}

/* One-line slogan */
.first-services h2{
  white-space:nowrap!important;
  font-size:clamp(2.4rem,5.6vw,6.2rem)!important;
}
@media(max-width:900px){
  .first-services h2{white-space:normal!important}
}

/* Five appliance tiles in one row on desktop */
.cards.appliance-simple{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cards.appliance-simple .card{
  min-height:250px!important;
  padding:24px!important;
  border-radius:30px!important;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    box-shadow .45s cubic-bezier(.22,1,.36,1),
    border-color .45s cubic-bezier(.22,1,.36,1),
    background .45s ease!important;
}

/* Soft, subtle dirty-gold hover */
.cards.appliance-simple .card:hover,
.cards.appliance-simple .card:focus-within{
  transform:translateY(-5px)!important;
  border-color:rgba(172,143,84,.34)!important;
  box-shadow:
    0 20px 48px rgba(18,39,69,.10),
    0 0 22px rgba(172,143,84,.12)!important;
}
.cards.appliance-simple .card::before{
  content:"";
  position:absolute;
  inset:-80% auto auto -90%;
  width:210%;
  height:210%;
  background:linear-gradient(
    120deg,
    transparent 42%,
    rgba(172,143,84,.07) 48%,
    rgba(191,161,95,.18) 52%,
    rgba(255,255,255,.26) 55%,
    transparent 66%
  );
  transform:translateX(-80%) rotate(12deg);
  opacity:0;
  pointer-events:none;
  z-index:1;
}
.cards.appliance-simple .card:hover::before{
  opacity:1;
  animation:verySoftGoldSweep 1.9s ease forwards;
}
@keyframes verySoftGoldSweep{
  from{transform:translateX(-80%) rotate(12deg)}
  to{transform:translateX(42%) rotate(12deg)}
}
.cards.appliance-simple .card::after{
  content:"";
  position:absolute;
  right:22px;
  bottom:20px;
  width:64px;
  height:23px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H38 L48 9 L61 35 L73 16 L84 22 H140' fill='none' stroke='%23ac8f54' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .5s ease, transform .5s ease;
  z-index:2;
}
.cards.appliance-simple .card:hover::after{
  opacity:.22;
  transform:translateY(0);
}
.cards.appliance-simple .card > *{position:relative;z-index:3}
.cards.appliance-simple .card:hover .icon,
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  transform:translateY(-4px) scale(1.025)!important;
  box-shadow:
    0 14px 28px rgba(18,39,69,.10),
    0 0 20px rgba(172,143,84,.16)!important;
}
.cards.appliance-simple .card h3{
  font-size:1.06rem!important;
}
.cards.appliance-simple .card p{
  font-size:.88rem!important;
}

/* Social floating buttons */
.floating-socials{
  position:fixed;
  left:18px;
  bottom:22px;
  z-index:2600;
  display:flex;
  flex-direction:column;
  gap:10px;
  animation:socialFloat 6.5s ease-in-out infinite;
}
.social-btn{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(14px);
  border:1px solid rgba(172,143,84,.22);
  box-shadow:0 14px 34px rgba(18,39,69,.13),0 0 20px rgba(172,143,84,.08);
  color:#122745;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.social-btn:hover{
  transform:translateY(-3px) scale(1.06);
  border-color:rgba(172,143,84,.42);
  box-shadow:0 18px 42px rgba(18,39,69,.17),0 0 26px rgba(172,143,84,.18);
}
.social-btn svg{
  width:22px;
  height:22px;
}
@keyframes socialFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

/* Compact bottom-right call/request widget */
.tiny-service-widget{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:2600;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:248px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(14px);
  border:1px solid rgba(172,143,84,.22);
  box-shadow:0 16px 38px rgba(18,39,69,.14),0 0 20px rgba(172,143,84,.08);
  text-decoration:none;
  color:#122745;
  animation:tinyWidgetFloat 6s ease-in-out infinite;
}
.tiny-service-widget .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#bfa15f;
  box-shadow:0 0 0 0 rgba(191,161,95,.42);
  animation:tinyDotPulse 1.9s ease-out infinite;
  flex:0 0 auto;
}
.tiny-service-widget .text{
  display:flex;
  flex-direction:column;
  line-height:1.12;
  min-width:0;
}
.tiny-service-widget strong{
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}
.tiny-service-widget span{
  font-size:.68rem;
  color:#64748b;
  white-space:nowrap;
}
.tiny-service-widget .mini-pulse{
  width:38px;
  height:18px;
  flex:0 0 auto;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 110 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 H28 L36 9 L47 33 L58 14 L68 21 H110' fill='none' stroke='%23ac8f54' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.65;
  animation:tinyPulseMove 3.8s ease-in-out infinite;
}
.tiny-service-widget:hover{
  transform:translateY(-4px) scale(1.02);
  border-color:rgba(172,143,84,.45);
  box-shadow:0 20px 48px rgba(18,39,69,.18),0 0 30px rgba(172,143,84,.18);
}
@keyframes tinyWidgetFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes tinyDotPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}
@keyframes tinyPulseMove{
  0%,100%{transform:translateX(0) scaleX(.92);opacity:.45}
  50%{transform:translateX(-4px) scaleX(1.05);opacity:.85}
}

@media(max-width:1200px){
  .cards.appliance-simple{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .cards.appliance-simple{
    grid-template-columns:1fr!important;
  }
  .floating-socials{
    left:12px;
    bottom:78px;
    flex-direction:row;
  }
  .social-btn{
    width:40px;
    height:40px;
  }
  .tiny-service-widget{
    right:12px;
    bottom:12px;
    max-width:none;
    padding:9px 11px;
  }
  .tiny-service-widget span{display:none}
}

/* Shorter spaces between header, first section, and second section */
.first-services{
  padding-top:150px!important;
  padding-bottom:54px!important;
  min-height:auto!important;
}
.service-map-second,
.hero.service-map-second{
  padding-top:48px!important;
  padding-bottom:58px!important;
  min-height:auto!important;
}
.section{
  padding-top:76px!important;
  padding-bottom:76px!important;
}

/* First section: force five appliance icons/cards in one row on desktop */
.cards.appliance-simple{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  max-width:1340px!important;
}
.cards.appliance-simple .card{
  min-height:245px!important;
  padding:22px!important;
}

/* Change the hover glint in first section: softer, slower, more premium dirty-gold */
.cards.appliance-simple .card::before{
  background:linear-gradient(
    115deg,
    transparent 42%,
    rgba(172,143,84,.05) 48%,
    rgba(191,161,95,.16) 52%,
    rgba(255,255,255,.22) 55%,
    rgba(172,143,84,.06) 61%,
    transparent 70%
  )!important;
}
.cards.appliance-simple .card:hover::before{
  animation:subtleIconTileSweep 2.2s ease forwards!important;
}
@keyframes subtleIconTileSweep{
  from{transform:translateX(-82%) rotate(10deg)}
  to{transform:translateX(38%) rotate(10deg)}
}
.cards.appliance-simple .card:hover,
.cards.appliance-simple .card:focus-within{
  box-shadow:
    0 18px 42px rgba(18,39,69,.095),
    0 0 18px rgba(172,143,84,.10)!important;
  border-color:rgba(172,143,84,.30)!important;
}
.cards.appliance-simple .card:hover .icon,
.cards.appliance-simple .card:hover .pulse-appliance-icon{
  box-shadow:
    0 12px 24px rgba(18,39,69,.09),
    0 0 18px rgba(172,143,84,.15)!important;
}

/* FAQ/resources expansion spacing */
.faq-list details{
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.faq-list details:hover{
  border-color:rgba(172,143,84,.26);
  box-shadow:0 12px 28px rgba(18,39,69,.06);
}
.resources{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

@media(max-width:1200px){
  .cards.appliance-simple{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .first-services{padding-top:112px!important}
  .cards.appliance-simple,
  .resources{
    grid-template-columns:1fr!important;
  }
  .section{padding-top:58px!important;padding-bottom:58px!important}
}

/* First screen inspired by provided reference, with Pulse animations */
.reference-home-hero{
  padding-top:138px!important;
  padding-bottom:38px!important;
  background:transparent!important;
}
.reference-hero-card{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  padding:46px 42px 44px;
  border-radius:34px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(18,39,69,.08);
  box-shadow:0 22px 70px rgba(18,39,69,.07);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.reference-hero-card:before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:28px;
  border:1px solid rgba(18,39,69,.05);
  pointer-events:none;
}
.reference-hero-card:after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(191,161,95,.10),transparent 67%);
  animation:softHeroGlow 8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes softHeroGlow{
  0%,100%{opacity:.42;transform:translate(-50%,-50%) scale(.92)}
  50%{opacity:.8;transform:translate(-50%,-50%) scale(1.08)}
}
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(191,161,95,.30);
  color:#ac8f54;
  background:rgba(255,255,255,.70);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  position:relative;
  z-index:2;
  margin-bottom:22px;
}
.badge-shield{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(191,161,95,.45);
  border-radius:50%;
  font-size:.75rem;
  animation:badgePulse 2.7s ease-in-out infinite;
}
@keyframes badgePulse{
  50%{box-shadow:0 0 0 6px rgba(191,161,95,.10)}
}
.reference-hero-card h1{
  position:relative;
  z-index:2;
  margin:0;
  color:#122745;
  font-size:clamp(2.6rem,5vw,5.2rem);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:900;
}
.reference-subtitle{
  position:relative;
  z-index:2;
  max-width:620px;
  margin:22px auto 36px;
  color:#64748b;
  font-size:1.22rem;
  line-height:1.45;
}
.reference-appliance-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.reference-appliance-tile{
  min-height:176px;
  border-radius:28px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(18,39,69,.07);
  box-shadow:0 14px 36px rgba(18,39,69,.06);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#122745;
  position:relative;
  overflow:hidden;
  transition:transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease, border-color .42s ease;
}
.reference-appliance-tile:before{
  content:"";
  position:absolute;
  inset:auto;
  width:118px;
  height:118px;
  border-radius:50%;
  background:rgba(191,161,95,.08);
  top:22px;
  left:50%;
  transform:translateX(-50%);
  transition:.42s ease;
}
.reference-appliance-tile:after{
  content:"";
  position:absolute;
  inset:-70% auto auto -95%;
  width:210%;
  height:210%;
  background:linear-gradient(120deg,transparent 42%,rgba(172,143,84,.07) 48%,rgba(191,161,95,.18) 52%,rgba(255,255,255,.32) 55%,transparent 68%);
  opacity:0;
  transform:translateX(-80%) rotate(12deg);
  pointer-events:none;
}
.reference-appliance-tile:hover{
  transform:translateY(-6px);
  border-color:rgba(172,143,84,.26);
  box-shadow:0 22px 54px rgba(18,39,69,.10),0 0 22px rgba(172,143,84,.10);
}
.reference-appliance-tile:hover:after{
  opacity:1;
  animation:refTileSweep 1.7s ease forwards;
}
.reference-appliance-tile:hover:before{
  background:rgba(191,161,95,.13);
}
@keyframes refTileSweep{
  from{transform:translateX(-80%) rotate(12deg)}
  to{transform:translateX(40%) rotate(12deg)}
}
.ref-icon{
  width:82px;
  height:82px;
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:17px;
  animation:refIconFloat 4.7s ease-in-out infinite;
}
.reference-appliance-tile:nth-child(2n) .ref-icon{animation-delay:.55s}
.reference-appliance-tile:nth-child(3n) .ref-icon{animation-delay:1.1s}
.ref-icon svg{
  width:76px;
  height:76px;
  overflow:visible;
}
.ref-icon svg rect,
.ref-icon svg circle,
.ref-icon svg line{
  fill:none;
  stroke:#122745;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-icon svg .dot{fill:#122745;stroke:none}
.ref-icon svg .gold-mark{
  fill:none;
  stroke:#bfa15f;
  stroke-width:3.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:150;
  stroke-dashoffset:150;
  animation:refGoldDraw 3.6s ease-in-out infinite;
}
.ref-icon svg .gold-delay{animation-delay:.5s}
.reference-appliance-tile strong{
  position:relative;
  z-index:2;
  font-size:1.05rem;
  font-weight:900;
}
@keyframes refIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.025)}
}
@keyframes refGoldDraw{
  0%{stroke-dashoffset:150;opacity:.5}
  48%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-150;opacity:.55}
}
.heat-wave{animation:refHeatWave 3.2s ease-in-out infinite!important}
@keyframes refHeatWave{
  0%,100%{transform:translateY(0);opacity:.55}
  50%{transform:translateY(-4px);opacity:1}
}

/* Move map closer below this card */
.service-map-second,
.hero.service-map-second{
  padding-top:36px!important;
}

@media(max-width:900px){
  .reference-appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reference-hero-card{padding:34px 22px}
}
@media(max-width:560px){
  .reference-home-hero{padding-top:110px!important}
  .reference-appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .reference-appliance-tile{min-height:148px;border-radius:22px}
  .ref-icon{width:66px;height:66px;margin-bottom:10px}
  .ref-icon svg{width:62px;height:62px}
  .reference-appliance-tile strong{font-size:.86rem}
}

/* Quick contact panel at top of first visit */
.quick-contact-panel{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-width:760px;
  margin:0 auto 34px;
}
.quick-contact{
  display:flex;
  align-items:center;
  gap:11px;
  text-align:left;
  text-decoration:none;
  color:#122745;
  padding:13px 15px;
  border-radius:22px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(191,161,95,.20);
  box-shadow:0 10px 26px rgba(18,39,69,.055);
  transition:transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}
.quick-contact:hover{
  transform:translateY(-3px);
  border-color:rgba(172,143,84,.38);
  box-shadow:0 16px 36px rgba(18,39,69,.10),0 0 22px rgba(172,143,84,.12);
}
.quick-contact.primary{
  background:linear-gradient(135deg,rgba(191,161,95,.92),rgba(172,143,84,.92));
  color:white;
}
.quick-contact.primary small{color:rgba(255,255,255,.78)}
.qc-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.74);
  color:#122745;
  font-weight:900;
  flex:0 0 auto;
  animation:qcFloat 4.4s ease-in-out infinite;
}
.primary .qc-icon{background:rgba(255,255,255,.24);color:white}
.quick-contact strong{
  display:block;
  font-size:.88rem;
  font-weight:900;
  line-height:1.05;
}
.quick-contact small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.72rem;
}
.voice-icon{
  box-shadow:0 0 0 0 rgba(191,161,95,.38);
  animation:voicePulse 1.9s ease-out infinite;
}
@keyframes qcFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes voicePulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.38)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

/* Higher-quality first-section icons */
.appliance-svg{
  width:86px!important;
  height:86px!important;
  border-radius:24px;
}
.appliance-svg svg{
  width:82px!important;
  height:82px!important;
}
.appliance-svg .main-line{
  fill:none!important;
  stroke:#122745!important;
  stroke-width:3.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.appliance-svg .thin{stroke-width:2.6!important}
.appliance-svg .handle{stroke-width:2.8!important}
.appliance-svg .dot{fill:#122745!important;stroke:none!important}
.appliance-svg .gold-flow{
  fill:none!important;
  stroke:#bfa15f!important;
  stroke-width:3.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:170;
  stroke-dashoffset:170;
  animation:premiumGoldDraw 3.9s ease-in-out infinite;
}
.appliance-svg .delay{animation-delay:.45s}
.appliance-svg .heat-flow{
  animation:premiumHeat 3.2s ease-in-out infinite!important;
}
.appliance-svg .water-spin{
  animation:premiumGoldDraw 3.4s ease-in-out infinite, waterRock 4.4s ease-in-out infinite;
}
.appliance-svg .snow{
  animation:premiumGoldDraw 4.2s ease-in-out infinite, snowBreath 3.4s ease-in-out infinite;
}
.reference-appliance-tile:hover .appliance-svg{
  transform:translateY(-5px) scale(1.035);
}
@keyframes premiumGoldDraw{
  0%{stroke-dashoffset:170;opacity:.45}
  48%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-170;opacity:.55}
}
@keyframes premiumHeat{
  0%,100%{transform:translateY(0);opacity:.55;stroke-dashoffset:170}
  50%{transform:translateY(-5px);opacity:1;stroke-dashoffset:0}
}
@keyframes waterRock{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(2px)}
}
@keyframes snowBreath{
  0%,100%{transform:scale(.96);transform-origin:48px 58px}
  50%{transform:scale(1.04);transform-origin:48px 58px}
}

/* Mobile: contact choices become very easy to tap */
@media(max-width:760px){
  .quick-contact-panel{
    grid-template-columns:1fr;
    gap:9px;
    margin-bottom:26px;
  }
  .quick-contact{
    padding:12px 14px;
    border-radius:18px;
  }
  .quick-contact strong{font-size:.86rem}
  .quick-contact small{font-size:.70rem}
}

:root{
  --pulse-navy:#122745;
  --pulse-deep:#071427;
  --pulse-gold:#bfa15f;
  --pulse-dirty-gold:#ac8f54;
  --pulse-soft:#fbfaf7;
}

/* Keep original brand background; do NOT override site background. Only polish first section tiles/buttons. */

/* First appliance grid: 3 x 2 desktop and mobile-friendly 3 x 2 where space allows */
.reference-appliance-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  max-width:920px!important;
  margin:0 auto!important;
}
.reference-appliance-tile{
  min-height:148px!important;
  padding:15px 10px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(18,39,69,.08)!important;
  box-shadow:0 12px 30px rgba(18,39,69,.055)!important;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease!important;
  overflow:hidden!important;
}
.reference-appliance-tile:before{
  background:rgba(191,161,95,.07)!important;
}
.reference-appliance-tile:after{
  content:""!important;
  position:absolute!important;
  inset:-90% auto auto -95%!important;
  width:225%!important;
  height:225%!important;
  background:linear-gradient(
    120deg,
    transparent 42%,
    rgba(172,143,84,.05) 48%,
    rgba(191,161,95,.16) 52%,
    rgba(255,255,255,.28) 55%,
    rgba(172,143,84,.07) 60%,
    transparent 70%
  )!important;
  opacity:0!important;
  transform:translateX(-78%) rotate(12deg)!important;
  pointer-events:none!important;
}
.reference-appliance-tile:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(191,161,95,.34)!important;
  box-shadow:0 18px 42px rgba(18,39,69,.09),0 0 22px rgba(191,161,95,.12)!important;
}
.reference-appliance-tile:hover:after{
  opacity:1!important;
  animation:pulseBrandSoftSweep 1.8s ease forwards!important;
}
@keyframes pulseBrandSoftSweep{
  from{transform:translateX(-80%) rotate(12deg)}
  to{transform:translateX(42%) rotate(12deg)}
}

/* Better proportional icons, using only navy + gold */
.ref-icon,
.appliance-svg{
  width:58px!important;
  height:58px!important;
  margin:0 auto 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(191,161,95,.18)!important;
  box-shadow:0 8px 18px rgba(18,39,69,.06),0 0 16px rgba(191,161,95,.08)!important;
}
.ref-icon svg,
.appliance-svg svg{
  width:54px!important;
  height:54px!important;
}
.appliance-svg .main-line,
.ref-icon svg rect,
.ref-icon svg circle,
.ref-icon svg line{
  stroke:var(--pulse-navy)!important;
}
.appliance-svg .gold-flow,
.ref-icon svg .gold-mark,
.ref-icon svg .gold-flow{
  stroke:var(--pulse-gold)!important;
}
.reference-appliance-tile:hover .ref-icon,
.reference-appliance-tile:hover .appliance-svg{
  box-shadow:0 12px 24px rgba(18,39,69,.09),0 0 22px rgba(191,161,95,.18)!important;
  transform:translateY(-3px) scale(1.025)!important;
}
.reference-appliance-tile strong{
  font-size:.92rem!important;
  line-height:1.15!important;
  color:var(--pulse-navy)!important;
}

/* Cooktop icon: make it visually balanced and pretty */
.cooktop-ref svg{
  transform:scale(.96);
}
.cooktop-ref .gold-flow{
  stroke-dasharray:120!important;
  stroke-dashoffset:120!important;
  animation:cooktopGoldFlow 3.4s ease-in-out infinite!important;
}
@keyframes cooktopGoldFlow{
  0%{stroke-dashoffset:120;opacity:.45}
  45%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-120;opacity:.5}
}

/* Top three contact buttons: beautiful hover animation in brand colors */
.quick-contact{
  position:relative!important;
  overflow:hidden!important;
  border-color:rgba(191,161,95,.20)!important;
  transition:transform .34s ease, box-shadow .34s ease, border-color .34s ease!important;
}
.quick-contact:after{
  content:"";
  position:absolute;
  inset:-90% auto auto -90%;
  width:220%;
  height:220%;
  background:linear-gradient(
    120deg,
    transparent 42%,
    rgba(191,161,95,.10) 49%,
    rgba(255,255,255,.34) 53%,
    rgba(172,143,84,.10) 58%,
    transparent 68%
  );
  transform:translateX(-80%) rotate(12deg);
  opacity:0;
  pointer-events:none;
}
.quick-contact:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(191,161,95,.38)!important;
  box-shadow:0 18px 42px rgba(18,39,69,.10),0 0 24px rgba(191,161,95,.13)!important;
}
.quick-contact:hover:after{
  opacity:1;
  animation:contactBrandSweep 1.45s ease forwards;
}
.quick-contact.primary:hover{
  box-shadow:0 18px 42px rgba(18,39,69,.14),0 0 30px rgba(191,161,95,.22)!important;
}
.quick-contact:hover .qc-icon{
  animation:contactIconPulse 1.1s ease-in-out infinite!important;
}
@keyframes contactBrandSweep{
  from{transform:translateX(-80%) rotate(12deg)}
  to{transform:translateX(46%) rotate(12deg)}
}
@keyframes contactIconPulse{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-2px) scale(1.06)}
}

/* Compact second section without blue/stat cards */
.stat-row,.stats-row,.quick-stats,.metric-row,.metric-card,.stat,[class*="stat"],[class*="metric"]{
  display:none!important;
}
.service-map-second .hero-copy{
  min-height:auto!important;
  padding:28px!important;
}
.service-map-second{
  padding-top:22px!important;
}

/* Small screens: keep full text visible and no color changes */
@media(max-width:760px){
  .reference-appliance-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .reference-appliance-tile{
    min-height:112px!important;
    padding:9px 4px!important;
    border-radius:18px!important;
  }
  .ref-icon,
  .appliance-svg{
    width:46px!important;
    height:46px!important;
    margin-bottom:5px!important;
  }
  .ref-icon svg,
  .appliance-svg svg{
    width:44px!important;
    height:44px!important;
  }
  .reference-appliance-tile strong{
    font-size:.64rem!important;
    line-height:1.12!important;
  }
  .quick-contact-panel{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}

.reference-appliance-tile{
  isolation:isolate!important;
}
.reference-appliance-tile:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:42%!important;
  width:104px!important;
  height:104px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(191,161,95,.16),rgba(191,161,95,.04) 48%,transparent 70%)!important;
  transform:translate(-50%,-50%) scale(.88)!important;
  opacity:.75!important;
  animation:iconHaloBreath 4.6s ease-in-out infinite!important;
  z-index:0!important;
}
.reference-appliance-tile:hover:before{
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1.05)!important;
}
.ref-icon,
.appliance-svg{
  position:relative!important;
  z-index:3!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(191,161,95,.24)!important;
  box-shadow:0 10px 22px rgba(18,39,69,.08),0 0 24px rgba(191,161,95,.12)!important;
  animation:premiumPulseIconFloat 4.9s ease-in-out infinite!important;
}
.reference-appliance-tile:nth-child(2n) .ref-icon,
.reference-appliance-tile:nth-child(2n) .appliance-svg{animation-delay:.45s!important}
.reference-appliance-tile:nth-child(3n) .ref-icon,
.reference-appliance-tile:nth-child(3n) .appliance-svg{animation-delay:.9s!important}

.appliance-svg:after,
.ref-icon:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:58px;
  height:18px;
  transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H38 L48 8 L62 35 L74 15 L86 22 H150' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.0;
  transition:opacity .35s ease, transform .35s ease;
  animation:tinyPulseUnderIcon 3.8s ease-in-out infinite;
}
.reference-appliance-tile:hover .appliance-svg:after,
.reference-appliance-tile:hover .ref-icon:after{
  opacity:.55;
  transform:translateX(-50%) translateY(-2px) scaleX(1.05);
}
.appliance-svg .gold-flow,
.ref-icon svg .gold-mark,
.ref-icon svg .gold-flow{
  stroke:#bfa15f!important;
  stroke-width:3.8!important;
  filter:drop-shadow(0 0 4px rgba(191,161,95,.30));
  stroke-dasharray:180!important;
  stroke-dashoffset:180!important;
  animation:emotionalGoldTrace 3.6s cubic-bezier(.65,0,.35,1) infinite!important;
}
.reference-appliance-tile:hover .appliance-svg .gold-flow,
.reference-appliance-tile:hover .ref-icon svg .gold-mark,
.reference-appliance-tile:hover .ref-icon svg .gold-flow{
  filter:drop-shadow(0 0 8px rgba(191,161,95,.62));
  animation-duration:2.6s!important;
}
.reference-appliance-tile:hover{
  border-color:rgba(191,161,95,.42)!important;
  box-shadow:0 20px 46px rgba(18,39,69,.11),0 0 32px rgba(191,161,95,.16)!important;
}
.reference-appliance-tile:hover .ref-icon,
.reference-appliance-tile:hover .appliance-svg{
  transform:translateY(-6px) scale(1.045)!important;
  box-shadow:0 16px 30px rgba(18,39,69,.12),0 0 34px rgba(191,161,95,.24)!important;
}
@keyframes iconHaloBreath{
  0%,100%{opacity:.36;transform:translate(-50%,-50%) scale(.82)}
  50%{opacity:.78;transform:translate(-50%,-50%) scale(1.03)}
}
@keyframes premiumPulseIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.025)}
}
@keyframes emotionalGoldTrace{
  0%{stroke-dashoffset:180;opacity:.42}
  42%{stroke-dashoffset:0;opacity:1}
  64%{stroke-dashoffset:-20;opacity:.9}
  100%{stroke-dashoffset:-180;opacity:.50}
}
@keyframes tinyPulseUnderIcon{
  0%,100%{opacity:.08;transform:translateX(-50%) scaleX(.85)}
  50%{opacity:.32;transform:translateX(-50%) scaleX(1.08)}
}
#about .section-head p{
  max-width:840px!important;
  font-size:1.12rem!important;
  line-height:1.6!important;
}
#about .about-block p{
  line-height:1.68!important;
}

.pulse-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pulse-review-card{background:rgba(255,255,255,.86);border:1px solid rgba(18,39,69,.08);border-radius:32px;padding:26px;min-height:320px;box-shadow:0 18px 48px rgba(18,39,69,.06);position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.pulse-review-card:before{content:"";position:absolute;right:-45px;top:-45px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,rgba(191,161,95,.14),transparent 68%);animation:reviewGlow 6s ease-in-out infinite}
.pulse-review-card:after{content:"";position:absolute;right:22px;bottom:20px;width:82px;height:26px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H38 L48 8 L62 35 L74 15 L86 22 H150' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.15}
.pulse-review-card:hover{transform:translateY(-6px);border-color:rgba(191,161,95,.32);box-shadow:0 24px 64px rgba(18,39,69,.10),0 0 28px rgba(191,161,95,.12)}
.pulse-review-card.featured,.pulse-review-card.wide{grid-column:span 2}
.review-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;position:relative;z-index:2}
.review-avatar{width:50px;height:50px;border-radius:50%;background:#122745;color:white;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem;flex:0 0 auto;box-shadow:0 10px 24px rgba(18,39,69,.12)}
.review-avatar.green{background:#26651f}.review-avatar.red{background:#c8350d}.review-avatar.dark{background:#17212d}.review-avatar.desert{background:linear-gradient(135deg,#9b5d2c,#d9a25b)}.review-avatar.photo{background:linear-gradient(135deg,#6c5aa7,#d8b28b)}
.review-top strong{display:block;color:#122745;font-size:1.02rem}.review-top span{display:block;color:#64748b;font-size:.74rem;margin-top:3px}
.review-stars{color:#f5b91b;letter-spacing:2px;font-size:1.25rem;margin-bottom:16px;position:relative;z-index:2;text-shadow:0 0 14px rgba(245,185,27,.22)}
.pulse-review-card p{color:#3f4650;font-size:1.02rem;line-height:1.62;margin:0;position:relative;z-index:2}
@keyframes reviewGlow{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:.9;transform:scale(1.08)}}
@media(max-width:980px){.pulse-review-grid{grid-template-columns:1fr}.pulse-review-card.featured,.pulse-review-card.wide{grid-column:auto}}
@media(max-width:560px){.pulse-review-card{padding:22px;border-radius:26px;min-height:auto}.pulse-review-card p{font-size:.95rem}}

.pulse-video-hero{
 position:relative;
 overflow:hidden;
 border-radius:34px;
 margin:20px 0 28px;
 min-height:360px;
 background:#0f1727;
 box-shadow:0 30px 80px rgba(18,39,69,.12);
}
.pulse-video-hero video{
 width:100%;
 height:100%;
 object-fit:cover;
 opacity:.82;
 display:block;
}
.video-overlay{
 position:absolute;
 inset:0;
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 padding:38px;
 background:linear-gradient(to top,rgba(15,23,39,.78),rgba(15,23,39,.08));
}
.video-overlay h3{
 color:white;
 max-width:620px;
 font-size:2rem;
 line-height:1.15;
 margin:12px 0 0;
}
.pulse-chip{
 display:inline-flex;
 align-items:center;
 width:max-content;
 padding:10px 16px;
 border-radius:999px;
 background:rgba(255,255,255,.14);
 backdrop-filter:blur(10px);
 border:1px solid rgba(255,255,255,.16);
 color:#f0d089;
 font-weight:700;
 letter-spacing:.12em;
 font-size:.72rem;
}
.pulse-gallery-grid{
 display:grid;
 grid-template-columns:1fr 1.2fr 1fr;
 gap:22px;
}
.pulse-gallery-card{
 background:#fff;
 border-radius:30px;
 overflow:hidden;
 border:1px solid rgba(18,39,69,.08);
 box-shadow:0 20px 60px rgba(18,39,69,.06);
 transition:.4s ease;
 position:relative;
}
.pulse-gallery-card:hover{
 transform:translateY(-8px);
 box-shadow:0 28px 70px rgba(18,39,69,.12),0 0 30px rgba(191,161,95,.10);
}
.pulse-gallery-card:before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(120deg,transparent 30%,rgba(191,161,95,.10),transparent 70%);
 transform:translateX(-120%);
 transition:1s ease;
 z-index:2;
}
.pulse-gallery-card:hover:before{
 transform:translateX(120%);
}
.pulse-gallery-card img{
 width:100%;
 height:320px;
 object-fit:cover;
 display:block;
}
.pulse-gallery-card.large img{
 height:420px;
}
.gallery-info{
 padding:22px;
}
.gallery-info h4{
 margin:0 0 10px;
 color:#122745;
 font-size:1.1rem;
}
.gallery-info p{
 margin:0;
 color:#586274;
 line-height:1.6;
}
.appliance-card:hover{
 box-shadow:0 18px 44px rgba(18,39,69,.08),0 0 24px rgba(191,161,95,.18);
}
.appliance-card:hover .icon-wrap{
 transform:translateY(-3px) scale(1.04);
}
.icon-wrap{
 transition:.35s ease;
}
@media(max-width:980px){
 .pulse-gallery-grid{
  grid-template-columns:1fr;
 }
 .pulse-gallery-card.large img,
 .pulse-gallery-card img{
  height:340px;
 }
}
@media(max-width:640px){
 .pulse-video-hero{
  min-height:280px;
  border-radius:28px;
 }
 .video-overlay{
  padding:24px;
 }
 .video-overlay h3{
  font-size:1.5rem;
 }
 .pulse-gallery-card img,
 .pulse-gallery-card.large img{
  height:260px;
 }
}

/* Better animated first-section appliance icons */
.reference-appliance-tile{
  isolation:isolate!important;
  position:relative!important;
  overflow:hidden!important;
}
.reference-appliance-tile:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:42%!important;
  width:112px!important;
  height:112px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle,rgba(191,161,95,.18),rgba(191,161,95,.055) 45%,transparent 72%)!important;
  transform:translate(-50%,-50%) scale(.86)!important;
  opacity:.65!important;
  animation:pulseIconHalo 4.8s ease-in-out infinite!important;
  z-index:0!important;
}
.reference-appliance-tile:after{
  content:""!important;
  position:absolute!important;
  inset:-90% auto auto -95%!important;
  width:230%!important;
  height:230%!important;
  background:linear-gradient(120deg,transparent 42%,rgba(172,143,84,.06) 48%,rgba(191,161,95,.20) 52%,rgba(255,255,255,.34) 55%,rgba(172,143,84,.08) 61%,transparent 70%)!important;
  opacity:0!important;
  transform:translateX(-82%) rotate(12deg)!important;
  pointer-events:none!important;
  z-index:1!important;
}
.reference-appliance-tile:hover:after{
  opacity:1!important;
  animation:freshIconSweep 1.65s ease forwards!important;
}
.reference-appliance-tile:hover:before{
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1.06)!important;
}
.ref-icon,.appliance-svg{
  position:relative!important;
  z-index:3!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(191,161,95,.25)!important;
  box-shadow:0 10px 24px rgba(18,39,69,.08),0 0 24px rgba(191,161,95,.12)!important;
  animation:freshIconFloat 4.6s ease-in-out infinite!important;
}
.reference-appliance-tile:nth-child(2n) .ref-icon,
.reference-appliance-tile:nth-child(2n) .appliance-svg{animation-delay:.45s!important}
.reference-appliance-tile:nth-child(3n) .ref-icon,
.reference-appliance-tile:nth-child(3n) .appliance-svg{animation-delay:.9s!important}
.ref-icon:after,.appliance-svg:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:62px;
  height:20px;
  transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H38 L48 8 L62 35 L74 15 L86 22 H150' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.08;
  animation:underIconPulse 3.4s ease-in-out infinite;
}
.reference-appliance-tile:hover .ref-icon,
.reference-appliance-tile:hover .appliance-svg{
  transform:translateY(-6px) scale(1.045)!important;
  box-shadow:0 16px 34px rgba(18,39,69,.12),0 0 36px rgba(191,161,95,.25)!important;
}
.reference-appliance-tile:hover .ref-icon:after,
.reference-appliance-tile:hover .appliance-svg:after{
  opacity:.55;
}
.appliance-svg .gold-flow,
.ref-icon svg .gold-mark,
.ref-icon svg .gold-flow{
  stroke:#bfa15f!important;
  stroke-width:3.8!important;
  stroke-dasharray:185!important;
  stroke-dashoffset:185!important;
  filter:drop-shadow(0 0 4px rgba(191,161,95,.30));
  animation:freshGoldTrace 3.5s cubic-bezier(.65,0,.35,1) infinite!important;
}
.reference-appliance-tile:hover .appliance-svg .gold-flow,
.reference-appliance-tile:hover .ref-icon svg .gold-mark,
.reference-appliance-tile:hover .ref-icon svg .gold-flow{
  filter:drop-shadow(0 0 8px rgba(191,161,95,.62));
  animation-duration:2.4s!important;
}
@keyframes pulseIconHalo{
  0%,100%{opacity:.34;transform:translate(-50%,-50%) scale(.82)}
  50%{opacity:.82;transform:translate(-50%,-50%) scale(1.04)}
}
@keyframes freshIconSweep{
  from{transform:translateX(-82%) rotate(12deg)}
  to{transform:translateX(42%) rotate(12deg)}
}
@keyframes freshIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.025)}
}
@keyframes underIconPulse{
  0%,100%{opacity:.08;transform:translateX(-50%) scaleX(.86)}
  50%{opacity:.32;transform:translateX(-50%) scaleX(1.1)}
}
@keyframes freshGoldTrace{
  0%{stroke-dashoffset:185;opacity:.42}
  43%{stroke-dashoffset:0;opacity:1}
  68%{stroke-dashoffset:-20;opacity:.86}
  100%{stroke-dashoffset:-185;opacity:.50}
}

/* Animated rotating reviews */
#reviews{
  overflow:hidden;
}
.pulse-review-grid{
  display:flex!important;
  gap:18px!important;
  width:max-content!important;
  animation:reviewsMarquee 42s linear infinite;
}
#reviews:hover .pulse-review-grid{
  animation-play-state:paused;
}
.pulse-review-card{
  width:420px!important;
  flex:0 0 420px!important;
  min-height:360px!important;
}
.pulse-review-card.featured,
.pulse-review-card.wide{
  grid-column:auto!important;
}
@keyframes reviewsMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-48%)}
}

/* duplicate-feeling continuous motion by allowing overflow */
#reviews .wrap{
  overflow:hidden;
}

/* Our Work with only 2 photos below reviews */
.pulse-work-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.pulse-work-card{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:520px;
  background:#071427;
  box-shadow:0 28px 76px rgba(18,39,69,.14);
  border:1px solid rgba(18,39,69,.08);
}
.pulse-work-card.tall{
  min-height:620px;
}
.pulse-work-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.92;
  transition:transform .7s ease, opacity .7s ease;
}
.pulse-work-card:hover img{
  transform:scale(1.045);
  opacity:1;
}
.pulse-work-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,20,39,.82),rgba(7,20,39,.08) 55%,rgba(7,20,39,0));
}
.work-card-copy{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  color:white;
  z-index:2;
}
.work-card-copy span{
  display:inline-flex;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  color:#f0d089;
  font-weight:900;
  letter-spacing:.10em;
  font-size:.72rem;
  margin-bottom:14px;
}
.work-card-copy h3{
  font-size:2rem;
  line-height:1.06;
  margin:0 0 10px;
}
.work-card-copy p{
  color:rgba(255,255,255,.75);
  margin:0;
  line-height:1.55;
}

/* Error code phone field */
#errorCode + .result,
#codeResult{
  margin-bottom:14px!important;
}
#customerPhone{
  border-color:rgba(191,161,95,.22)!important;
}

/* Floating callback mini form */
.floating-callback-form{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2800;
  display:flex;
  flex-direction:column-reverse;
  align-items:flex-end;
  gap:10px;
  font-family:inherit;
}
.callback-toggle{
  border:1px solid rgba(191,161,95,.28);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  color:#122745;
  border-radius:999px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  box-shadow:0 16px 38px rgba(18,39,69,.14),0 0 22px rgba(191,161,95,.10);
  cursor:pointer;
  animation:callbackFloat 5.8s ease-in-out infinite;
}
.callback-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#bfa15f;
  box-shadow:0 0 0 0 rgba(191,161,95,.42);
  animation:callbackDot 1.8s ease-out infinite;
}
.callback-pulse{
  width:36px;
  height:16px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 110 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 H28 L36 9 L47 33 L58 14 L68 21 H110' fill='none' stroke='%23ac8f54' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.65;
}
.callback-mini-panel{
  width:245px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  border:1px solid rgba(191,161,95,.22);
  box-shadow:0 20px 50px rgba(18,39,69,.16);
  display:grid;
  gap:8px;
  opacity:0;
  transform:translateY(10px) scale(.96);
  pointer-events:none;
  transition:.28s ease;
}
.floating-callback-form:hover .callback-mini-panel,
.floating-callback-form:focus-within .callback-mini-panel{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.callback-mini-panel label{
  font-weight:900;
  color:#122745;
  font-size:.88rem;
}
.callback-mini-panel input{
  width:100%;
  border:1px solid rgba(18,39,69,.12);
  border-radius:14px;
  padding:10px 11px;
  font:inherit;
}
.callback-mini-panel button,
.callback-mini-panel a{
  text-align:center;
  text-decoration:none;
  border:0;
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}
.callback-mini-panel button{
  background:#bfa15f;
  color:white;
}
.callback-mini-panel a{
  background:#122745;
  color:white;
}
@keyframes callbackFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes callbackDot{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

@media(max-width:980px){
  .pulse-review-card{
    width:320px!important;
    flex-basis:320px!important;
  }
  .pulse-work-two{
    grid-template-columns:1fr;
  }
  .pulse-work-card,
  .pulse-work-card.tall{
    min-height:480px;
  }
}
@media(max-width:560px){
  .pulse-review-card{
    width:280px!important;
    flex-basis:280px!important;
    min-height:340px!important;
  }
  .pulse-work-card,
  .pulse-work-card.tall{
    min-height:390px;
    border-radius:26px;
  }
  .work-card-copy{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .work-card-copy h3{
    font-size:1.45rem;
  }
  .floating-callback-form{
    right:12px;
    bottom:12px;
  }
  .callback-mini-panel{
    width:min(245px,calc(100vw - 24px));
  }
}

/* Brighter but still tasteful Callback widget */
.callback-toggle{
  padding:13px 18px!important;
  font-size:1rem!important;
  border:1px solid rgba(191,161,95,.45)!important;
  background:
    radial-gradient(circle at 18% 30%,rgba(191,161,95,.20),transparent 30%),
    rgba(255,255,255,.96)!important;
  box-shadow:
    0 20px 48px rgba(18,39,69,.18),
    0 0 28px rgba(191,161,95,.18)!important;
  animation:callbackFloatEnhanced 4.8s ease-in-out infinite, callbackAttention 3.6s ease-in-out infinite!important;
}
.callback-toggle strong{
  letter-spacing:.02em;
}
.callback-dot{
  width:12px!important;
  height:12px!important;
  background:#bfa15f!important;
}
.callback-pulse{
  width:48px!important;
  height:20px!important;
  opacity:.88!important;
  animation:callbackPulseLine 2.6s ease-in-out infinite!important;
}
.callback-toggle:hover{
  transform:translateY(-5px) scale(1.035)!important;
  box-shadow:
    0 24px 58px rgba(18,39,69,.22),
    0 0 36px rgba(191,161,95,.30)!important;
}
@keyframes callbackFloatEnhanced{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes callbackAttention{
  0%,100%{border-color:rgba(191,161,95,.35)}
  45%{border-color:rgba(191,161,95,.72)}
  55%{border-color:rgba(191,161,95,.50)}
}
@keyframes callbackPulseLine{
  0%,100%{transform:scaleX(.88);opacity:.55}
  50%{transform:scaleX(1.08);opacity:1}
}

/* More interesting appliance icons on first screen */
.reference-appliance-tile{
  background:
    radial-gradient(circle at 50% 28%,rgba(191,161,95,.075),transparent 46%),
    rgba(255,255,255,.86)!important;
}
.reference-appliance-tile:before{
  width:124px!important;
  height:124px!important;
  background:
    radial-gradient(circle,rgba(191,161,95,.20),rgba(191,161,95,.06) 48%,transparent 72%)!important;
  animation:applianceHaloAlive 4.2s ease-in-out infinite!important;
}
.reference-appliance-tile:hover:before{
  background:
    radial-gradient(circle,rgba(191,161,95,.30),rgba(191,161,95,.09) 50%,transparent 74%)!important;
}
.reference-appliance-tile:hover{
  transform:translateY(-6px) scale(1.012)!important;
  box-shadow:
    0 24px 56px rgba(18,39,69,.13),
    0 0 34px rgba(191,161,95,.20)!important;
}

.ref-icon,
.appliance-svg{
  border-radius:20px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,250,247,.86))!important;
  border:1px solid rgba(191,161,95,.32)!important;
  box-shadow:
    0 12px 26px rgba(18,39,69,.09),
    0 0 28px rgba(191,161,95,.14)!important;
  animation:applianceIconDance 4.4s ease-in-out infinite!important;
}
.reference-appliance-tile:nth-child(2n) .ref-icon,
.reference-appliance-tile:nth-child(2n) .appliance-svg{
  animation-delay:.35s!important;
}
.reference-appliance-tile:nth-child(3n) .ref-icon,
.reference-appliance-tile:nth-child(3n) .appliance-svg{
  animation-delay:.7s!important;
}
.reference-appliance-tile:hover .ref-icon,
.reference-appliance-tile:hover .appliance-svg{
  transform:translateY(-8px) scale(1.075) rotate(-1deg)!important;
  box-shadow:
    0 18px 38px rgba(18,39,69,.14),
    0 0 42px rgba(191,161,95,.30)!important;
}

/* Moving pulse underline below each icon */
.ref-icon:after,
.appliance-svg:after{
  width:70px!important;
  height:22px!important;
  bottom:-12px!important;
  opacity:.18!important;
  animation:applianceMiniPulse 2.8s ease-in-out infinite!important;
}
.reference-appliance-tile:hover .ref-icon:after,
.reference-appliance-tile:hover .appliance-svg:after{
  opacity:.72!important;
}

/* Animated golden strokes inside icons */
.appliance-svg .gold-flow,
.ref-icon svg .gold-mark,
.ref-icon svg .gold-flow{
  stroke:#bfa15f!important;
  stroke-width:4!important;
  stroke-dasharray:190!important;
  stroke-dashoffset:190!important;
  filter:drop-shadow(0 0 5px rgba(191,161,95,.38));
  animation:applianceGoldCurrent 3s cubic-bezier(.65,0,.35,1) infinite!important;
}
.reference-appliance-tile:hover .appliance-svg .gold-flow,
.reference-appliance-tile:hover .ref-icon svg .gold-mark,
.reference-appliance-tile:hover .ref-icon svg .gold-flow{
  animation-duration:2.1s!important;
  filter:drop-shadow(0 0 10px rgba(191,161,95,.72));
}

/* Subtle mask shine on icon container */
.ref-icon:before,
.appliance-svg:before{
  content:"";
  position:absolute;
  inset:-60%;
  background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.70) 50%,transparent 62%);
  transform:translateX(-120%) rotate(14deg);
  opacity:.0;
  pointer-events:none;
}
.reference-appliance-tile:hover .ref-icon:before,
.reference-appliance-tile:hover .appliance-svg:before{
  opacity:.75;
  animation:iconMaskShine 1.35s ease forwards;
}

@keyframes applianceHaloAlive{
  0%,100%{opacity:.40;transform:translate(-50%,-50%) scale(.82)}
  45%{opacity:.82;transform:translate(-50%,-50%) scale(1.06)}
  70%{opacity:.55;transform:translate(-50%,-50%) scale(.95)}
}
@keyframes applianceIconDance{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  35%{transform:translateY(-5px) rotate(.7deg) scale(1.025)}
  70%{transform:translateY(-2px) rotate(-.5deg) scale(1.012)}
}
@keyframes applianceMiniPulse{
  0%,100%{transform:translateX(-50%) scaleX(.82);opacity:.12}
  50%{transform:translateX(-50%) scaleX(1.15);opacity:.46}
}
@keyframes applianceGoldCurrent{
  0%{stroke-dashoffset:190;opacity:.42}
  42%{stroke-dashoffset:0;opacity:1}
  66%{stroke-dashoffset:-22;opacity:.88}
  100%{stroke-dashoffset:-190;opacity:.50}
}
@keyframes iconMaskShine{
  from{transform:translateX(-120%) rotate(14deg)}
  to{transform:translateX(120%) rotate(14deg)}
}

/* Add a tiny pulse marker on tile label hover */
.reference-appliance-tile strong{
  position:relative;
}
.reference-appliance-tile strong:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:0;
  height:8px;
  transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H28 L36 3 L48 21 L59 8 L68 12 H100' fill='none' stroke='%23bfa15f' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;
  transition:.35s ease;
}
.reference-appliance-tile:hover strong:after{
  width:62px;
  opacity:.75;
}

@media(max-width:560px){
  .callback-toggle{
    padding:11px 14px!important;
    font-size:.9rem!important;
  }
  .callback-pulse{
    width:38px!important;
  }
}

/* Slightly brighter global accents without changing branding */
:root{
  --pulse-gold:#c8a85c;
  --pulse-gold-soft:#d9bc79;
  --pulse-blue:#0d2244;
}

/* Stronger memorable hero area */
.hero-section,
.reference-hero,
.hero-wrapper{
  position:relative;
}
.hero-section:after,
.reference-hero:after,
.hero-wrapper:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%,rgba(200,168,92,.08),transparent 28%),
    radial-gradient(circle at 82% 14%,rgba(13,34,68,.06),transparent 26%);
  pointer-events:none;
}

/* Appliance names pulse like heartbeat */
.reference-appliance-tile strong,
.reference-appliance-tile h3,
.reference-appliance-tile .title{
  position:relative;
  display:inline-block;
  animation:pulseWordFloat 3.8s ease-in-out infinite;
  text-shadow:0 0 0 rgba(200,168,92,0);
  transition:.35s ease;
}
.reference-appliance-tile:nth-child(2n) strong,
.reference-appliance-tile:nth-child(2n) h3{
  animation-delay:.4s;
}
.reference-appliance-tile:nth-child(3n) strong,
.reference-appliance-tile:nth-child(3n) h3{
  animation-delay:.8s;
}

.reference-appliance-tile:hover strong,
.reference-appliance-tile:hover h3{
  color:#0d2244!important;
  text-shadow:
    0 0 12px rgba(200,168,92,.30),
    0 0 28px rgba(200,168,92,.14);
}

/* Pulse wave under text */
.reference-appliance-tile strong:before,
.reference-appliance-tile h3:before{
  content:"";
  position:absolute;
  left:50%;
  top:115%;
  width:72px;
  height:12px;
  transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20'%3E%3Cpath d='M2 10 H32 L42 2 L56 18 L70 6 L82 10 H118' fill='none' stroke='%23c8a85c' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.18;
  animation:pulseLineText 2.8s ease-in-out infinite;
}

.reference-appliance-tile:hover strong:before,
.reference-appliance-tile:hover h3:before{
  opacity:.78;
}

/* Callback wording heartbeat */
.callback-toggle strong,
.callback-toggle .callback-text{
  position:relative;
  animation:callbackTextPulse 2.7s ease-in-out infinite;
}

.callback-toggle strong:after,
.callback-toggle .callback-text:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:58px;
  height:10px;
  transform:translateX(-50%);
  opacity:.42;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20'%3E%3Cpath d='M2 10 H32 L42 2 L56 18 L70 6 L82 10 H118' fill='none' stroke='%23c8a85c' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:callbackLineBeat 2.2s ease-in-out infinite;
}

/* More visual attention for service areas */
.service-area-card,
.map-section,
.service-map{
  position:relative;
  overflow:hidden;
}
.service-area-card:before,
.map-section:before,
.service-map:before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 30% 20%,rgba(200,168,92,.08),transparent 24%),
    radial-gradient(circle at 70% 60%,rgba(13,34,68,.06),transparent 24%);
  animation:ambientMove 14s linear infinite;
  pointer-events:none;
}

/* Contact buttons more memorable */
.call-now-btn,
.hero-call-btn,
.voice-message-btn{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 16px 40px rgba(13,34,68,.14),
    0 0 22px rgba(200,168,92,.12);
}
.call-now-btn:hover,
.hero-call-btn:hover,
.voice-message-btn:hover{
  box-shadow:
    0 20px 54px rgba(13,34,68,.18),
    0 0 32px rgba(200,168,92,.28);
}
.call-now-btn:before,
.hero-call-btn:before,
.voice-message-btn:before{
  content:"";
  position:absolute;
  inset:-120% -40%;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.45) 50%,transparent 62%);
  transform:translateX(-120%) rotate(12deg);
}
.call-now-btn:hover:before,
.hero-call-btn:hover:before,
.voice-message-btn:hover:before{
  animation:buttonSweep 1.15s ease;
}

@keyframes pulseWordFloat{
  0%,100%{
    transform:translateY(0) scale(1);
    opacity:1;
  }
  12%{
    transform:translateY(-1px) scale(1.03);
  }
  18%{
    transform:translateY(0) scale(1);
  }
  34%{
    transform:translateY(-2px) scale(1.05);
    text-shadow:0 0 18px rgba(200,168,92,.22);
  }
  42%{
    transform:translateY(0) scale(1);
  }
}

@keyframes pulseLineText{
  0%,100%{
    transform:translateX(-50%) scaleX(.82);
    opacity:.16;
  }
  40%{
    transform:translateX(-50%) scaleX(1.12);
    opacity:.76;
  }
}

@keyframes callbackTextPulse{
  0%,100%{
    transform:scale(1);
    text-shadow:0 0 0 rgba(200,168,92,0);
  }
  38%{
    transform:scale(1.04);
    text-shadow:0 0 14px rgba(200,168,92,.28);
  }
}

@keyframes callbackLineBeat{
  0%,100%{
    transform:translateX(-50%) scaleX(.84);
    opacity:.28;
  }
  50%{
    transform:translateX(-50%) scaleX(1.16);
    opacity:.88;
  }
}

@keyframes ambientMove{
  0%{transform:translateX(-2%) translateY(0)}
  50%{transform:translateX(2%) translateY(1%)}
  100%{transform:translateX(-2%) translateY(0)}
}

@keyframes buttonSweep{
  from{transform:translateX(-120%) rotate(12deg)}
  to{transform:translateX(120%) rotate(12deg)}
}

.callback-toggle strong,
.callback-toggle .callback-text{
  display:inline-block!important;
  position:relative!important;
  transform-origin:center!important;
  animation:callbackHeartbeatWord 1.9s cubic-bezier(.65,0,.35,1) infinite!important;
  letter-spacing:.03em!important;
}

.callback-toggle strong:before,
.callback-toggle .callback-text:before{
  content:""!important;
  position:absolute!important;
  inset:-4px -8px!important;
  border-radius:999px!important;
  background:radial-gradient(circle,rgba(200,168,92,.22),transparent 70%)!important;
  opacity:.0!important;
  z-index:-1!important;
  animation:callbackGlowBeat 1.9s ease-in-out infinite!important;
}

.callback-toggle strong:after,
.callback-toggle .callback-text:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-10px!important;
  width:62px!important;
  height:12px!important;
  transform:translateX(-50%) scaleX(.82)!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20'%3E%3Cpath d='M2 10 H32 L42 2 L56 18 L70 6 L82 10 H118' fill='none' stroke='%23c8a85c' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  opacity:.34!important;
  animation:callbackLinePulse 1.9s ease-in-out infinite!important;
}

@keyframes callbackHeartbeatWord{
  0%,100%{
    transform:scale(1) translateY(0);
    text-shadow:0 0 0 rgba(200,168,92,0);
  }
  12%{
    transform:scale(1.05) translateY(-1px);
  }
  20%{
    transform:scale(1) translateY(0);
  }
  34%{
    transform:scale(1.11) translateY(-2px);
    text-shadow:
      0 0 10px rgba(200,168,92,.28),
      0 0 22px rgba(200,168,92,.16);
  }
  44%{
    transform:scale(1.02) translateY(0);
  }
}

@keyframes callbackGlowBeat{
  0%,100%{
    opacity:0;
    transform:scale(.8);
  }
  34%{
    opacity:.9;
    transform:scale(1.18);
  }
}

@keyframes callbackLinePulse{
  0%,100%{
    transform:translateX(-50%) scaleX(.82);
    opacity:.28;
  }
  34%{
    transform:translateX(-50%) scaleX(1.18);
    opacity:.92;
  }
}

/* Remove pulse line under appliance icons themselves */
.ref-icon:after,
.appliance-svg:after{
  display:none!important;
  content:none!important;
}

/* Keep pulse line ONLY under words */
.reference-appliance-tile strong:before,
.reference-appliance-tile h3:before,
.reference-appliance-tile .title:before{
  opacity:.38!important;
  animation:textPulseLineOnly 2.6s ease-in-out infinite!important;
}

/* Slight constant heartbeat under words */
.reference-appliance-tile:hover strong:before,
.reference-appliance-tile:hover h3:before,
.reference-appliance-tile:hover .title:before{
  opacity:.82!important;
}

@keyframes textPulseLineOnly{
  0%,100%{
    transform:translateX(-50%) scaleX(.82);
    opacity:.26;
  }
  45%{
    transform:translateX(-50%) scaleX(1.08);
    opacity:.72;
  }
}

/* ===== CINEMATIC SERVICE AREA EXPERIENCE ===== */

#areas{
 position:relative!important;
 overflow:hidden!important;
 padding-top:38px!important;
}

.cinematic-service-shell{
 position:relative!important;
 border-radius:42px!important;
 overflow:hidden!important;
 background:
   radial-gradient(circle at 18% 12%,rgba(200,168,92,.08),transparent 26%),
   radial-gradient(circle at 82% 78%,rgba(13,34,68,.08),transparent 24%),
   linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,249,252,.92))!important;
 border:1px solid rgba(191,161,95,.16)!important;
 box-shadow:
   0 40px 100px rgba(13,34,68,.10),
   inset 0 1px 0 rgba(255,255,255,.65)!important;
 padding:36px!important;
}

/* Floating ambient lights */
.cinematic-service-shell:before,
.cinematic-service-shell:after{
 content:"";
 position:absolute;
 width:520px;
 height:520px;
 border-radius:50%;
 filter:blur(40px);
 opacity:.42;
 pointer-events:none;
 animation:ambientAreaMove 16s linear infinite;
}
.cinematic-service-shell:before{
 left:-180px;
 top:-180px;
 background:radial-gradient(circle,rgba(200,168,92,.14),transparent 68%);
}
.cinematic-service-shell:after{
 right:-180px;
 bottom:-180px;
 background:radial-gradient(circle,rgba(13,34,68,.10),transparent 68%);
 animation-direction:reverse;
}

#areas .section-head{
 position:relative;
 z-index:5;
 margin-bottom:26px!important;
}

#areas .section-head h2{
 font-size:clamp(2.3rem,4vw,4.6rem)!important;
 line-height:.94!important;
 letter-spacing:-.05em!important;
}

#areas .section-head p{
 max-width:760px!important;
 font-size:1.05rem!important;
 line-height:1.7!important;
 color:#526074!important;
}

/* Unified map stage */
.map-stage,
.service-map,
.area-map-wrap{
 position:relative!important;
 min-height:760px!important;
 border-radius:38px!important;
 overflow:hidden!important;
 background:
   linear-gradient(180deg,rgba(255,255,255,.84),rgba(246,248,251,.90)),
   radial-gradient(circle at 50% 50%,rgba(200,168,92,.06),transparent 60%)!important;
 border:1px solid rgba(191,161,95,.12)!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.8),
   0 30px 80px rgba(13,34,68,.08)!important;
}

/* Animated grid overlay */
.map-stage:before,
.service-map:before,
.area-map-wrap:before{
 content:"";
 position:absolute;
 inset:0;
 background:
   linear-gradient(rgba(13,34,68,.025) 1px,transparent 1px),
   linear-gradient(90deg,rgba(13,34,68,.025) 1px,transparent 1px);
 background-size:42px 42px;
 opacity:.7;
 mask-image:radial-gradient(circle at center,black 40%,transparent 92%);
 pointer-events:none;
 animation:gridFloat 16s linear infinite;
}

/* Premium floating service cards INSIDE the map */
.area-pin,
.service-area-pin,
.city-pin{
 backdrop-filter:blur(16px)!important;
 background:rgba(255,255,255,.78)!important;
 border:1px solid rgba(191,161,95,.24)!important;
 border-radius:20px!important;
 padding:10px 14px 10px 18px!important;
 box-shadow:
   0 14px 34px rgba(13,34,68,.10),
   0 0 22px rgba(200,168,92,.10)!important;
 transition:.35s ease!important;
 overflow:hidden!important;
}

.area-pin:hover,
.service-area-pin:hover,
.city-pin:hover{
 transform:translateY(-6px) scale(1.04)!important;
 border-color:rgba(200,168,92,.42)!important;
 box-shadow:
   0 22px 54px rgba(13,34,68,.14),
   0 0 34px rgba(200,168,92,.18)!important;
}

.area-pin:before,
.service-area-pin:before,
.city-pin:before{
 content:"";
 position:absolute;
 inset:-100% auto auto -90%;
 width:220%;
 height:220%;
 background:linear-gradient(
   120deg,
   transparent 40%,
   rgba(255,255,255,.42) 50%,
   transparent 62%
 );
 transform:translateX(-120%) rotate(12deg);
 opacity:0;
 pointer-events:none;
}

.area-pin:hover:before,
.service-area-pin:hover:before,
.city-pin:hover:before{
 opacity:1;
 animation:pinSweep 1.3s ease forwards;
}

/* Technician pulse markers */
.area-pin .pulse-dot,
.service-area-pin .pulse-dot,
.city-pin .pulse-dot{
 position:absolute!important;
 left:10px!important;
 top:50%!important;
 width:8px!important;
 height:8px!important;
 border-radius:50%!important;
 background:#c8a85c!important;
 transform:translateY(-50%)!important;
 box-shadow:0 0 0 0 rgba(200,168,92,.42)!important;
 animation:techPulse 2s ease-out infinite!important;
}

/* Floating quick-response badge */
.cinematic-response-badge{
 position:absolute;
 right:28px;
 top:28px;
 z-index:20;
 display:flex;
 align-items:center;
 gap:12px;
 padding:14px 18px;
 border-radius:999px;
 background:rgba(255,255,255,.78);
 backdrop-filter:blur(18px);
 border:1px solid rgba(191,161,95,.22);
 box-shadow:0 16px 40px rgba(13,34,68,.12);
 color:#0d2244;
 font-weight:800;
 letter-spacing:.02em;
 animation:responseFloat 5s ease-in-out infinite;
}
.cinematic-response-badge:before{
 content:"";
 width:10px;
 height:10px;
 border-radius:50%;
 background:#c8a85c;
 box-shadow:0 0 0 0 rgba(200,168,92,.38);
 animation:techPulse 2s ease-out infinite;
}

/* Important CTA glow */
#areas .call-now-btn,
#areas .service-btn,
#areas .book-service{
 box-shadow:
   0 16px 44px rgba(13,34,68,.12),
   0 0 24px rgba(200,168,92,.16)!important;
}
#areas .call-now-btn:hover,
#areas .service-btn:hover,
#areas .book-service:hover{
 transform:translateY(-4px)!important;
 box-shadow:
   0 22px 58px rgba(13,34,68,.18),
   0 0 38px rgba(200,168,92,.28)!important;
}

/* Memory-focused typography */
.area-pin strong,
.service-area-pin strong,
.city-pin strong{
 color:#0d2244!important;
 font-weight:900!important;
 letter-spacing:.01em!important;
}

/* Animations */
@keyframes ambientAreaMove{
 0%{transform:translate(0,0)}
 50%{transform:translate(24px,14px)}
 100%{transform:translate(0,0)}
}
@keyframes gridFloat{
 0%{transform:translateY(0)}
 100%{transform:translateY(42px)}
}
@keyframes pinSweep{
 from{transform:translateX(-120%) rotate(12deg)}
 to{transform:translateX(120%) rotate(12deg)}
}
@keyframes techPulse{
 0%{box-shadow:0 0 0 0 rgba(200,168,92,.38)}
 80%{box-shadow:0 0 0 12px rgba(200,168,92,0)}
 100%{box-shadow:0 0 0 0 rgba(200,168,92,0)}
}
@keyframes responseFloat{
 0%,100%{transform:translateY(0)}
 50%{transform:translateY(-6px)}
}

/* Mobile */
@media(max-width:820px){
 .cinematic-service-shell{
   padding:20px!important;
   border-radius:30px!important;
 }
 .map-stage,
 .service-map,
 .area-map-wrap{
   min-height:640px!important;
   border-radius:28px!important;
 }
 .cinematic-response-badge{
   right:14px;
   top:14px;
   padding:11px 14px;
   font-size:.78rem;
 }
 #areas .section-head h2{
   font-size:clamp(2rem,10vw,3rem)!important;
 }
}

/* Pulse 1: only animate the Call Pulse button, nothing else */
.header-cta .btn,
.header-cta a,
a.call-pulse,
button.call-pulse{
  position:relative!important;
  overflow:hidden!important;
  animation:callPulseButtonSoftGlow 3.4s ease-in-out infinite!important;
  transition:box-shadow .35s ease, transform .35s ease!important;
}

/* Small pulse line inside the button */
.header-cta .btn::after,
.header-cta a::after,
a.call-pulse::after,
button.call-pulse::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:7px!important;
  width:54px!important;
  height:10px!important;
  transform:translateX(-50%) scaleX(.82)!important;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H32 L42 3 L56 21 L70 7 L82 12 H120' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' opacity='.70'/%3E%3C/svg%3E") center/contain no-repeat!important;
  opacity:.25!important;
  pointer-events:none!important;
  animation:callPulseButtonTinyLine 2.5s ease-in-out infinite!important;
}

/* Very gentle hover */
.header-cta .btn:hover,
.header-cta a:hover,
a.call-pulse:hover,
button.call-pulse:hover{
  transform:translateY(-2px)!important;
  box-shadow:
    0 16px 36px rgba(18,39,69,.15),
    0 0 22px rgba(191,161,95,.20)!important;
}

@keyframes callPulseButtonSoftGlow{
  0%,100%{
    box-shadow:
      0 12px 28px rgba(18,39,69,.12),
      0 0 10px rgba(191,161,95,.08);
  }
  50%{
    box-shadow:
      0 14px 32px rgba(18,39,69,.13),
      0 0 20px rgba(191,161,95,.18);
  }
}

@keyframes callPulseButtonTinyLine{
  0%,100%{
    transform:translateX(-50%) scaleX(.72);
    opacity:.18;
  }
  45%{
    transform:translateX(-50%) scaleX(1.05);
    opacity:.58;
  }
}

/* Remove ugly outline/border around phone number in header */
.header .phone,
.site-header .phone,
.topbar .phone,
.navbar .phone,
.header-phone,
.phone-number,
a.phone,
a[href^="tel"].phone,
.header a[href^="tel"]:not(.btn):not(.call-pulse),
.site-header a[href^="tel"]:not(.btn):not(.call-pulse){
  border:none!important;
  outline:none!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  animation:none!important;
}

/* Call Pulse button: callback-style animation only */
.header-cta .btn,
.header-cta a.btn,
.header-cta a,
a.call-pulse,
button.call-pulse{
  position:relative!important;
  overflow:hidden!important;
  border-color:rgba(191,161,95,.34)!important;
  box-shadow:
    0 16px 38px rgba(18,39,69,.14),
    0 0 20px rgba(191,161,95,.13)!important;
  animation:callPulseCallbackFloat 5.8s ease-in-out infinite!important;
}

/* small pulse dot inside left side of button */
.header-cta .btn::before,
.header-cta a.btn::before,
.header-cta a::before,
a.call-pulse::before,
button.call-pulse::before{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#bfa15f!important;
  transform:translateY(-50%)!important;
  box-shadow:0 0 0 0 rgba(191,161,95,.42)!important;
  animation:callPulseCallbackDot 1.8s ease-out infinite!important;
  pointer-events:none!important;
}

/* tiny pulse line under button word */
.header-cta .btn::after,
.header-cta a.btn::after,
.header-cta a::after,
a.call-pulse::after,
button.call-pulse::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:7px!important;
  width:48px!important;
  height:12px!important;
  transform:translateX(-50%) scaleX(.88)!important;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 110 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 H28 L36 9 L47 33 L58 14 L68 21 H110' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' opacity='.72'/%3E%3C/svg%3E") center/contain no-repeat!important;
  opacity:.42!important;
  animation:callPulseCallbackLine 3.2s ease-in-out infinite!important;
  pointer-events:none!important;
}

.header-cta .btn:hover,
.header-cta a.btn:hover,
.header-cta a:hover,
a.call-pulse:hover,
button.call-pulse:hover{
  transform:translateY(-4px) scale(1.02)!important;
  border-color:rgba(191,161,95,.52)!important;
  box-shadow:
    0 20px 48px rgba(18,39,69,.18),
    0 0 30px rgba(191,161,95,.22)!important;
}

/* if dot overlaps text, give button a little left room */
.header-cta .btn,
.header-cta a.btn,
.header-cta a,
a.call-pulse,
button.call-pulse{
  padding-left:32px!important;
}

@keyframes callPulseCallbackFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

@keyframes callPulseCallbackDot{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

@keyframes callPulseCallbackLine{
  0%,100%{
    transform:translateX(-50%) scaleX(.84);
    opacity:.28;
  }
  50%{
    transform:translateX(-50%) scaleX(1.08);
    opacity:.75;
  }
}

/* Remove accidental brown pulse dot from phone number */
.header .phone::before,
.header .phone::after,
.site-header .phone::before,
.site-header .phone::after,
.topbar .phone::before,
.topbar .phone::after,
.phone-number::before,
.phone-number::after,
.header-phone::before,
.header-phone::after,
.header a[href^="tel"]:not(.btn):not(.call-pulse)::before,
.header a[href^="tel"]:not(.btn):not(.call-pulse)::after,
.site-header a[href^="tel"]:not(.btn):not(.call-pulse)::before,
.site-header a[href^="tel"]:not(.btn):not(.call-pulse)::after{
  display:none!important;
  content:none!important;
}

.w1-video-showcase{
  display:grid;
  grid-template-columns:.92fr 1.28fr;
  gap:24px;
  align-items:stretch;
}
.w1-video-copy{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:34px;
  min-height:390px;
  background:linear-gradient(145deg,#071427,#122745);
  color:white;
  box-shadow:0 28px 80px rgba(18,39,69,.18);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.w1-video-copy:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(191,161,95,.22),transparent 70%);
  animation:w1Glow 6s ease-in-out infinite;
}
.w1-video-copy .eyebrow{
  position:relative;
  z-index:2;
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#d9bc79;
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.14em;
}
.w1-video-copy h3{
  position:relative;
  z-index:2;
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:1;
  margin:16px 0;
  letter-spacing:-.045em;
}
.w1-video-copy p{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.76);
  line-height:1.65;
  margin:0 0 24px;
}
.w1-actions{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.w1-actions a{
  text-decoration:none;
  padding:12px 16px;
  border-radius:999px;
  font-weight:900;
}
.w1-actions a:first-child{
  background:#bfa15f;
  color:white;
}
.w1-actions a:last-child{
  background:rgba(255,255,255,.12);
  color:white;
  border:1px solid rgba(255,255,255,.14);
}
.w1-video-card{
  position:relative;
  overflow:hidden;
  min-height:390px;
  border-radius:34px;
  background:#071427;
  box-shadow:0 28px 80px rgba(18,39,69,.14);
  border:1px solid rgba(18,39,69,.08);
}
.w1-video-card video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.96;
}
.w1-video-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,20,39,.26),transparent 48%);
  pointer-events:none;
}
@keyframes w1Glow{
  0%,100%{opacity:.45;transform:scale(.92)}
  50%{opacity:.9;transform:scale(1.08)}
}
@media(max-width:980px){
  .w1-video-showcase{grid-template-columns:1fr}
  .w1-video-copy,.w1-video-card{min-height:340px}
}
@media(max-width:560px){
  .w1-video-copy,.w1-video-card{border-radius:26px}
  .w1-video-copy{padding:26px;min-height:320px}
  .w1-video-card{min-height:280px}
}

/* Section 3 / Error Code Form premium upgrade only */
#codes{
  position:relative!important;
  overflow:hidden!important;
}
#codes:before{
  content:"";
  position:absolute;
  right:-160px;
  top:60px;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(191,161,95,.13),transparent 70%);
  pointer-events:none;
  animation:errorAmbientGlow 9s ease-in-out infinite;
}
#codes:after{
  content:"";
  position:absolute;
  left:-180px;
  bottom:30px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(18,39,69,.08),transparent 70%);
  pointer-events:none;
  animation:errorAmbientGlow 11s ease-in-out infinite reverse;
}

#codes .code-card,
#codes .form-card,
#codes form,
#codes .error-form,
#codes .code-form{
  position:relative!important;
  z-index:2!important;
  border-radius:36px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(251,250,247,.84))!important;
  border:1px solid rgba(18,39,69,.08)!important;
  box-shadow:
    0 28px 80px rgba(18,39,69,.08),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
  overflow:hidden!important;
}

#codes .code-card:before,
#codes .form-card:before,
#codes form:before,
#codes .error-form:before,
#codes .code-form:before{
  content:"";
  position:absolute;
  inset:-120% auto auto -95%;
  width:230%;
  height:230%;
  background:linear-gradient(120deg,transparent 42%,rgba(191,161,95,.08) 50%,rgba(255,255,255,.35) 55%,transparent 68%);
  transform:translateX(-90%) rotate(12deg);
  opacity:.0;
  pointer-events:none;
  animation:errorFormSoftSweep 8s ease-in-out infinite;
}

/* Form fields */
#codes label{
  color:#122745!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
#codes input,
#codes select,
#codes textarea{
  border-radius:18px!important;
  border:1px solid rgba(18,39,69,.12)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 8px 18px rgba(18,39,69,.035)!important;
  transition:border-color .28s ease, box-shadow .28s ease, transform .28s ease, background .28s ease!important;
}
#codes input:focus,
#codes select:focus,
#codes textarea:focus{
  outline:none!important;
  border-color:rgba(191,161,95,.56)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:
    0 12px 26px rgba(18,39,69,.07),
    0 0 0 4px rgba(191,161,95,.11)!important;
  transform:translateY(-2px)!important;
}
#codes input::placeholder,
#codes textarea::placeholder{
  color:rgba(82,96,116,.72)!important;
}

/* Give every field a premium card feeling where wrappers exist */
#codes .field,
#codes .form-field,
#codes .input-group{
  position:relative!important;
}
#codes .field:focus-within:before,
#codes .form-field:focus-within:before,
#codes .input-group:focus-within:before{
  content:"";
  position:absolute;
  left:8px;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#bfa15f;
  transform:translateY(-50%);
  box-shadow:0 0 0 0 rgba(191,161,95,.38);
  animation:errorFieldPulse 1.7s ease-out infinite;
  z-index:4;
}

/* Result / preview panel */
#codes .result,
#codes #codeResult,
#codes .code-result,
#codes .preview-card{
  border-radius:26px!important;
  background:
    radial-gradient(circle at 18% 20%,rgba(191,161,95,.10),transparent 34%),
    linear-gradient(145deg,rgba(18,39,69,.96),rgba(7,20,39,.96))!important;
  color:white!important;
  border:1px solid rgba(191,161,95,.22)!important;
  box-shadow:0 20px 54px rgba(18,39,69,.18)!important;
  position:relative!important;
  overflow:hidden!important;
}
#codes .result:after,
#codes #codeResult:after,
#codes .code-result:after,
#codes .preview-card:after{
  content:"";
  position:absolute;
  right:18px;
  bottom:16px;
  width:92px;
  height:28px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H42 L52 8 L66 35 L80 15 L92 22 H160' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.22;
  animation:errorResultPulse 3s ease-in-out infinite;
}

/* Buttons in error code section */
#codes button,
#codes .btn,
#codes a.btn{
  position:relative!important;
  overflow:hidden!important;
  border-radius:999px!important;
  box-shadow:
    0 16px 38px rgba(18,39,69,.12),
    0 0 18px rgba(191,161,95,.12)!important;
  transition:transform .32s ease, box-shadow .32s ease!important;
}
#codes button:before,
#codes .btn:before,
#codes a.btn:before{
  content:"";
  position:absolute;
  left:-120%;
  top:50%;
  width:120%;
  height:18px;
  transform:translateY(-50%);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H42 L52 8 L66 35 L80 15 L92 22 H160' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' opacity='.62'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;
  pointer-events:none;
}
#codes button:hover,
#codes .btn:hover,
#codes a.btn:hover{
  transform:translateY(-3px)!important;
  box-shadow:
    0 20px 48px rgba(18,39,69,.16),
    0 0 28px rgba(191,161,95,.22)!important;
}
#codes button:hover:before,
#codes .btn:hover:before,
#codes a.btn:hover:before{
  animation:errorButtonPulseMove 1.1s ease forwards;
}

/* Add visual helper heading if code form has a card */
#codes .code-card,
#codes .form-card{
  padding:clamp(24px,3vw,38px)!important;
}

/* Make phone field feel important */
#codes input[type="tel"]{
  border-color:rgba(191,161,95,.22)!important;
}

/* Mobile safety */
@media(max-width:760px){
  #codes .code-card,
  #codes .form-card,
  #codes form,
  #codes .error-form,
  #codes .code-form{
    border-radius:28px!important;
  }
  #codes input,
  #codes select,
  #codes textarea{
    border-radius:16px!important;
  }
}

@keyframes errorAmbientGlow{
  0%,100%{opacity:.45;transform:scale(.92)}
  50%{opacity:.9;transform:scale(1.08)}
}
@keyframes errorFormSoftSweep{
  0%,70%{opacity:0;transform:translateX(-90%) rotate(12deg)}
  78%{opacity:1}
  94%{opacity:0;transform:translateX(45%) rotate(12deg)}
  100%{opacity:0;transform:translateX(45%) rotate(12deg)}
}
@keyframes errorFieldPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.38)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}
@keyframes errorResultPulse{
  0%,100%{opacity:.14;transform:scaleX(.85)}
  50%{opacity:.36;transform:scaleX(1.08)}
}
@keyframes errorButtonPulseMove{
  0%{left:-120%;opacity:0}
  25%{opacity:.75}
  100%{left:100%;opacity:0}
}

.pulse-helper-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:22px 0 10px;
  position:relative;
  z-index:5;
}
.pulse-helper-btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:-.02em;
  transition:transform .28s ease, box-shadow .28s ease, opacity .28s ease;
}

.pulse-helper-call{
  background:#bfa15f;
  color:white;
  box-shadow:
    0 18px 42px rgba(191,161,95,.26),
    0 10px 28px rgba(18,39,69,.10);
}

.pulse-helper-check{
  background:rgba(255,255,255,.86);
  color:#071427;
  border:1px solid rgba(191,161,95,.20);
  box-shadow:
    0 18px 42px rgba(18,39,69,.08),
    inset 0 1px 0 rgba(255,255,255,.75);
}

.pulse-helper-btn:before{
  content:"";
  position:absolute;
  left:-120%;
  top:50%;
  width:120%;
  height:18px;
  transform:translateY(-50%);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H42 L52 8 L66 35 L80 15 L92 22 H160' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' opacity='.62'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;
  pointer-events:none;
}

.pulse-helper-btn:hover{
  transform:translateY(-3px);
}
.pulse-helper-btn:hover:before{
  animation:pulseHelperSweep 1.1s ease forwards;
}

@keyframes pulseHelperSweep{
  0%{left:-120%;opacity:0}
  25%{opacity:.75}
  100%{left:100%;opacity:0}
}

@media(max-width:760px){
  .pulse-helper-actions{
    gap:10px;
  }
  .pulse-helper-btn{
    flex:1 1 100%;
    min-height:54px;
    padding:0 18px;
    font-size:.94rem;
  }
}

#codes .diagnostic-helper,
#codes .helper-card,
#codes .code-intro,
#codes .section-head,
#codes .form-intro{
  max-width:760px!important;
}
#codes .diagnostic-helper,
#codes .helper-card,
#codes .code-intro,
#codes .form-intro{
  padding-top:18px!important;
  padding-bottom:18px!important;
}
#codes .diagnostic-helper p,
#codes .helper-card p,
#codes .code-intro p,
#codes .form-intro p,
#codes .section-head p{
  max-width:520px!important;
  font-size:.98rem!important;
  line-height:1.45!important;
}

/* ===== Pulse 1.2 FINAL MOBILE FIX: real classes, Samsung / iPhone safe ===== */
*,*::before,*::after{box-sizing:border-box!important}
html,body{max-width:100%!important;overflow-x:hidden!important}
body{-webkit-text-size-adjust:100%!important}
img,video,svg{max-width:100%!important;height:auto}
a,button,input,select,textarea{max-width:100%!important}
h1,h2,h3,h4,p,span,strong,small,label,a,button{overflow-wrap:normal}
p{overflow-wrap:anywhere}

/* Desktop protection */
.header .phone::before,
.header .phone::after,
.phone::before,
.phone::after{
  display:none!important;
  content:none!important;
}

/* ===== Samsung S25 / standard mobile widths ===== */
@media (max-width: 760px){

  body{
    padding:0!important;
    margin:0!important;
  }

  .header{
    height:auto!important;
    min-height:82px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .nav{
    width:100%!important;
    height:auto!important;
    min-height:82px!important;
    padding:8px 10px!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:92px 1fr 96px!important;
    align-items:center!important;
    justify-content:normal!important;
    gap:6px!important;
  }

  .menu{
    display:none!important;
  }

  .brand{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    gap:5px!important;
    overflow:hidden!important;
  }

  .brand svg{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    flex:0 0 38px!important;
  }

  .brand span{
    font-size:.67rem!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    max-width:48px!important;
  }

  .brand small{
    font-size:.42rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    margin-top:2px!important;
  }

  .header-cta{
    grid-column:2 / 4!important;
    display:grid!important;
    grid-template-columns:1fr 96px!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  .header-cta .phone{
    grid-column:1!important;
    justify-self:center!important;
    text-align:center!important;
    width:100%!important;
    max-width:150px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    border-radius:0!important;
    color:#071427!important;
    font-size:1.02rem!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-decoration:none!important;
    animation:none!important;
    transform:none!important;
  }

  .header-cta .phone::before,
  .header-cta .phone::after{
    display:none!important;
    content:none!important;
  }

  .header-cta .btn,
  .header-cta .btn.gold{
    grid-column:2!important;
    justify-self:end!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.74rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    box-shadow:0 10px 24px rgba(18,39,69,.13)!important;
  }

  .header-cta .btn::before{
    left:7px!important;
    width:5px!important;
    height:5px!important;
    opacity:.35!important;
  }

  .header-cta .btn::after{
    width:30px!important;
    height:7px!important;
    bottom:4px!important;
    opacity:.22!important;
  }

  /* First screen spacing */
  .hero,
  .first-services,
  .reference-home-hero{
    padding:96px 10px 28px!important;
    min-height:auto!important;
  }

  .reference-hero-card{
    width:100%!important;
    max-width:100%!important;
    border-radius:26px!important;
    padding:22px 14px!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .trust-badge{
    max-width:100%!important;
    font-size:.66rem!important;
    padding:7px 10px!important;
    line-height:1!important;
  }

  .reference-hero-card h1,
  .hero h1,
  h1{
    font-size:clamp(2rem,9.4vw,3rem)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
    max-width:100%!important;
    margin:16px auto 10px!important;
    text-align:center!important;
  }

  .reference-subtitle,
  .hero p{
    font-size:.96rem!important;
    line-height:1.42!important;
    max-width:310px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  /* Quick contact buttons under hero */
  .quick-contact-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    margin:16px 0!important;
  }

  .quick-contact{
    width:100%!important;
    min-height:52px!important;
    padding:10px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    text-align:left!important;
    border-radius:18px!important;
  }

  .quick-contact .qc-icon{
    position:static!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
  }

  .quick-contact strong{
    font-size:.92rem!important;
    line-height:1.05!important;
  }

  .quick-contact small{
    font-size:.72rem!important;
    line-height:1.05!important;
  }

  /* Appliance tiles */
  .reference-appliance-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    margin:14px 0 0!important;
  }

  .reference-appliance-tile{
    min-width:0!important;
    min-height:112px!important;
    padding:10px 5px!important;
    border-radius:18px!important;
  }

  .ref-icon,
  .appliance-svg{
    width:45px!important;
    height:45px!important;
    margin:0 auto 7px!important;
  }

  .ref-icon svg,
  .appliance-svg svg{
    width:43px!important;
    height:43px!important;
  }

  .reference-appliance-tile strong{
    display:block!important;
    font-size:.72rem!important;
    line-height:1.12!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  /* Service Areas section */
  .section{
    padding:48px 10px!important;
  }

  .section-head{
    display:block!important;
    margin-bottom:18px!important;
  }

  .section h2,
  h2{
    font-size:clamp(1.8rem,8vw,2.5rem)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    max-width:100%!important;
  }

  .section-head p{
    font-size:.95rem!important;
    line-height:1.45!important;
    max-width:100%!important;
  }

  .service-map-second .header-cta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:14px 0!important;
  }

  .service-map-second .header-cta .btn,
  .service-map-second .header-cta .btn.gold,
  .service-map-second .header-cta .btn.light{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    font-size:.92rem!important;
    padding:0 12px!important;
    justify-self:stretch!important;
  }

  .map-stage{
    min-height:610px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  .map-title{
    width:calc(100% - 26px)!important;
    max-width:calc(100% - 26px)!important;
    left:13px!important;
    right:13px!important;
    top:13px!important;
    padding:13px 14px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.62)!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:none!important;
    pointer-events:none!important;
  }

  .map-title strong{
    display:block!important;
    font-size:1.25rem!important;
    line-height:1.08!important;
    margin:0 0 4px!important;
  }

  .map-title span{
    display:block!important;
    font-size:.83rem!important;
    line-height:1.28!important;
    color:rgba(7,20,39,.62)!important;
    max-width:280px!important;
  }

  .area-pin{
    z-index:20!important;
    font-size:.68rem!important;
    line-height:1!important;
    padding:7px 9px 7px 16px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.90)!important;
    backdrop-filter:blur(8px)!important;
    white-space:nowrap!important;
    box-shadow:0 8px 20px rgba(18,39,69,.08)!important;
  }

  .scroll-note{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    max-width:calc(100% - 24px)!important;
    padding:14px!important;
    border-radius:18px!important;
    font-size:.86rem!important;
  }

  /* Error code form */
  .error-shell{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .error-panel,
  .error-form{
    min-height:auto!important;
    border-radius:24px!important;
    padding:18px!important;
  }

  .error-panel p{
    font-size:.92rem!important;
    line-height:1.38!important;
  }

  .fields{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .field{
    margin-bottom:10px!important;
  }

  input,select,textarea{
    min-height:48px!important;
    border-radius:14px!important;
    padding:12px!important;
    font-size:16px!important;
  }

  textarea{
    min-height:105px!important;
  }

  .result{
    border-radius:18px!important;
    padding:14px!important;
    font-size:.9rem!important;
    line-height:1.35!important;
  }

  /* Cards / reviews / resources */
  .cards,
  .steps,
  .reviews,
  .resources,
  .about-grid,
  .problem-grid,
  .work-gallery-grid,
  .pulse-review-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    animation:none!important;
  }

  .card,
  .step,
  .review,
  .resource,
  .about-block,
  .problem-card,
  .pulse-review-card{
    min-height:auto!important;
    width:100%!important;
    max-width:100%!important;
    padding:20px!important;
    border-radius:22px!important;
  }

  .pulse-review-card{
    flex:initial!important;
  }

  /* Work/video section */
  .w1-video-showcase,
  .work-feature,
  .pulse-work-two,
  .form-wrap,
  .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .w1-video-copy,
  .w1-video-card,
  .work-card,
  .work-card.main,
  .hero-copy,
  .hero-image{
    min-height:auto!important;
    border-radius:24px!important;
  }

  .w1-video-copy,
  .hero-copy{
    padding:22px!important;
  }

  .w1-video-card video,
  .work-card img,
  .hero-image img{
    min-height:260px!important;
    height:260px!important;
    object-fit:cover!important;
  }

  .footer{
    padding:42px 12px!important;
  }

  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  .float-blog{
    right:12px!important;
    bottom:80px!important;
    padding:10px 14px!important;
    font-size:.82rem!important;
  }
}

/* Galaxy S25 and similar narrow phones */
@media (max-width: 430px){
  .nav{
    grid-template-columns:84px 1fr 88px!important;
    padding:8px 8px!important;
    gap:5px!important;
  }

  .brand{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
  }

  .brand svg{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }

  .brand span{
    font-size:.61rem!important;
    max-width:42px!important;
  }

  .brand small{
    font-size:.38rem!important;
    letter-spacing:.06em!important;
  }

  .header-cta{
    grid-template-columns:1fr 88px!important;
    gap:5px!important;
  }

  .header-cta .phone{
    max-width:132px!important;
    font-size:.93rem!important;
    letter-spacing:-.04em!important;
  }

  .header-cta .btn,
  .header-cta .btn.gold{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
    height:40px!important;
    min-height:40px!important;
    font-size:.68rem!important;
    padding:0 6px!important;
  }

  .reference-hero-card{
    padding:20px 12px!important;
  }

  .reference-hero-card h1,
  .hero h1,
  h1{
    font-size:clamp(1.9rem,10vw,2.55rem)!important;
  }

  .quick-contact{
    min-height:50px!important;
  }

  .reference-appliance-grid{
    gap:8px!important;
  }

  .reference-appliance-tile{
    min-height:106px!important;
  }

  .reference-appliance-tile strong{
    font-size:.68rem!important;
  }

  .map-stage{
    min-height:560px!important;
  }

  .area-pin{
    font-size:.62rem!important;
    padding:6px 8px 6px 14px!important;
  }
}

/* Very narrow phones */
@media (max-width: 360px){
  .nav{
    grid-template-columns:74px 1fr 78px!important;
  }

  .brand{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
  }

  .brand svg{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
  }

  .brand span{
    font-size:.54rem!important;
    max-width:37px!important;
  }

  .header-cta{
    grid-template-columns:1fr 78px!important;
  }

  .header-cta .phone{
    max-width:112px!important;
    font-size:.80rem!important;
  }

  .header-cta .btn,
  .header-cta .btn.gold{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    font-size:.60rem!important;
  }

  .reference-appliance-tile strong{
    font-size:.62rem!important;
  }
}

/* Larger premium animated logo */
.brand svg,
.logo svg,
.site-logo svg{
  transition:transform .35s ease, filter .35s ease;
}

.brand:hover svg,
.logo:hover svg,
.site-logo:hover svg{
  transform:scale(1.05);
  filter:drop-shadow(0 0 12px rgba(191,161,95,.28));
}

@media(max-width:760px){
  .brand{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
  }

  .brand svg{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }

  .brand span{
    font-size:.76rem!important;
    max-width:58px!important;
  }

  .brand small{
    font-size:.46rem!important;
  }
}

/* Move hero down on mobile so LOCAL / RELIABLE / TRUSTED does not overlap sticky header */
@media(max-width:760px){
  .reference-home-hero,
  .first-services,
  section#repair{
    padding-top:118px!important;
  }
  .trust-badge{
    margin-top:4px!important;
    position:relative!important;
    z-index:2!important;
  }

  /* Center 3 contact buttons with equal spacing */
  .quick-contact-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:min(100%,340px)!important;
    margin:18px auto 22px!important;
    justify-items:stretch!important;
  }
  .quick-contact{
    width:100%!important;
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:12px 16px!important;
    margin:0!important;
  }
  .quick-contact .qc-icon{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
  }
}

/* Reviews: compact 3 visible, animated sliding, no double duplicate look */
#reviews .wrap{
  overflow:hidden!important;
}
.pulse-review-grid{
  display:flex!important;
  gap:18px!important;
  width:max-content!important;
  animation:pulseReviewsSlideFixed 30s linear infinite!important;
}
#reviews:hover .pulse-review-grid{
  animation-play-state:paused!important;
}
.pulse-review-card{
  flex:0 0 360px!important;
  width:360px!important;
  min-height:300px!important;
}
.pulse-review-card:nth-child(n+6){
  display:none!important;
}
@keyframes pulseReviewsSlideFixed{
  0%{transform:translateX(0)}
  100%{transform:translateX(calc(-3 * 378px))}
}
@media(max-width:1180px){
  .pulse-review-card{
    flex-basis:320px!important;
    width:320px!important;
  }
  @keyframes pulseReviewsSlideFixed{
    0%{transform:translateX(0)}
    100%{transform:translateX(calc(-3 * 338px))}
  }
}
@media(max-width:760px){
  .pulse-review-grid{
    display:flex!important;
    gap:12px!important;
    animation:pulseReviewsSlideMobile 26s linear infinite!important;
  }
  .pulse-review-card{
    flex:0 0 calc(100vw - 48px)!important;
    width:calc(100vw - 48px)!important;
    min-height:auto!important;
  }
  @keyframes pulseReviewsSlideMobile{
    0%{transform:translateX(0)}
    100%{transform:translateX(calc(-3 * (100vw - 36px)))}
  }
}

.home-quick-request{
  position:relative;
  z-index:4;
  width:min(920px,100%);
  margin:20px auto 24px;
  padding:14px;
  border-radius:28px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  border:1px solid rgba(191,161,95,.24);
  box-shadow:
    0 18px 48px rgba(18,39,69,.10),
    0 0 26px rgba(191,161,95,.10);
  overflow:hidden;
}

.home-quick-request:before{
  content:"";
  position:absolute;
  inset:-120% auto auto -90%;
  width:220%;
  height:220%;
  background:linear-gradient(
    120deg,
    transparent 42%,
    rgba(191,161,95,.08) 50%,
    rgba(255,255,255,.32) 55%,
    transparent 68%
  );
  animation:quickRequestSweep 8s ease-in-out infinite;
  pointer-events:none;
}

.quick-request-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:12px;
  color:#122745;
  position:relative;
  z-index:2;
}

.quick-request-head strong{
  display:block;
  font-size:.98rem;
  font-weight:900;
  line-height:1;
}

.quick-request-head small{
  display:block;
  color:#64748b;
  font-size:.72rem;
  margin-top:3px;
}

.home-quick-request .pulse-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#bfa15f;
  box-shadow:0 0 0 0 rgba(191,161,95,.42);
  animation:quickRequestDot 1.8s ease-out infinite;
}

.home-quick-request form{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr auto;
  gap:10px;
  align-items:center;
}

.home-quick-request input,
.home-quick-request select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(18,39,69,.12);
  border-radius:999px;
  padding:0 15px;
  font:inherit;
  background:rgba(255,255,255,.92);
  color:#122745;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.home-quick-request input:focus,
.home-quick-request select:focus{
  border-color:rgba(191,161,95,.52);
  box-shadow:0 0 0 4px rgba(191,161,95,.11);
}

.home-quick-request button{
  min-height:46px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  background:#bfa15f;
  color:white;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(191,161,95,.22);
  white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease;
}

.home-quick-request button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(191,161,95,.30);
}

@keyframes quickRequestDot{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 9px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

@keyframes quickRequestSweep{
  0%,72%{opacity:0;transform:translateX(-85%) rotate(12deg)}
  82%{opacity:1}
  100%{opacity:0;transform:translateX(38%) rotate(12deg)}
}

@media(max-width:900px){
  .home-quick-request form{
    grid-template-columns:1fr 1fr;
  }
  .home-quick-request button{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .home-quick-request{
    margin:16px auto 20px;
    padding:13px;
    border-radius:24px;
  }
  .home-quick-request form{
    grid-template-columns:1fr;
    gap:9px;
  }
  .home-quick-request input,
  .home-quick-request select,
  .home-quick-request button{
    min-height:48px;
    font-size:16px;
  }
}

.dispatcher-open{
  border-color:rgba(191,161,95,.42)!important;
  box-shadow:0 16px 40px rgba(18,39,69,.10),0 0 24px rgba(191,161,95,.16)!important;
}
.dispatcher-mic{
  animation:dispatcherButtonPulse 1.9s ease-out infinite!important;
}
@keyframes dispatcherButtonPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 10px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}
.pulse-dispatcher-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,20,39,.64);
  backdrop-filter:blur(12px);
}
.pulse-dispatcher-modal:target{
  display:flex;
}
.pulse-dispatcher-card{
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:34px;
  padding:30px;
  background:
    radial-gradient(circle at 18% 10%,rgba(191,161,95,.12),transparent 32%),
    #fbfaf7;
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 34px 110px rgba(0,0,0,.32);
  position:relative;
}
.dispatcher-close{
  position:absolute;
  right:18px;
  top:12px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:#122745;
  text-decoration:none;
  font-size:2rem;
  line-height:1;
}
.dispatcher-head{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
}
.dispatcher-orb{
  width:76px;
  height:76px;
  border-radius:28px;
  background:linear-gradient(145deg,#071427,#122745);
  display:grid;
  place-items:center;
  box-shadow:0 18px 42px rgba(18,39,69,.18),0 0 28px rgba(191,161,95,.18);
}
.dispatcher-orb span{
  width:52px;
  height:22px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H44 L56 7 L72 36 L88 13 L102 22 H180' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:dispatcherWave 2.4s ease-in-out infinite;
}
.dispatcher-kicker{
  color:#bfa15f;
  font-weight:900;
  letter-spacing:.14em;
  font-size:.72rem;
}
.pulse-dispatcher-card h2{
  margin:8px 0 8px;
  color:#071427;
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1;
  letter-spacing:-.05em;
}
.pulse-dispatcher-card p{
  color:#5d6878;
  line-height:1.55;
  margin:0;
}
.dispatcher-status{
  margin:18px 0;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(145deg,#071427,#122745);
  color:white;
  font-weight:800;
  box-shadow:0 18px 44px rgba(18,39,69,.12);
}
.dispatcher-controls{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.dispatcher-controls button,
.dispatcher-submit{
  min-height:52px;
  border:0;
  border-radius:999px;
  padding:0 16px;
  font-weight:900;
  cursor:pointer;
  background:#bfa15f;
  color:white;
  box-shadow:0 14px 34px rgba(191,161,95,.20);
}
.dispatcher-controls button:nth-child(2){
  background:#122745;
}
.dispatcher-controls button:nth-child(3){
  background:rgba(255,255,255,.88);
  color:#122745;
  border:1px solid rgba(18,39,69,.10);
}
.dispatcher-controls button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.dispatcher-form{
  display:grid;
  gap:14px;
}
.dispatcher-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dispatcher-form label{
  display:grid;
  gap:7px;
  color:#122745;
  font-weight:900;
  font-size:.86rem;
}
.dispatcher-form input,
.dispatcher-form textarea{
  width:100%;
  border:1px solid rgba(18,39,69,.12);
  border-radius:18px;
  padding:13px 14px;
  font:inherit;
  background:rgba(255,255,255,.90);
}
.dispatcher-form textarea{
  min-height:130px;
  resize:vertical;
}
.dispatcher-form input:focus,
.dispatcher-form textarea:focus{
  outline:none;
  border-color:rgba(191,161,95,.55);
  box-shadow:0 0 0 4px rgba(191,161,95,.11);
}
.dispatcher-note{
  margin-top:14px!important;
  font-size:.82rem;
  color:#64748b!important;
}
@keyframes dispatcherWave{
  0%,100%{transform:scaleX(.84);opacity:.52}
  50%{transform:scaleX(1.1);opacity:1}
}
@media(max-width:760px){
  .pulse-dispatcher-card{
    padding:22px;
    border-radius:28px;
  }
  .dispatcher-head{
    grid-template-columns:1fr;
    text-align:center;
  }
  .dispatcher-orb{
    margin:0 auto;
  }
  .dispatcher-controls,
  .dispatcher-grid{
    grid-template-columns:1fr;
  }
}

/* Make Dispatcher button definitely visible and aligned with contact buttons */
.visible-dispatcher-btn{
  width:min(340px,100%)!important;
  margin:10px auto 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(191,161,95,.42)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 18px 44px rgba(18,39,69,.10),0 0 24px rgba(191,161,95,.16)!important;
  position:relative!important;
  z-index:6!important;
}
.dispatcher-mic{
  animation:dispatcherButtonPulse 1.9s ease-out infinite!important;
}
@keyframes dispatcherButtonPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 10px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

/* Compact top request form with extra fields */
.compact-expanded-request{
  width:min(980px,100%)!important;
  margin:14px auto 20px!important;
  padding:12px!important;
  border-radius:26px!important;
}
.compact-expanded-request .quick-request-head{
  margin-bottom:9px!important;
}
.compact-expanded-request .quick-request-head strong{
  font-size:.92rem!important;
}
.compact-expanded-request .quick-request-head small{
  font-size:.68rem!important;
}
.compact-expanded-request form{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.1fr .55fr 1.25fr 86px 92px!important;
  gap:8px!important;
  align-items:center!important;
}
.compact-expanded-request input,
.compact-expanded-request select{
  min-height:42px!important;
  height:42px!important;
  border-radius:999px!important;
  padding:0 12px!important;
  font-size:.88rem!important;
}
.compact-expanded-request .issue-input{
  min-width:0!important;
}
.upload-plus{
  min-height:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:1px solid rgba(191,161,95,.25)!important;
  background:rgba(255,255,255,.92)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  cursor:pointer!important;
  color:#122745!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(18,39,69,.04)!important;
  overflow:hidden!important;
}
.upload-plus input{
  display:none!important;
}
.upload-plus span{
  color:#bfa15f!important;
  font-size:1.15rem!important;
  line-height:1!important;
}
.upload-plus small{
  font-size:.64rem!important;
  white-space:nowrap!important;
}
.compact-expanded-request button{
  min-height:42px!important;
  height:42px!important;
  padding:0 14px!important;
  font-size:.86rem!important;
}

/* Dispatcher modal styles */
.pulse-dispatcher-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,20,39,.64);
  backdrop-filter:blur(12px);
}
.pulse-dispatcher-modal:target{
  display:flex;
}
.pulse-dispatcher-card{
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:34px;
  padding:30px;
  background:radial-gradient(circle at 18% 10%,rgba(191,161,95,.12),transparent 32%),#fbfaf7;
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 34px 110px rgba(0,0,0,.32);
  position:relative;
}
.dispatcher-close{
  position:absolute;
  right:18px;
  top:12px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:#122745;
  text-decoration:none;
  font-size:2rem;
  line-height:1;
}
.dispatcher-head{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
}
.dispatcher-orb{
  width:76px;
  height:76px;
  border-radius:28px;
  background:linear-gradient(145deg,#071427,#122745);
  display:grid;
  place-items:center;
  box-shadow:0 18px 42px rgba(18,39,69,.18),0 0 28px rgba(191,161,95,.18);
}
.dispatcher-orb span{
  width:52px;
  height:22px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 21 H44 L56 7 L72 36 L88 13 L102 22 H180' fill='none' stroke='%23bfa15f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:dispatcherWave 2.4s ease-in-out infinite;
}
.dispatcher-kicker{
  color:#bfa15f;
  font-weight:900;
  letter-spacing:.14em;
  font-size:.72rem;
}
.pulse-dispatcher-card h2{
  margin:8px 0 8px;
  color:#071427;
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1;
  letter-spacing:-.05em;
}
.pulse-dispatcher-card p{
  color:#5d6878;
  line-height:1.55;
  margin:0;
}
.dispatcher-status{
  margin:18px 0;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(145deg,#071427,#122745);
  color:white;
  font-weight:800;
  box-shadow:0 18px 44px rgba(18,39,69,.12);
}
.dispatcher-controls{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.dispatcher-controls button,
.dispatcher-submit{
  min-height:52px;
  border:0;
  border-radius:999px;
  padding:0 16px;
  font-weight:900;
  cursor:pointer;
  background:#bfa15f;
  color:white;
  box-shadow:0 14px 34px rgba(191,161,95,.20);
}
.dispatcher-controls button:nth-child(2){
  background:#122745;
}
.dispatcher-controls button:nth-child(3){
  background:rgba(255,255,255,.88);
  color:#122745;
  border:1px solid rgba(18,39,69,.10);
}
.dispatcher-controls button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.dispatcher-form{
  display:grid;
  gap:14px;
}
.dispatcher-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dispatcher-form label{
  display:grid;
  gap:7px;
  color:#122745;
  font-weight:900;
  font-size:.86rem;
}
.dispatcher-form input,
.dispatcher-form textarea{
  width:100%;
  border:1px solid rgba(18,39,69,.12);
  border-radius:18px;
  padding:13px 14px;
  font:inherit;
  background:rgba(255,255,255,.90);
}
.dispatcher-form textarea{
  min-height:130px;
  resize:vertical;
}
.dispatcher-note{
  margin-top:14px!important;
  font-size:.82rem;
  color:#64748b!important;
}
@keyframes dispatcherWave{
  0%,100%{transform:scaleX(.84);opacity:.52}
  50%{transform:scaleX(1.1);opacity:1}
}

/* Mobile: keep compact but usable */
@media(max-width:980px){
  .compact-expanded-request form{
    grid-template-columns:1fr 1fr!important;
  }
  .compact-expanded-request .issue-input,
  .compact-expanded-request button{
    grid-column:1 / -1!important;
  }
}
@media(max-width:760px){
  .visible-dispatcher-btn{
    margin:10px auto 14px!important;
  }
  .compact-expanded-request{
    padding:12px!important;
    border-radius:24px!important;
  }
  .compact-expanded-request form{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .compact-expanded-request input,
  .compact-expanded-request select,
  .compact-expanded-request button,
  .upload-plus{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    font-size:16px!important;
  }
  .pulse-dispatcher-card{
    padding:22px;
    border-radius:28px;
  }
  .dispatcher-head{
    grid-template-columns:1fr;
    text-align:center;
  }
  .dispatcher-orb{
    margin:0 auto;
  }
  .dispatcher-controls,
  .dispatcher-grid{
    grid-template-columns:1fr;
  }
}

/* Callback widget itself is always visible */
.floating-callback-form{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:2800!important;
}

/* Short compact Callback button */
.callback-toggle{
  min-width:auto!important;
  padding:10px 14px!important;
  gap:6px!important;
  border-radius:999px!important;
  opacity:1!important;
  pointer-events:auto!important;
  display:flex!important;
}

/* Remove right-side pulse line */
.callback-toggle .callback-pulse{
  display:none!important;
}

/* Keep pulse underline under Callback word */
.callback-toggle strong{
  position:relative!important;
  display:inline-block!important;
  padding-bottom:7px!important;
  line-height:1!important;
}

.callback-toggle strong:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:54px!important;
  height:10px!important;
  transform:translateX(-50%) scaleX(.82)!important;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H32 L42 3 L56 21 L70 7 L82 12 H120' fill='none' stroke='%23bfa15f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' opacity='.75'/%3E%3C/svg%3E") center/contain no-repeat!important;
  animation:callbackUnderlineBeatFixed 2.2s ease-in-out infinite!important;
}

/* Mini panel hidden by default, not the button */
.callback-mini-panel{
  opacity:0!important;
  transform:translateY(10px) scale(.96)!important;
  pointer-events:none!important;
  transition:opacity .32s ease, transform .32s ease!important;
}

/* Panel appears once near middle; hover/focus still opens it for user control */
.floating-callback-form.callback-panel-peek .callback-mini-panel,
.floating-callback-form:hover .callback-mini-panel,
.floating-callback-form:focus-within .callback-mini-panel{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  pointer-events:auto!important;
}

/* When auto peek closes, hover still works */
.floating-callback-form.callback-panel-peek-ended .callback-mini-panel{
  opacity:0;
}

@keyframes callbackUnderlineBeatFixed{
  0%,100%{transform:translateX(-50%) scaleX(.75);opacity:.28}
  50%{transform:translateX(-50%) scaleX(1.08);opacity:.85}
}

@media(max-width:760px){
  .floating-callback-form{
    right:12px!important;
    bottom:12px!important;
  }
  .callback-toggle{
    padding:9px 12px!important;
    font-size:.84rem!important;
  }
  .callback-toggle strong:after{
    width:48px!important;
  }
}

/* Panel is hidden by default; button remains visible */
.callback-mini-panel{
  opacity:0!important;
  transform:translateY(10px) scale(.96)!important;
  pointer-events:none!important;
  transition:opacity .32s ease, transform .32s ease!important;
}

/* Auto-open class */
.floating-callback-form.callback-panel-peek .callback-mini-panel{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  pointer-events:auto!important;
}

/* Desktop can still open on hover/focus */
@media(min-width:761px){
  .floating-callback-form:hover .callback-mini-panel,
  .floating-callback-form:focus-within .callback-mini-panel{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
    pointer-events:auto!important;
  }
}

/* Mobile: no hover-triggered constant opening */
@media(max-width:760px){
  .floating-callback-form:hover .callback-mini-panel,
  .floating-callback-form:focus-within .callback-mini-panel{
    opacity:0!important;
    transform:translateY(10px) scale(.96)!important;
    pointer-events:none!important;
  }

  .floating-callback-form.callback-panel-peek .callback-mini-panel{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
    pointer-events:auto!important;
  }
}

/* Balanced owner block: bigger face, still compact and functional */
.pulse-owner-balanced{
  width:min(980px,100%);
  margin:16px auto 14px;
  display:grid;
  grid-template-columns:minmax(190px,260px) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  position:relative;
  z-index:7;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 18%,rgba(191,161,95,.16),transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(251,250,247,.82));
  border:1px solid rgba(191,161,95,.24);
  box-shadow:0 22px 58px rgba(18,39,69,.10),0 0 26px rgba(191,161,95,.09);
  backdrop-filter:blur(14px);
}

.pulse-owner-balanced:after{
  content:"";
  position:absolute;
  right:-70px;
  top:-80px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(191,161,95,.14),transparent 70%);
  pointer-events:none;
  animation:ownerBalancedGlow 6s ease-in-out infinite;
}

.pulse-owner-balanced-photo{
  position:relative;
  min-height:210px;
  background:#071427;
  overflow:hidden;
}

.pulse-owner-balanced-photo img{
  width:100%;
  height:100%;
  min-height:210px;
  object-fit:cover;
  object-position:center 18%;
  display:block;
  filter:saturate(1.02) contrast(1.02);
}

.pulse-owner-balanced-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right,transparent 58%,rgba(251,250,247,.20)),
    linear-gradient(to top,rgba(7,20,39,.22),transparent 58%);
  pointer-events:none;
}

.pulse-owner-balanced-copy{
  padding:clamp(20px,3vw,32px);
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}

.pulse-owner-balanced-copy span{
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(18,39,69,.06);
  border:1px solid rgba(191,161,95,.18);
  color:#bfa15f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
  margin-bottom:12px;
}

.pulse-owner-balanced-copy strong{
  color:#071427;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.04;
  font-size:clamp(1.45rem,2.8vw,2.35rem);
  max-width:680px;
}

.pulse-owner-balanced-copy p{
  color:#5d6878!important;
  margin:10px 0 0!important;
  line-height:1.48!important;
  font-size:.98rem!important;
  max-width:700px!important;
  text-align:left!important;
}

/* Small hello square */
.owner-hello-box{
  position:absolute;
  left:14px;
  top:14px;
  z-index:4;
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(7,20,39,.88);
  color:#d9bc79;
  border:1px solid rgba(191,161,95,.45);
  box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 18px rgba(191,161,95,.16);
  overflow:hidden;
}

.owner-hello-box:before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:9px;
  height:9px;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H32 L42 3 L56 21 L70 7 L82 12 H120' fill='none' stroke='%23bfa15f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' opacity='.75'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:ownerHelloBoxPulse 2.1s ease-in-out infinite;
}

.owner-hello-box i:after{
  content:"Hi";
  font-style:normal;
  font-size:.68rem;
  font-weight:900;
  animation:ownerHelloBoxWords 9s steps(1,end) infinite;
}

/* Keep functional items visible */
.quick-contact-panel{
  margin-top:12px!important;
  margin-bottom:10px!important;
}

.home-quick-request{
  margin-top:10px!important;
  margin-bottom:14px!important;
}

.reference-appliance-grid{
  margin-top:14px!important;
  display:grid!important;
}

.reference-home-hero,
.first-services,
.hero{
  padding-bottom:24px!important;
}

@keyframes ownerBalancedGlow{
  0%,100%{opacity:.42;transform:scale(.92)}
  50%{opacity:.85;transform:scale(1.08)}
}

@keyframes ownerHelloBoxPulse{
  0%,100%{transform:scaleX(.72);opacity:.28}
  50%{transform:scaleX(1.08);opacity:.86}
}

@keyframes ownerHelloBoxWords{
  0%{content:"Hi"}
  12.5%{content:"Hola"}
  25%{content:"Bonjour"}
  37.5%{content:"Привет"}
  50%{content:"Hallo"}
  62.5%{content:"Ciao"}
  75%{content:"Olá"}
  87.5%{content:"Вітаю"}
}

@media(max-width:900px){
  .pulse-owner-balanced{
    grid-template-columns:210px 1fr;
  }
}

@media(max-width:760px){
  .pulse-owner-balanced{
    grid-template-columns:132px 1fr;
    border-radius:24px;
    margin:14px auto 12px;
  }

  .pulse-owner-balanced-photo{
    min-height:178px;
  }

  .pulse-owner-balanced-photo img{
    min-height:178px;
    object-position:center top;
  }

  .pulse-owner-balanced-copy{
    padding:16px 14px;
  }

  .pulse-owner-balanced-copy span{
    font-size:.52rem;
    padding:6px 8px;
    margin-bottom:8px;
    letter-spacing:.10em;
  }

  .pulse-owner-balanced-copy strong{
    font-size:clamp(1.02rem,5vw,1.35rem);
    line-height:1.06;
  }

  .pulse-owner-balanced-copy p{
    font-size:.76rem!important;
    line-height:1.28!important;
    margin-top:7px!important;
  }

  .owner-hello-box{
    width:42px;
    height:42px;
    border-radius:12px;
    left:8px;
    top:8px;
  }

  .owner-hello-box i:after{
    font-size:.50rem;
  }

  .owner-hello-box:before{
    left:7px;
    right:7px;
    bottom:6px;
    height:7px;
  }
}

@media(max-width:420px){
  .pulse-owner-balanced{
    grid-template-columns:118px 1fr;
  }
  .pulse-owner-balanced-photo,
  .pulse-owner-balanced-photo img{
    min-height:168px;
  }
}

/* Compact hero: merged trust/experience text + popup request button */
.reference-subtitle,
.hero p{
  max-width:760px!important;
}

.pulse-owner-balanced,
.pulse-owner-strip{
  margin-top:12px!important;
  margin-bottom:12px!important;
}

.pulse-owner-balanced-copy p,
.pulse-owner-strip-text p{
  font-size:.88rem!important;
  line-height:1.38!important;
}

.quick-contact-panel{
  margin-top:12px!important;
  margin-bottom:14px!important;
}

/* Request service button near call/text/voicemail */
.pulse-request-button{
  border-color:rgba(191,161,95,.45)!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:
    0 16px 40px rgba(18,39,69,.10),
    0 0 26px rgba(191,161,95,.18)!important;
  position:relative!important;
  overflow:hidden!important;
}

.pulse-request-button:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:8px;
  width:82px;
  height:12px;
  transform:translateX(-50%) scaleX(.78);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H32 L42 3 L56 21 L70 7 L82 12 H120' fill='none' stroke='%23bfa15f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' opacity='.75'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:requestButtonPulseLine 2s ease-in-out infinite;
  pointer-events:none;
}

.request-icon{
  animation:requestIconGlow 1.65s ease-out infinite!important;
}

/* Modal */
.pulse-request-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,20,39,.62);
  backdrop-filter:blur(12px);
}

.pulse-request-modal:target{
  display:flex;
}

.pulse-request-card{
  width:min(560px,100%);
  max-height:92vh;
  overflow:auto;
  position:relative;
  border-radius:32px;
  padding:24px;
  background:
    radial-gradient(circle at 14% 10%,rgba(191,161,95,.14),transparent 34%),
    #fbfaf7;
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 34px 100px rgba(0,0,0,.30);
}

.pulse-request-close{
  position:absolute;
  top:12px;
  right:14px;
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.82);
  color:#122745;
  font-size:2rem;
  line-height:1;
  text-decoration:none;
}

.request-modal-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding-right:38px;
}

.request-modal-head .pulse-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#bfa15f;
  box-shadow:0 0 0 0 rgba(191,161,95,.42);
  animation:requestDotPulse 1.8s ease-out infinite;
}

.request-modal-head strong{
  display:block;
  color:#071427;
  font-weight:900;
  line-height:1;
}

.request-modal-head small{
  display:block;
  color:#64748b;
  font-size:.78rem;
  margin-top:4px;
}

.pulse-request-card form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.pulse-request-card input,
.pulse-request-card select,
.pulse-request-card textarea{
  width:100%;
  min-height:48px;
  border:1px solid rgba(18,39,69,.12);
  border-radius:16px;
  padding:12px 14px;
  font:inherit;
  background:rgba(255,255,255,.92);
  color:#122745;
}

.pulse-request-card textarea{
  grid-column:1 / -1;
  min-height:96px;
  resize:vertical;
}

.request-photo-plus{
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(191,161,95,.28);
  background:rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  color:#122745;
  font-weight:900;
}

.request-photo-plus input{
  display:none;
}

.request-photo-plus span{
  color:#bfa15f;
  font-size:1.2rem;
  line-height:1;
}

.pulse-request-card button{
  min-height:48px;
  border:0;
  border-radius:999px;
  background:#bfa15f;
  color:white;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(191,161,95,.22);
}

/* Section order spacing */
#areas,
#reviews{
  scroll-margin-top:110px;
}

@keyframes requestButtonPulseLine{
  0%,100%{transform:translateX(-50%) scaleX(.70);opacity:.28}
  50%{transform:translateX(-50%) scaleX(1.08);opacity:.86}
}

@keyframes requestIconGlow{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 10px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

@keyframes requestDotPulse{
  0%{box-shadow:0 0 0 0 rgba(191,161,95,.42)}
  80%{box-shadow:0 0 0 10px rgba(191,161,95,0)}
  100%{box-shadow:0 0 0 0 rgba(191,161,95,0)}
}

@media(max-width:760px){
  .pulse-request-card{
    border-radius:26px;
    padding:22px;
  }

  .pulse-request-card form{
    grid-template-columns:1fr;
  }

  .pulse-request-card textarea{
    grid-column:auto;
  }

  .pulse-request-button:after{
    width:72px;
  }
}

/* Video replaces owner photo on first screen */
.pulse-owner-hero-video{
  width:100%;
  height:100%;
  min-height:210px;
  object-fit:cover;
  object-position:center;
  display:block;
  background:#071427;
}

.pulse-owner-balanced-photo .pulse-owner-hero-video,
.pulse-owner-strip-photo .pulse-owner-hero-video,
.owner-photo-card .pulse-owner-hero-video{
  height:100%!important;
}

/* Restore appliance tiles layout safety — do not force them into one row */
.reference-appliance-grid{
  display:grid!important;
}

@media(min-width:761px){
  .reference-appliance-grid{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  }
}

@media(max-width:760px){
  .reference-appliance-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
}

@media(max-width:430px){
  .reference-appliance-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
}

/* Clean white/gold Request Service button */
.owner-request-pulse-btn{
  margin-top:12px!important;
  min-height:44px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  border:1px solid rgba(191,161,95,.52)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.88)) padding-box,
    linear-gradient(135deg,#bfa15f,#f0d58e,#bfa15f) border-box!important;
  color:#071427!important;
  font:inherit!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
  cursor:pointer!important;
  position:relative!important;
  overflow:hidden!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  box-shadow:
    0 12px 26px rgba(18,39,69,.10),
    0 0 0 1px rgba(191,161,95,.10),
    0 0 20px rgba(191,161,95,.18)!important;
  animation:pulseRequestCleanGlow 2.7s ease-in-out infinite!important;
}

.owner-request-pulse-btn span{
  color:#071427!important;
  opacity:1!important;
  position:relative!important;
  z-index:2!important;
  padding-bottom:7px!important;
}

.owner-request-pulse-btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(191,161,95,.24) 50%,transparent 80%);
  transform:translateX(-120%);
  animation:pulseRequestCleanSweep 3.4s ease-in-out infinite;
  pointer-events:none;
}

.owner-request-pulse-btn:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  width:86px;
  height:12px;
  transform:translateX(-50%) scaleX(.75);
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 12 H32 L42 3 L56 21 L70 7 L82 12 H120' fill='none' stroke='%23071427' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' opacity='.72'/%3E%3C/svg%3E") center/contain no-repeat!important;
  animation:pulseRequestCleanLine 2.1s ease-in-out infinite;
  pointer-events:none;
}

/* Move service map closer without changing appliance tiles */
.reference-home-hero,
.first-services,
.hero{
  padding-bottom:14px!important;
}

#areas,
.service-area-section,
.service-areas-section{
  padding-top:16px!important;
  margin-top:0!important;
  scroll-margin-top:100px;
}

/* Request modal working state */
.pulse-request-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,20,39,.64);
  backdrop-filter:blur(12px);
}

.pulse-request-modal.is-open{
  display:flex!important;
}

.pulse-request-card{
  width:min(560px,100%);
  max-height:92vh;
  overflow:auto;
  position:relative;
  border-radius:32px;
  padding:24px;
  background:radial-gradient(circle at 14% 10%,rgba(191,161,95,.14),transparent 34%),#fbfaf7;
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 34px 100px rgba(0,0,0,.30);
}

.pulse-request-close{
  position:absolute;
  top:12px;
  right:14px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.86);
  color:#122745;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}

.request-modal-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding-right:38px;
}

.request-modal-head .pulse-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#bfa15f;
}

.pulse-request-card form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.pulse-request-card input,
.pulse-request-card select,
.pulse-request-card textarea{
  width:100%;
  min-height:48px;
  border:1px solid rgba(18,39,69,.12);
  border-radius:16px;
  padding:12px 14px;
  font:inherit;
  background:rgba(255,255,255,.94);
  color:#122745;
}

.pulse-request-card textarea{
  grid-column:1/-1;
  min-height:96px;
  resize:vertical;
}

.request-photo-plus{
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(191,161,95,.28);
  background:rgba(255,255,255,.94);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  color:#122745;
  font-weight:900;
}

.request-photo-plus input{display:none}
.request-photo-plus span{color:#bfa15f;font-size:1.2rem}
.pulse-request-card button[type="submit"]{
  min-height:48px;
  border:0;
  border-radius:999px;
  background:#bfa15f;
  color:white;
  font-weight:900;
  cursor:pointer;
}

@keyframes pulseRequestCleanGlow{
  0%,100%{box-shadow:0 12px 26px rgba(18,39,69,.10),0 0 0 1px rgba(191,161,95,.10),0 0 18px rgba(191,161,95,.14)}
  50%{box-shadow:0 16px 34px rgba(18,39,69,.12),0 0 0 1px rgba(191,161,95,.20),0 0 30px rgba(191,161,95,.28)}
}
@keyframes pulseRequestCleanSweep{
  0%,45%{transform:translateX(-120%)}
  70%,100%{transform:translateX(120%)}
}
@keyframes pulseRequestCleanLine{
  0%,100%{transform:translateX(-50%) scaleX(.72);opacity:.38}
  50%{transform:translateX(-50%) scaleX(1.08);opacity:.86}
}

@media(max-width:760px){
  .pulse-owner-hero-video{
    min-height:170px;
  }
  .owner-request-pulse-btn{
    min-height:42px!important;
    padding:0 17px!important;
    font-size:.84rem!important;
  }
  .pulse-request-card{
    border-radius:26px;
    padding:22px;
  }
  .pulse-request-card form{
    grid-template-columns:1fr;
  }
  .pulse-request-card textarea{
    grid-column:auto;
  }
}

.pulse-four-actions{
  width:min(760px,calc(100% - 28px))!important;
  margin:14px auto 12px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.pulse-four-actions .pulse-action-btn{
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  padding:10px 6px!important;
  border-radius:22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  position:relative!important;
  border:1px solid rgba(191,161,95,.28)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.84)) padding-box,
    linear-gradient(135deg,rgba(191,161,95,.42),rgba(255,255,255,.24),rgba(191,161,95,.36)) border-box!important;
  box-shadow:0 12px 28px rgba(18,39,69,.08),0 0 18px rgba(191,161,95,.10)!important;
  cursor:pointer!important;
  font-family:inherit!important;
}
.pulse-four-actions .pulse-action-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 18%,rgba(191,161,95,.20) 48%,rgba(255,255,255,.42) 55%,transparent 78%);
  transform:translateX(-130%);
  animation:pulseFourButtonShimmer 4.2s ease-in-out infinite;
  pointer-events:none;
}
.pulse-four-actions .pulse-action-call{
  background:
    linear-gradient(180deg,#d6ba72,#bfa15f) padding-box,
    linear-gradient(135deg,#f2dc9a,#bfa15f,#ffffff) border-box!important;
}
.pulse-four-actions .qc-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  position:relative!important;
  z-index:2!important;
  background:rgba(18,39,69,.07)!important;
  color:#122745!important;
  box-shadow:inset 0 0 0 1px rgba(191,161,95,.18)!important;
  font-size:0!important;
}
.pulse-four-actions .pulse-action-call .qc-icon{
  background:rgba(255,255,255,.24)!important;
  color:white!important;
}
.pulse-four-actions .pulse-action-call .qc-icon::before{content:"☎";font-size:1.08rem}
.pulse-four-actions .pulse-action-text .qc-icon::before{content:"💬";font-size:1rem}
.pulse-four-actions .pulse-action-voice .qc-icon::before{content:"🎙";font-size:1rem}
.pulse-four-actions .pulse-action-dispatcher .qc-icon::before{content:"🎧";font-size:1.02rem}
.pulse-four-actions strong{
  display:block!important;
  width:100%!important;
  color:#071427!important;
  font-size:.86rem!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  position:relative!important;
  z-index:2!important;
}
.pulse-four-actions .pulse-action-call strong{color:white!important}
.pulse-four-actions small{display:none!important}

.pulse-action-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,20,39,.64);
  backdrop-filter:blur(12px);
}
.pulse-action-modal.is-open{display:flex!important}
.pulse-action-modal-card{
  width:min(520px,100%);
  border-radius:28px;
  padding:26px;
  background:#fbfaf7;
  box-shadow:0 34px 100px rgba(0,0,0,.30);
  position:relative;
}
.pulse-action-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:white;
  color:#122745;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}
.pulse-action-modal-card h2{margin:0 0 10px;color:#071427}
.pulse-action-modal-card p{color:#5d6878;line-height:1.55}
.modal-main-action{
  display:inline-flex;
  min-height:44px;
  padding:0 18px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:0;
  background:#bfa15f;
  color:white;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:760px){
  .pulse-four-actions{
    width:calc(100% - 18px)!important;
    margin:10px auto 8px!important;
    gap:7px!important;
  }
  .pulse-four-actions .pulse-action-btn{
    min-height:64px!important;
    height:64px!important;
    border-radius:18px!important;
    padding:6px 3px!important;
    gap:5px!important;
  }
  .pulse-four-actions .qc-icon{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
  }
  .pulse-four-actions strong{font-size:.58rem!important}
}
@media(max-width:430px){
  .pulse-four-actions{width:calc(100% - 14px)!important;gap:5px!important}
  .pulse-four-actions .pulse-action-btn{min-height:60px!important;height:60px!important;border-radius:16px!important}
  .pulse-four-actions .qc-icon{width:24px!important;height:24px!important;min-width:24px!important}
  .pulse-four-actions strong{font-size:.52rem!important}
}
@keyframes pulseFourButtonShimmer{
  0%,55%{transform:translateX(-130%);opacity:0}
  65%{opacity:1}
  88%,100%{transform:translateX(130%);opacity:0}
}


/* Pulse 1.7 visual/action fixes: Request Service + mobile action modals */
.owner-request-pulse-btn{
  min-height:52px!important;
  padding:0 26px!important;
  border:0!important;
  outline:0!important;
  background:linear-gradient(180deg,#d8bd76,#bfa15f)!important;
  color:#fff!important;
  font-size:1.08rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  box-shadow:0 16px 36px rgba(191,161,95,.28),0 8px 24px rgba(18,39,69,.10)!important;
}
.owner-request-pulse-btn span{color:#fff!important;font-size:1.08rem!important;padding-bottom:8px!important;text-shadow:0 1px 1px rgba(7,20,39,.16)!important}
.owner-request-pulse-btn:focus-visible{box-shadow:0 0 0 4px rgba(191,161,95,.30),0 16px 36px rgba(191,161,95,.28)!important}
.owner-request-pulse-btn:after{filter:brightness(1.3)!important;opacity:.95!important}

.pulse-four-actions .pulse-action-text,
.pulse-four-actions .pulse-action-voice,
.pulse-four-actions .pulse-action-dispatcher{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(191,161,95,.22)!important;
  pointer-events:auto!important;
}
.pulse-action-modal-card.pulse-voice-card,
.pulse-action-modal-card.pulse-dispatcher-card-lite{width:min(640px,100%);max-height:92vh;overflow:auto}
.modal-kicker{color:#bfa15f;font-weight:950;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;margin-bottom:8px}
.voice-recorder-box,.dispatcher-live-panel{margin-top:16px;border:1px solid rgba(18,39,69,.10);border-radius:22px;background:rgba(255,255,255,.72);padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.voice-status,.dispatcher-status-lite{font-weight:900;color:#071427;margin-bottom:10px}.voice-timer{font-size:2rem;font-weight:950;color:#bfa15f;letter-spacing:.04em;margin:6px 0 12px}
.voice-controls,.voice-share-row,.dispatcher-send-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.modal-secondary-action{display:inline-flex;min-height:44px;padding:0 18px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(18,39,69,.12);background:#fff;color:#071427;font-weight:900;text-decoration:none;cursor:pointer}.modal-secondary-action:disabled,.modal-main-action:disabled{opacity:.45;cursor:not-allowed}#voiceRecorderPlayback{width:100%;margin-top:14px}#dispatcherTranscript{width:100%;min-height:126px;margin-top:12px;border:1px solid rgba(18,39,69,.12);border-radius:18px;padding:13px 14px;font:inherit;color:#071427;background:#fff;resize:vertical}.modal-note{display:block;color:#667085;line-height:1.45;margin-top:12px}
@media(max-width:760px){.owner-request-pulse-btn{width:100%!important;max-width:320px!important;min-height:56px!important;font-size:1.05rem!important}.owner-request-pulse-btn span{font-size:1.05rem!important}.pulse-four-actions .pulse-action-text,.pulse-four-actions .pulse-action-voice,.pulse-four-actions .pulse-action-dispatcher{cursor:pointer!important}.voice-controls,.voice-share-row,.dispatcher-send-row{display:grid;grid-template-columns:1fr;gap:9px}.modal-main-action,.modal-secondary-action{width:100%}.pulse-action-modal{padding:12px!important}.pulse-action-modal-card.pulse-voice-card,.pulse-action-modal-card.pulse-dispatcher-card-lite{border-radius:24px;padding:22px}}


/* Pulse 1.8 QA: service area map hover must glow without moving city labels */
.area-pin,
.service-area-pin,
.city-pin,
.map-city,
.city-link,
.service-area-city{
  will-change:auto!important;
}
.area-pin:hover,
.service-area-pin:hover,
.city-pin:hover,
.map-city:hover,
.city-link:hover,
.service-area-city:hover{
  transform:translate(-50%,-50%)!important;
  translate:none!important;
  scale:1!important;
  margin:inherit!important;
  color:var(--gold)!important;
  border-color:rgba(191,161,95,.55)!important;
  box-shadow:0 14px 34px rgba(13,34,68,.12),0 0 28px rgba(191,161,95,.24)!important;
}
