/* v110 overlay fix: old hero overlay removed from special pages */

/* Page-specific hero overlays for core service pages and contact page */
body.page-cleaning .mg-hero-build-overlay,
body.page-repair .mg-hero-build-overlay,
body.page-guards .mg-hero-build-overlay,
body.page-contact .mg-hero-build-overlay{display:none!important}

.mg-page-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;isolation:isolate}
.mg-page-overlay *,.mg-page-overlay *::before,.mg-page-overlay *::after{box-sizing:border-box}
.mg-page-overlay .mg-scene-sky{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.22),transparent 26%),linear-gradient(180deg,rgba(11,43,92,.05),transparent 38%)}
.mg-page-overlay .mg-fascia-strip{position:absolute;left:0;right:0;top:0;height:24px;background:linear-gradient(180deg,#fff,#cfd9e4);border-bottom:2px solid rgba(11,43,92,.32);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.mg-page-overlay .mg-gutter{position:absolute;left:78px;right:78px;top:30px;height:34px;border-radius:2px 2px 8px 8px;background:linear-gradient(180deg,#f2e5d7 0,#cda67f 16%,#8f6a46 64%,#6f4f33 100%);border:1px solid rgba(79,53,31,.55);box-shadow:0 10px 18px rgba(0,0,0,.18)}
.mg-page-overlay .mg-gutter::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(180deg,#fff,#ead8c3);border-bottom:1px solid rgba(11,43,92,.16)}
.mg-page-overlay .mg-gutter::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:9px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.08));opacity:.4}
.mg-page-overlay .mg-downspout{position:absolute;top:64px;width:16px;height:calc(100% - 70px);min-height:126px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#ead8c3,#ae845d,#d8bb9c);border:1px solid rgba(79,53,31,.55);box-shadow:4px 8px 14px rgba(0,0,0,.16)}
.mg-page-overlay .mg-downspout-right{right:104px}
.mg-page-overlay .mg-downspout-left{left:104px}

.mg-page-overlay .mg-ladder{position:absolute;top:42px;bottom:10px;width:48px;border-left:5px solid rgba(255,255,255,.96);border-right:5px solid rgba(255,255,255,.96);background:repeating-linear-gradient(180deg,transparent 0 14px,rgba(255,255,255,.95) 14px 19px,transparent 19px 34px);filter:drop-shadow(0 6px 6px rgba(0,0,0,.26))}
.mg-page-overlay .mg-ladder.left{left:158px;transform:rotate(2deg)}
.mg-page-overlay .mg-ladder.right{right:158px;transform:rotate(-2deg)}

.mg-page-overlay .mg-worker{position:absolute;width:52px;height:90px;filter:drop-shadow(0 6px 7px rgba(0,0,0,.27))}
.mg-page-overlay .mg-worker .hat{position:absolute;left:11px;top:0;width:30px;height:14px;background:linear-gradient(90deg,#bb861f,#e3a839,#f4c35d);border:2px solid #0b2b5c;border-radius:16px 16px 5px 5px}
.mg-page-overlay .mg-worker .head{position:absolute;left:15px;top:12px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe3c8,#efc8a0 70%,#d2a17c);border:2px solid #0b2b5c}
.mg-page-overlay .mg-worker .body{position:absolute;left:14px;top:35px;width:24px;height:28px;background:linear-gradient(90deg,#0b2b5c,#1d4f86);border-radius:12px;box-shadow:0 0 0 3px rgba(255,255,255,.82)}
.mg-page-overlay .mg-worker .arm{position:absolute;top:42px;width:22px;height:7px;background:linear-gradient(90deg,#0b2b5c,#1d4f86);border-radius:999px;transform-origin:4px 3px}
.mg-page-overlay .mg-worker .arm.left{left:0;transform:rotate(-28deg)}
.mg-page-overlay .mg-worker .arm.right{right:0;transform:rotate(30deg)}
.mg-page-overlay .mg-worker .arm::after{content:"";position:absolute;right:-5px;top:-2px;width:9px;height:9px;border-radius:50%;background:#efc8a0;border:1px solid #0b2b5c}
.mg-page-overlay .mg-worker .leg{position:absolute;top:61px;width:8px;height:24px;background:linear-gradient(90deg,#0b2b5c,#1d4f86);border-radius:999px}
.mg-page-overlay .mg-worker .leg.left{left:16px;transform:rotate(12deg)}
.mg-page-overlay .mg-worker .leg.right{right:16px;transform:rotate(-12deg)}
.mg-page-overlay .mg-worker .leg::after{content:"";position:absolute;left:-3px;bottom:-2px;width:14px;height:6px;border-radius:999px;background:#081c39}

/* Cleaning page */
.page-cleaning .mg-overlay-cleaning .mg-worker{left:156px;bottom:16px;animation:mgCleanWorker 10.5s ease-in-out infinite}
.page-cleaning .mg-overlay-cleaning .mg-worker .arm.right{animation:mgReachArm 10.5s ease-in-out infinite}
.page-cleaning .mg-overlay-cleaning .mg-leaf-pile{position:absolute;top:16px;width:76px;height:34px;background:radial-gradient(circle at 18% 58%,#9a5f1e 0 12%,transparent 13%),radial-gradient(circle at 38% 40%,#c96f1f 0 12%,transparent 13%),radial-gradient(circle at 60% 58%,#c79b2b 0 13%,transparent 14%),radial-gradient(circle at 78% 42%,#7f9427 0 13%,transparent 14%),radial-gradient(circle at 50% 70%,#b55222 0 12%,transparent 13%);opacity:.95}
.page-cleaning .mg-overlay-cleaning .mg-leaf-pile.left{left:124px}
.page-cleaning .mg-overlay-cleaning .mg-leaf-pile.right{right:176px}
.page-cleaning .mg-overlay-cleaning .mg-falling-leaf{position:absolute;top:52px;width:14px;height:14px;background:linear-gradient(135deg,#d97706,#f59e0b,#84cc16);clip-path:polygon(50% 0,66% 24%,100% 28%,76% 50%,84% 100%,50% 78%,16% 100%,24% 50%,0 28%,34% 24%);opacity:0}
.page-cleaning .mg-overlay-cleaning .mg-falling-leaf.one{left:188px;animation:mgLeafDrop 5.2s ease-in-out infinite 1.1s}
.page-cleaning .mg-overlay-cleaning .mg-falling-leaf.two{left:226px;animation:mgLeafDrop 5.8s ease-in-out infinite 2.6s}
.page-cleaning .mg-overlay-cleaning .mg-falling-leaf.three{right:214px;animation:mgLeafDrop 5.1s ease-in-out infinite .7s}

/* Repair page */
.page-repair .mg-overlay-repair .mg-gutter.main{left:78px;right:268px}
.page-repair .mg-overlay-repair .mg-gutter-break{position:absolute;top:30px;right:228px;width:44px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(0,0,0,.10));clip-path:polygon(0 0,100% 0,72% 100%,18% 100%)}
.page-repair .mg-overlay-repair .mg-broken-piece{position:absolute;right:68px;top:126px;width:206px;height:34px;border-radius:2px 2px 8px 8px;background:linear-gradient(180deg,#f2e5d7 0,#cda67f 16%,#8f6a46 64%,#6f4f33 100%);border:1px solid rgba(79,53,31,.55);box-shadow:0 12px 18px rgba(0,0,0,.16);transform-origin:18px 10px;transform:rotate(22deg);animation:mgBrokenLift 10.5s ease-in-out infinite}
.page-repair .mg-overlay-repair .mg-broken-piece::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(180deg,#fff,#ead8c3);border-bottom:1px solid rgba(11,43,92,.16)}
.page-repair .mg-overlay-repair .mg-worker{right:155px;bottom:16px;animation:mgRepairWorker 10.5s ease-in-out infinite}
.page-repair .mg-overlay-repair .mg-worker .arm.left{animation:mgFixArm 10.5s ease-in-out infinite}

/* Guards page */
.page-guards .mg-overlay-guards .mg-guard-top{position:absolute;left:78px;right:78px;top:22px;height:14px;border-radius:10px 10px 0 0;background:repeating-linear-gradient(135deg,#d9e3ea 0 7px,#8a9fb0 7px 10px);border:1px solid rgba(11,43,92,.28);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.page-guards .mg-overlay-guards .mg-worker{left:156px;bottom:16px;animation:mgGuardWorker 10.5s ease-in-out infinite}
.page-guards .mg-overlay-guards .mg-worker .arm.right{animation:mgInstallArm 10.5s ease-in-out infinite}
.page-guards .mg-overlay-guards .mg-guard-panel{position:absolute;left:188px;top:132px;width:116px;height:12px;border-radius:10px 10px 0 0;background:repeating-linear-gradient(135deg,#d9e3ea 0 7px,#8a9fb0 7px 10px);border:1px solid rgba(11,43,92,.28);opacity:0;animation:mgGuardPanel 10.5s ease-in-out infinite}
.page-guards .mg-overlay-guards .mg-glide-leaf{position:absolute;top:10px;width:17px;height:17px;background:linear-gradient(135deg,#f59e0b,#84cc16);clip-path:polygon(50% 0,64% 26%,100% 28%,74% 50%,84% 100%,50% 76%,16% 100%,26% 50%,0 28%,36% 26%)}
.page-guards .mg-overlay-guards .mg-glide-leaf.one{left:220px;animation:mgLeafGlide 6.5s ease-in-out infinite .2s}
.page-guards .mg-overlay-guards .mg-glide-leaf.two{left:340px;animation:mgLeafGlide 6.5s ease-in-out infinite 1.7s}
.page-guards .mg-overlay-guards .mg-glide-leaf.three{left:520px;animation:mgLeafGlide 6.5s ease-in-out infinite 3.1s}

/* Contact page */
.page-contact .mg-overlay-contact .mg-office-scene{position:absolute;right:72px;bottom:18px;width:270px;height:170px}
.page-contact .mg-overlay-contact .mg-desk{position:absolute;left:34px;right:0;bottom:0;height:58px;background:linear-gradient(180deg,#cda67f,#8f6a46);border:1px solid rgba(79,53,31,.55);border-radius:12px 12px 8px 8px;box-shadow:0 10px 18px rgba(0,0,0,.16)}
.page-contact .mg-overlay-contact .mg-desk::before{content:"";position:absolute;left:16px;right:16px;top:9px;height:6px;background:rgba(255,255,255,.20);border-radius:999px}
.page-contact .mg-overlay-contact .mg-chair{position:absolute;left:84px;bottom:44px;width:56px;height:56px;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#dbe6ee,#8aa1b3);border:1px solid rgba(11,43,92,.24)}
.page-contact .mg-overlay-contact .mg-office-worker{position:absolute;left:96px;bottom:46px;width:72px;height:108px;animation:mgPhoneAnswer 8.5s ease-in-out infinite}
.page-contact .mg-overlay-contact .mg-office-worker .hat{display:none}
.page-contact .mg-overlay-contact .mg-office-worker .head{left:22px;top:0;width:26px;height:26px}
.page-contact .mg-overlay-contact .mg-office-worker .body{left:18px;top:24px;width:34px;height:38px;border-radius:16px;background:linear-gradient(90deg,#0b2b5c,#1d4f86)}
.page-contact .mg-overlay-contact .mg-office-worker .arm{top:34px;width:24px}
.page-contact .mg-overlay-contact .mg-office-worker .arm.left{left:4px;transform:rotate(20deg)}
.page-contact .mg-overlay-contact .mg-office-worker .arm.right{right:0;transform:rotate(-36deg);animation:mgAnswerArm 8.5s ease-in-out infinite}
.page-contact .mg-overlay-contact .mg-office-worker .leg{top:59px;height:28px}
.page-contact .mg-overlay-contact .mg-phone{position:absolute;left:174px;bottom:56px;width:46px;height:22px;background:linear-gradient(180deg,#f8fafc,#c8d4df);border:2px solid #0b2b5c;border-radius:8px;box-shadow:0 5px 10px rgba(0,0,0,.12)}
.page-contact .mg-overlay-contact .mg-phone::before{content:"";position:absolute;left:8px;right:8px;top:-9px;height:12px;border:3px solid #0b2b5c;border-bottom:0;border-radius:18px 18px 0 0;transform-origin:center bottom;animation:mgPhoneRing 1.2s ease-in-out infinite}
.page-contact .mg-overlay-contact .mg-ring{position:absolute;border:2px solid rgba(11,43,92,.38);border-radius:50%;opacity:0;animation:mgRingPulse 1.2s ease-out infinite}
.page-contact .mg-overlay-contact .mg-ring.one{left:166px;bottom:48px;width:42px;height:42px}
.page-contact .mg-overlay-contact .mg-ring.two{left:158px;bottom:40px;width:58px;height:58px;animation-delay:.16s}
.page-contact .mg-overlay-contact .mg-note{position:absolute;left:34px;bottom:66px;width:44px;height:30px;background:linear-gradient(180deg,#fffdf1,#efe7c0);border:1px solid rgba(79,53,31,.18);border-radius:4px;transform:rotate(-6deg)}
.page-contact .mg-overlay-contact .mg-note::before{content:"";position:absolute;left:8px;right:8px;top:9px;height:2px;background:rgba(11,43,92,.25);box-shadow:0 7px 0 rgba(11,43,92,.22)}
.page-contact .mg-overlay-contact .mg-calendar{position:absolute;right:8px;top:10px;width:54px;height:42px;border-radius:8px;background:linear-gradient(180deg,#ffffff,#dbe6ef);border:1px solid rgba(11,43,92,.22)}
.page-contact .mg-overlay-contact .mg-calendar::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:#0b2b5c;border-radius:8px 8px 0 0}
.page-contact .mg-overlay-contact .mg-calendar::after{content:"";position:absolute;left:9px;right:9px;top:18px;height:2px;background:rgba(11,43,92,.2);box-shadow:0 8px 0 rgba(11,43,92,.16)}

@keyframes mgCleanWorker{
  0%,12%{left:88px;bottom:6px}
  26%,58%{left:156px;bottom:calc(100% - 120px)}
  74%{left:156px;bottom:calc(100% - 120px)}
  100%{left:88px;bottom:6px}
}
@keyframes mgReachArm{
  0%,18%,76%,100%{transform:rotate(30deg)}
  28%,64%{transform:rotate(-42deg)}
}
@keyframes mgLeafDrop{
  0%,18%{opacity:0;transform:translateY(-10px) rotate(0deg)}
  24%{opacity:1}
  75%{opacity:1;transform:translateY(140px) rotate(210deg)}
  100%{opacity:0;transform:translateY(170px) rotate(250deg)}
}
@keyframes mgBrokenLift{
  0%,14%{top:126px;right:68px;transform:rotate(22deg)}
  30%,58%{top:30px;right:66px;transform:rotate(0deg)}
  74%{top:30px;right:66px;transform:rotate(0deg)}
  100%{top:126px;right:68px;transform:rotate(22deg)}
}
@keyframes mgRepairWorker{
  0%,14%{right:82px;bottom:6px}
  28%,64%{right:155px;bottom:calc(100% - 120px)}
  100%{right:82px;bottom:6px}
}
@keyframes mgFixArm{
  0%,20%,78%,100%{transform:rotate(-28deg)}
  34%,62%{transform:rotate(16deg)}
}
@keyframes mgGuardWorker{
  0%,12%{left:92px;bottom:6px}
  24%,58%{left:156px;bottom:calc(100% - 120px)}
  100%{left:92px;bottom:6px}
}
@keyframes mgInstallArm{
  0%,18%,78%,100%{transform:rotate(30deg)}
  28%,64%{transform:rotate(-26deg)}
}
@keyframes mgGuardPanel{
  0%,16%{opacity:0;left:178px;top:134px}
  24%{opacity:1}
  34%,60%{opacity:1;left:250px;top:24px}
  70%{opacity:0;left:250px;top:24px}
  100%{opacity:0;left:178px;top:134px}
}
@keyframes mgLeafGlide{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg)}
  10%{opacity:1}
  60%{opacity:1;transform:translate3d(180px,18px,0) rotate(80deg)}
  82%{opacity:1;transform:translate3d(214px,78px,0) rotate(160deg)}
  100%{opacity:0;transform:translate3d(214px,110px,0) rotate(180deg)}
}
@keyframes mgPhoneRing{
  0%,100%{transform:rotate(0deg)}
  20%{transform:rotate(-10deg)}
  40%{transform:rotate(12deg)}
  60%{transform:rotate(-10deg)}
  80%{transform:rotate(8deg)}
}
@keyframes mgRingPulse{
  0%{opacity:0;transform:scale(.65)}
  25%{opacity:.4}
  100%{opacity:0;transform:scale(1.2)}
}
@keyframes mgPhoneAnswer{
  0%,56%,100%{transform:translateY(0)}
  68%,84%{transform:translateY(-10px)}
}
@keyframes mgAnswerArm{
  0%,56%,100%{transform:rotate(-36deg)}
  68%,84%{transform:rotate(-88deg)}
}

@media (max-width: 920px){
  .mg-page-overlay{opacity:.72}
  .page-contact .mg-overlay-contact .mg-office-scene{transform:scale(.82);transform-origin:right bottom;right:26px}
}
@media (max-width: 700px){
  .mg-page-overlay{opacity:.56}
  .mg-page-overlay .mg-gutter{left:22px;right:22px;top:26px}
  .mg-page-overlay .mg-downspout{display:none}
  .mg-page-overlay .mg-ladder.left{left:64px}
  .mg-page-overlay .mg-ladder.right{right:64px}
  .page-cleaning .mg-overlay-cleaning .mg-worker{left:64px}
  .page-repair .mg-overlay-repair .mg-gutter.main{left:22px;right:168px}
  .page-repair .mg-overlay-repair .mg-gutter-break{right:136px}
  .page-repair .mg-overlay-repair .mg-broken-piece{right:18px;width:138px}
  .page-repair .mg-overlay-repair .mg-worker{right:70px}
  .page-guards .mg-overlay-guards .mg-worker{left:64px}
  .page-contact .mg-overlay-contact .mg-office-scene{right:8px;transform:scale(.66);transform-origin:right bottom}
}
@media (max-width: 520px){
  .mg-page-overlay .mg-worker,.mg-page-overlay .mg-ladder{display:none}
  .page-contact .mg-overlay-contact .mg-office-scene{transform:scale(.54);right:-18px;bottom:4px}
  .page-cleaning .mg-overlay-cleaning .mg-falling-leaf.two,
  .page-guards .mg-overlay-guards .mg-glide-leaf.three{display:none}
}
