/* Final responsive overrides loaded after every page stylesheet. */

/* Keep the rounded nav as the only floating glass surface. */
#siteHeader,
#siteHeader.at-top,
#siteHeader.scrolled{
  background:transparent !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#siteHeader::before{display:none !important;}

/* Keep the glass header anchored to the viewport on every page state. */
#siteHeader,
#siteHeader.at-top,
#siteHeader.scrolled,
.hero-intro-mode #siteHeader,
.hero-intro-mode.hero-engaged #siteHeader{
  position:fixed !important;
  inset:0 0 auto !important;
  width:100% !important;
  height:0 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:none !important;
  z-index:2400 !important;
}
#siteHeader > .container.nav{pointer-events:auto !important;}

/* Restore the scroll-driven Home opening after the static polish pass. */
.hero-intro-mode .hero-scroll{
  min-height:165svh !important;
  overflow:visible !important;
}
.hero-intro-mode .hero-sticky{
  position:sticky !important;
  top:0 !important;
  width:calc(100% - 18px) !important;
  margin:9px auto 0 !important;
  min-height:calc(100svh - 18px) !important;
  border-radius:28px !important;
  transform:scale(.972) !important;
  transition:transform .9s cubic-bezier(.22,1,.36,1),border-radius .9s cubic-bezier(.22,1,.36,1),width .9s cubic-bezier(.22,1,.36,1) !important;
}
.hero-intro-mode.hero-engaged .hero-sticky{
  width:100% !important;
  margin-top:0 !important;
  border-radius:0 !important;
  transform:scale(1) !important;
}
.hero-intro-mode .hero-bg{
  transform:translate3d(0,calc(var(--hero-progress) * 42px),0) scale(calc(1.02 + (1 - var(--hero-progress)) * .03)) !important;
  transition:transform .12s linear !important;
}
.hero-intro-mode .hero-bg img{
  transform:scaleX(-1) scale(1.06) !important;
  transition:filter .12s linear !important;
  filter:saturate(calc(.9 + var(--hero-progress) * .12)) contrast(calc(.98 + var(--hero-progress) * .05)) !important;
}
.hero-intro-mode .hero-overlay{opacity:calc(.92 - var(--hero-progress) * .24) !important;transition:opacity .12s linear !important;}
.hero-intro-mode .hero-frame{
  padding:clamp(128px,18vh,190px) 0 84px !important;
  transform:translate3d(0,calc(var(--hero-progress) * -16px),0) !important;
  transition:transform .12s linear,padding .9s cubic-bezier(.22,1,.36,1) !important;
}
.hero-intro-mode .hero-copy{
  transform:translate3d(0,calc(var(--hero-progress) * -42px),0) !important;
  transition:transform .12s linear,opacity .12s linear !important;
}

/* Keep the quote CTA proportional to the surrounding controls. */
#siteHeader .header-estimate-cta,
#siteHeader.at-top .header-estimate-cta,
#siteHeader.scrolled .header-estimate-cta{
  min-height:42px !important;
  padding:10px 17px !important;
  font-size:.84rem !important;
  gap:7px !important;
}
#siteHeader .header-estimate-cta iconify-icon,
#siteHeader .header-estimate-cta .abr-icon{font-size:16px;width:16px;height:16px;}

@media (max-width:760px){
  #siteHeader .container.nav,
  #siteHeader.at-top .container.nav,
  #siteHeader.scrolled .container.nav,
  .hero-intro-mode #siteHeader .container.nav{
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-areas:"brand phone toggle" "panel panel panel" !important;
    column-gap:6px !important;
    row-gap:4px !important;
  }
  #siteHeader .mobile-header-phone{
    grid-area:phone !important;
    justify-self:end !important;
    width:auto !important;
    padding:0 !important;
    border-top:0 !important;
  }
  #siteHeader .mobile-header-phone .header-phone{
    min-height:42px !important;
    padding:7px 0 !important;
    gap:6px !important;
    font-size:.9rem !important;
  }
  #siteHeader .mobile-menu-toggle{
    width:42px !important;
    height:42px !important;
    padding:9px !important;
    border-radius:12px !important;
  }
  #siteHeader .mobile-menu-open .mobile-menu-toggle span{opacity:0 !important;transform:none !important;}
  #siteHeader .mobile-menu-toggle::after{content:"";display:none;align-items:center;justify-content:center;font-size:1.9rem;font-weight:400;line-height:1;}
  #siteHeader .mobile-menu-open .mobile-menu-toggle::after{content:"\00D7";display:flex;}
  #siteHeader .header-divider{display:none !important;}

  .hero-intro-mode .hero-sticky{
    width:calc(100% - 12px) !important;
    min-height:calc(100svh - 12px) !important;
    margin:6px auto 0 !important;
    border-radius:24px !important;
  }
  .hero-intro-mode.hero-engaged .hero-sticky{width:100% !important;margin-top:0 !important;border-radius:18px !important;}
  .hero-intro-mode .hero-frame{
    width:min(calc(100% - 30px),640px) !important;
    padding:clamp(164px,27svh,250px) 0 62px !important;
  }
  .hero-intro-mode .hero-copy{
    width:100% !important;
    padding:0 !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  .hero-intro-mode .hero-rotate-heading{
    justify-content:center !important;
    flex-wrap:wrap !important;
    white-space:normal !important;
    width:100% !important;
    margin-inline:auto !important;
    line-height:1.02 !important;
  }
  .hero-intro-mode .hero-brand-line,
  .hero-intro-mode .hero-kicker-row,
  .hero-intro-mode .hero-copy > p:not(.hero-brand-line){
    text-align:center !important;
    margin-inline:auto !important;
  }
  .hero-intro-mode .hero-kicker-row .eyebrow{justify-content:center !important;}
  .hero-intro-mode .hero-actions{justify-content:center !important;width:100% !important;}
  .hero-intro-mode .hero-actions .btn{min-height:44px !important;padding:10px 15px !important;font-size:.82rem !important;}
  #siteHeader .mobile-menu-panel .btn{min-height:42px !important;padding:10px 14px !important;font-size:.84rem !important;}

  .footer-grid,
  .footer-grid > *,
  .footer-brand,
  .footer-col,
  .footer-col ul,
  .footer-contact-social,
  .footer-contact-row,
  .footer-social-row{
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .footer-grid > *{justify-self:center !important;}
  .footer-brand{display:flex !important;flex-direction:column !important;}
  .footer-brand p{margin-inline:auto !important;text-align:center !important;}
  .footer-col ul{display:grid !important;justify-content:center !important;}
  .footer-col a{justify-content:center !important;text-align:center !important;}
  .footer-contact-row .info-item{justify-content:center !important;text-align:center !important;}

  .why-abr,.why-abr .container,.why-abr-copy,.why-abr-photo{text-align:center !important;justify-items:center !important;}
  .why-abr .eyebrow{justify-content:center !important;}

.abr-chat-teaser{width:min(286px,calc(100vw - 28px)) !important;}
  .abr-chat-options,.abr-chat-step-actions{grid-template-columns:1fr !important;}
}

/* Final Home interaction pass: continuous hero opening, stable controls, and centered mobile sections. */
#siteHeader,
#siteHeader.at-top,
#siteHeader.scrolled,
.hero-intro-mode #siteHeader,
.hero-intro-mode.hero-engaged #siteHeader{
  height:auto !important;
  min-height:0 !important;
}

.hero-intro-mode .hero-sticky,
.hero-intro-mode.hero-engaged .hero-sticky{
  width:calc(100% - var(--hero-inset,18px)) !important;
  margin-top:var(--hero-margin,9px) !important;
  border-radius:var(--hero-radius,28px) !important;
  transform:scale(var(--hero-scale,.972)) !important;
  transform-origin:center top !important;
  transition:transform .16s linear,border-radius .16s linear,width .16s linear,margin-top .16s linear !important;
}

.hero-intro-mode .hero-actions .btn{
  width:auto !important;
  max-width:240px !important;
  min-width:0 !important;
  flex:0 0 auto !important;
}

.home-process-copy .eyebrow::after,
.home-cta-copy .eyebrow::after{
  content:"";
  width:34px;
  height:2px;
  background:linear-gradient(90deg,var(--red-soft),var(--blue));
}

.ba-handle{
  touch-action:none !important;
  will-change:left !important;
  transition:none !important;
}
.ba-handle > span{
  transition:none !important;
  will-change:transform !important;
}
.ba-nav{align-items:center !important;}
.ba-nav button{
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}

.work-carousel-track{
  will-change:transform !important;
}
.work-nav{
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}

@media (max-width:760px){
  .hero-intro-mode .hero-sticky,
  .hero-intro-mode.hero-engaged .hero-sticky{
    width:calc(100% - var(--hero-inset,12px)) !important;
    margin-top:var(--hero-margin,6px) !important;
    border-radius:var(--hero-radius,24px) !important;
  }

  .home-process-section{
    padding:64px 0 72px !important;
  }
  .home-process-container{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:30px !important;
    width:min(calc(100% - 24px),680px) !important;
    text-align:center !important;
  }
  .home-process-copy,
  .home-process-visual{
    width:100% !important;
    text-align:center !important;
  }
  .home-process-copy > .eyebrow{
    display:inline-flex !important;
    justify-content:center !important;
    margin-inline:auto !important;
  }
  .home-process-copy h2{
    max-width:22ch !important;
    margin-inline:auto !important;
  }
  .home-process-copy > p{
    max-width:46ch !important;
    margin-inline:auto !important;
  }
  .home-process-list{
    width:100% !important;
    gap:10px !important;
  }
  .home-process-item{
    display:grid !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    align-items:center !important;
    width:100% !important;
    min-height:76px !important;
    padding:14px 16px !important;
    border:1px solid rgba(10,61,111,.1) !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(232,245,255,.74)) !important;
    box-shadow:0 10px 22px rgba(10,61,111,.07) !important;
    text-align:center !important;
  }
  .home-process-item > span{
    justify-self:center !important;
  }
  .home-process-item > div{
    text-align:center !important;
  }
  .home-process-item > div b,
  .home-process-item > div p{
    display:block !important;
    max-width:none !important;
    margin-inline:auto !important;
  }
  .home-process-visual > div:first-child{
    border-radius:22px !important;
  }

  .ba-gallery{padding-inline:2px !important;}
  .ba-stage{box-shadow:0 18px 42px rgba(6,40,69,.16),0 0 0 4px rgba(255,255,255,.62) !important;}
  .ba-handle > span{width:52px !important;height:52px !important;}
  .ba-nav{gap:12px !important;margin-inline:auto !important;}
  .ba-nav button{width:48px !important;height:48px !important;}

  .work-carousel-frame{padding:18px 0 24px !important;}
  .work-carousel-viewport{padding-inline:42px !important;}
  .work-slide{flex-basis:calc(100vw - 84px) !important;min-height:330px !important;}
  .work-nav,
  .work-nav.prev,
  .work-nav.next{
    top:50% !important;
    width:44px !important;
    height:44px !important;
    transform:translateY(-50%) !important;
    border:1px solid rgba(255,255,255,.82) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(225,241,255,.9)) !important;
    box-shadow:0 12px 26px rgba(10,61,111,.18) !important;
  }
  .work-nav.prev{left:6px !important;}
  .work-nav.next{right:6px !important;}

  .home-cta-copy,
  .home-quote-panel,
  .home-cta-points{
    width:100% !important;
    text-align:center !important;
  }
  .home-cta-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  .home-cta-copy .eyebrow{justify-content:center !important;}
  .home-cta-copy h2,
  .home-cta-copy p{margin-inline:auto !important;}
  .home-cta-copy p{max-width:44ch !important;}
  .home-quote-panel{margin-inline:auto !important;}
  .home-quote-panel h3,
  .home-quote-panel > p{text-align:center !important;}
  .home-quote-panel .quote-form{justify-items:center !important;}
  .home-quote-panel .quote-form .field,
  .home-quote-panel .quote-form button{width:100% !important;}
  .home-cta-points{justify-items:center !important;padding-inline:0 !important;}
  .home-cta-points li{justify-content:center !important;text-align:center !important;}
}

/* Restore the moving help prompt on the hero and keep it above the page layers. */
.abr-chat{z-index:3200 !important;}
.abr-chat-teaser{display:flex;}
.hero-intro-mode .abr-chat-teaser{display:flex !important;}
.abr-chat-teaser-mark{position:relative;flex-shrink:0;}
.abr-chat-teaser-mark img{width:52px;height:52px;border-radius:50%;display:block;object-fit:cover;border:2px solid rgba(255,255,255,.92);box-shadow:0 12px 26px rgba(10,61,111,.2);}
.abr-chat-teaser-mark .dot{position:absolute;right:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;}
.abr-chat-teaser-copy{font-size:.9rem;line-height:1.5;color:#526575;}
.abr-chat-teaser-copy b{display:block;margin-bottom:2px;color:#12273b;font-size:.93rem;}
.abr-chat-teaser-close{z-index:1;}

/* Button-led quick quote steps. */
.abr-chat-step{display:grid;gap:10px;}
.abr-chat-question{margin:0;color:#23384c;font-size:.95rem;font-weight:800;line-height:1.45;}
.abr-chat-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.abr-chat-option,.abr-chat-next,.abr-chat-skip{min-height:42px;border:1px solid rgba(5,131,199,.18);border-radius:12px;padding:9px 11px;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;line-height:1.25;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.abr-chat-option{background:#fff;color:var(--navy);}
.abr-chat-option:hover,.abr-chat-option:focus-visible{background:#eaf6ff;border-color:rgba(5,131,199,.52);transform:translateY(-1px);}
.abr-chat-next{width:100%;background:linear-gradient(135deg,#e63725,#f15a4a,#0583c7);color:#fff;border:0;}
.abr-chat-skip{background:rgba(10,61,111,.05);color:var(--navy);}
.abr-chat-next:hover,.abr-chat-next:focus-visible,.abr-chat-skip:hover,.abr-chat-skip:focus-visible{transform:translateY(-1px);}
.abr-chat-entry{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(10,61,111,.12);background:#fff;color:var(--navy);padding:12px 13px;font:inherit;font-size:.92rem;}
.abr-chat-entry:focus{outline:3px solid rgba(5,131,199,.2);border-color:var(--blue);}
.abr-chat-entry[name="chatMessage"]{min-height:76px;resize:vertical;}
.abr-chat-step-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;}

/* Keep the global mobile header fixed on every route, including hero pages. */
@media (max-width:760px){
  body.hero-intro-mode #siteHeader,
  body.hero-intro-mode.hero-engaged #siteHeader,
  body.hero-intro-mode.hero-engaged #siteHeader.scrolled,
  body:not(.hero-intro-mode) #siteHeader,
  body:not(.hero-intro-mode) #siteHeader.at-top,
  body:not(.hero-intro-mode) #siteHeader.scrolled,
  #siteHeader,
  #siteHeader.at-top,
  #siteHeader.scrolled{
    position:fixed !important;
    top:0 !important;
    bottom:auto !important;
    inset-inline:0 !important;
    height:auto !important;
    z-index:2400 !important;
  }
}

/* Use the Home quote composition as the shared service-page baseline. */
.cta-ref .cta-proof{
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
  margin-top:24px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.cta-ref .cta-proof-icon{
  display:grid !important;
  place-items:center !important;
  flex:0 0 48px !important;
  width:48px !important;
  height:48px !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,var(--red),var(--blue)) !important;
  color:#fff !important;
  font-size:.75rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  box-shadow:0 12px 22px rgba(10,61,111,.18) !important;
}
.cta-ref .cta-points{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  gap:10px !important;
}

@media (prefers-reduced-motion:reduce){
  .hero-rotate-window{
    animation:heroLiquidShape 7.2s ease-in-out infinite !important;
  }
  .hero-rotate-window::before{
    animation:heroLiquidDrift 5.8s ease-in-out infinite alternate !important;
  }
}

/* Restore the intended Home entrance: photo first, then the interface on scroll. */
body.hero-intro-mode:not(.hero-engaged) #siteHeader{
  opacity:0 !important;
  transform:translate3d(0,-110%,0) !important;
  pointer-events:none !important;
  transition:opacity .5s ease,transform .78s cubic-bezier(.22,1,.36,1) !important;
}
body.hero-intro-mode:not(.hero-engaged) #siteHeader > .nav{pointer-events:none !important;}
body.hero-intro-mode.hero-engaged #siteHeader{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  pointer-events:none !important;
  transition:opacity .5s ease,transform .78s cubic-bezier(.22,1,.36,1) !important;
}
body.hero-intro-mode.hero-engaged #siteHeader > .nav{pointer-events:auto !important;}
body.hero-intro-mode:not(.hero-engaged) .hero-copy{
  opacity:0 !important;
  transform:translate3d(0,34px,0) !important;
  pointer-events:none !important;
  transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1) !important;
}
body.hero-intro-mode.hero-engaged .hero-copy{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
  transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1) !important;
}
body.hero-intro-mode:not(.hero-engaged) .hero-intro-cue{
  opacity:0 !important;
  pointer-events:none !important;
}
body.hero-intro-mode.hero-engaged .hero-intro-cue{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Keep the shared header readable while letting the hero remain visible beneath it. */
#siteHeader > .nav,
#siteHeader.at-top > .nav,
#siteHeader.scrolled > .nav{
  background:
    radial-gradient(circle at 78% 12%,rgba(230,55,37,.08),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.64) 0%,rgba(244,247,255,.60) 42%,rgba(221,228,255,.56) 100%) !important;
}

/* Desktop Service Area: centered copy with larger, easier-to-scan city labels below. */
@media (min-width:761px){
  .service-area-strip-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    width:min(100%,1120px) !important;
    padding:32px 42px !important;
    text-align:center !important;
  }
  .service-area-copy{
    width:100% !important;
    text-align:center !important;
  }
  .service-area-copy .eyebrow{justify-content:center !important;}
  .service-area-copy h2{
    font-size:clamp(1.9rem,3.1vw,2.8rem) !important;
    margin-inline:auto !important;
  }
  .service-area-copy p{
    max-width:60ch !important;
    margin-inline:auto !important;
    font-size:1.08rem !important;
  }
  .service-area-tags{
    width:100% !important;
    flex:0 0 auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
  }
  .service-area-tags span{
    min-height:44px !important;
    padding:10px 17px !important;
    font-size:.9rem !important;
    letter-spacing:.015em !important;
  }
}

/* Final shared interaction pass: keep Home and Homeowner visually identical. */
#siteHeader > .nav,
#siteHeader.at-top > .nav,
#siteHeader.scrolled > .nav{
  min-height:78px !important;
  padding:8px 26px !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 78% 12%,rgba(230,55,37,.12),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(244,247,255,.72) 42%,rgba(221,228,255,.68) 100%) !important;
  backdrop-filter:blur(24px) saturate(1.5) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.5) !important;
  transform-origin:center top !important;
}
#siteHeader > .nav > .brand,
#siteHeader > .nav > .nav-main-actions,
#siteHeader > .nav > .mobile-header-phone,
#siteHeader > .nav > .mobile-menu-toggle{
  align-self:center !important;
}

/* Make the Home word rotation read as a deliberate transition. */
#heroRotateWord.is-leaving{
  animation:abrHomeWordOut .46s cubic-bezier(.55,0,1,.45) both !important;
}
#heroRotateWord.is-entering{
  animation:abrHomeWordIn .72s cubic-bezier(.22,1,.36,1) both !important;
}
@keyframes abrHomeWordOut{
  from{opacity:1;transform:translate3d(0,0,0) scale(1);}
  to{opacity:0;transform:translate3d(0,-.42em,0) scale(.94);}
}
@keyframes abrHomeWordIn{
  from{opacity:0;transform:translate3d(0,.42em,0) scale(.94);}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);}
}

/* Keep Before & After controls centered and optically stable. */
.ba-meta{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  justify-items:center !important;
  align-items:center !important;
  text-align:center !important;
}
.ba-meta > div:first-child{width:100% !important;text-align:center !important;}
.ba-nav{
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  margin-inline:auto !important;
}
.ba-nav button{
  padding:0 !important;
  line-height:0 !important;
  place-items:center !important;
}
.ba-nav button iconify-icon,
.ba-nav button .abr-icon,
.ba-nav button svg{
  display:block !important;
  margin:0 !important;
  transform:none !important;
}

/* Keep Our Work arrows centered inside their hit areas. */
.work-nav{
  display:grid !important;
  place-items:center !important;
  justify-content:center !important;
  align-items:center !important;
  padding:0 !important;
  line-height:0 !important;
}
.work-nav iconify-icon,
.work-nav .abr-icon,
.work-nav svg{
  display:block !important;
  margin:0 !important;
  transform:none !important;
}

@media (max-width:760px){
  #siteHeader > .nav,
  #siteHeader.at-top > .nav,
  #siteHeader.scrolled > .nav{
    min-height:0 !important;
    padding:8px 16px 10px !important;
  }
}

/* Mobile correction pass: remove the extra Home band and stabilize media controls. */
body.home .hero-mini-band{
  display:none !important;
}

#siteHeader > .nav,
#siteHeader.at-top > .nav,
#siteHeader.scrolled > .nav{
  background:
    radial-gradient(circle at 78% 12%,rgba(230,55,37,.07),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.54) 0%,rgba(244,247,255,.48) 42%,rgba(221,228,255,.44) 100%) !important;
}

.ba-handle{
  top:0 !important;
  bottom:0 !important;
  height:auto !important;
  transform:translateX(-50%) !important;
  transition:none !important;
}
.ba-handle > span{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  transition:none !important;
  pointer-events:none !important;
}
.ba-handle:hover > span,
.ba-handle:focus-visible > span{
  transform:translate(-50%,-50%) !important;
}
.work-nav{
  z-index:12 !important;
  pointer-events:auto !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  justify-content:center !important;
  line-height:0 !important;
}
.work-nav iconify-icon,
.work-nav svg{display:block !important;margin:0 !important;transform:none !important;}

.service-area-copy .eyebrow::after{
  content:"";
  width:34px;
  height:2px;
  margin-left:10px;
  background:linear-gradient(90deg,var(--red-soft),var(--blue));
}

/* Service heroes: keep the desktop motion and proportions intact on phones. */
@media (max-width:760px){
  #quote.cta-ref .cta-copy{
    padding:26px 22px !important;
  }

  .service-hero-title .service-hero-rotate{
    display:inline-grid !important;
    width:auto !important;
    min-width:min(100%,7.2em) !important;
    margin:8px auto 0 !important;
    text-align:center !important;
  }
  .service-hero-title .service-hero-rotate > .service-hero-word{
    display:block !important;
    width:auto !important;
    text-align:center !important;
  }
  .service-hero-title .service-hero-letter{
    display:inline-block !important;
  }
  .svc-hero-actions .btn{
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:0 0 auto !important;
    min-height:44px !important;
    padding:10px 15px !important;
    font-size:.82rem !important;
  }
}

/* The brand sweep and portfolio marquee are intentional content motion. */
@media (prefers-reduced-motion:reduce){
  .service-hero-rotate::before{
    animation:serviceHeroSheen 4.8s ease-in-out infinite !important;
  }
  .experience-marquee-track{
    animation:experienceMarquee 44s linear infinite !important;
  }
  .svc-hero-ref .service-hero-brand .hero-brand-name{
    animation:abr-brand-sweep 5.2s ease-in-out infinite !important;
  }
}

/* Before & After: the handle may move, but its visual control stays centered. */
.ba-handle{
  box-sizing:border-box !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  transition:none !important;
}
.ba-handle::before{
  left:50% !important;
  width:3px !important;
  transform:translateX(-50%) !important;
}
.ba-handle > span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  flex:0 0 52px !important;
  transform:translate(-50%,-50%) !important;
  transition:none !important;
  pointer-events:none !important;
}
.ba-handle iconify-icon{
  display:block !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  font-size:18px !important;
  line-height:1 !important;
  transform:none !important;
}

/* Keep the arrow glyphs independently anchored inside the moving handle. */
.ba-handle > span{display:block !important;position:absolute !important;}
.ba-handle > span iconify-icon{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
}
.ba-handle > span iconify-icon:first-child{left:6px !important;}
.ba-handle > span iconify-icon:last-child{right:6px !important;}
.ba-handle > span > .abr-icon{
  position:absolute !important;
  top:50% !important;
  width:18px !important;
  height:18px !important;
  display:block !important;
  margin:0 !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
}
.ba-handle > span > .abr-icon:first-child{left:6px !important;}
.ba-handle > span > .abr-icon:last-child{right:6px !important;}
.ba-handle > span > .abr-icon svg{display:block !important;width:100% !important;height:100% !important;transform:none !important;}

/* Service portfolio controls use the same light, centered treatment as Home. */
.experience-marquee-nav{
  width:46px !important;
  height:46px !important;
  border:1px solid rgba(10,61,111,.12) !important;
  border-radius:50% !important;
  color:var(--navy) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:var(--shadow-sm) !important;
  transform:translateY(-50%) !important;
}
.experience-marquee-nav:hover,
.experience-marquee-nav:focus-visible{
  color:var(--navy) !important;
  background:rgba(255,255,255,.94) !important;
  transform:translateY(-50%) scale(1.05) !important;
}
.experience-marquee-nav:active{transform:translateY(-50%) scale(.96) !important;}
.experience-marquee-nav svg{width:20px !important;height:20px !important;}

/* Homeowner and Commercial now use the same parent word motion as Home. */
.service-hero-rotate > .service-hero-word.is-leaving{
  animation:abrHomeWordOut .46s cubic-bezier(.55,0,1,.45) both !important;
}
.service-hero-rotate > .service-hero-word.is-entering{
  animation:abrHomeWordIn .72s cubic-bezier(.22,1,.36,1) both !important;
}
.service-hero-word.is-entering .service-hero-letter{
  animation:serviceHeroLetterIn .5s cubic-bezier(.22,1,.36,1) both;
  animation-delay:calc(var(--character-index) * 28ms);
}
.service-hero-word.is-leaving .service-hero-letter{
  animation:serviceHeroLetterOut .34s ease both;
  animation-delay:calc(var(--character-index) * 18ms);
}

@media (max-width:760px){
  /* Equal vertical breathing room keeps the floating glass card optically centered. */
  #siteHeader > .nav,
  #siteHeader.at-top > .nav,
  #siteHeader.scrolled > .nav,
  .hero-intro-mode #siteHeader > .nav{
    box-sizing:border-box !important;
    padding:12px 16px !important;
    align-content:center !important;
  }
}

.experience-media-frame{
  position:relative;
  display:block;
  width:100%;
  height:100%;
}
.experience-media-frame > img,
.experience-media-frame > video{display:block;width:100%;height:100%;object-fit:cover;}
.experience-video-play{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  padding-left:3px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,rgba(230,55,37,.92),rgba(10,97,168,.9));
  box-shadow:0 12px 28px rgba(6,40,69,.28),inset 0 1px 0 rgba(255,255,255,.35);
  transform:translate(-50%,-50%);
  pointer-events:none;
  font-size:1rem;
  line-height:1;
}
.experience-marquee-card > .experience-media-frame{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  color:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.experience-marquee-card .experience-video-play{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:54px !important;
  height:54px !important;
  color:#fff !important;
  font-size:1rem !important;
  transform:translate(-50%,-50%) !important;
}

@media (max-width:760px){
  .svc-hero-grid{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(calc(100% - 28px),680px) !important;
    margin-inline:auto !important;
    text-align:center !important;
  }
  .svc-hero-copy,
  .service-hero-copy{
    width:100% !important;
    max-width:640px !important;
    margin-inline:auto !important;
    align-items:center !important;
    text-align:center !important;
  }
  .svc-hero-copy .eyebrow,
  .service-hero-copy .eyebrow{
    justify-content:center !important;
    margin-inline:auto !important;
  }
  .service-hero-title{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    margin-inline:auto !important;
    text-align:center !important;
    line-height:1.02 !important;
  }
  .service-hero-title > span,
  .service-hero-title .commercial-hero-line{
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }
  .service-hero-rotate{
    display:inline-grid !important;
    width:auto !important;
    min-width:min(100%,7.2em) !important;
    margin:8px auto 0 !important;
    text-align:center !important;
  }
  .service-hero-title > .service-hero-rotate{width:auto !important;}
  .service-hero-rotate > .service-hero-word{
    display:block !important;
    text-align:center !important;
  }
  .service-hero-brand,
  .svc-hero-copy > p:not(.service-hero-brand),
  .svc-hero-feats,
  .svc-hero-actions{
    margin-inline:auto !important;
    text-align:center !important;
  }
  .svc-hero-feats{padding-left:0 !important;list-style-position:inside !important;}
  .svc-hero-actions{justify-content:center !important;width:100% !important;}
  .experience-video-play{width:48px;height:48px;font-size:.9rem;}
  .contact-service-area-list{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:8px !important;
    margin-top:12px !important;
  }
}

/* Match Home's content-sized red word box on service heroes. */
@media (max-width:760px){
  .service-hero-rotate{
    width:min(max(var(--service-word-width,0px),7.2em),100%) !important;
    min-width:min(100%,7.2em) !important;
    box-sizing:border-box !important;
  }
  .service-hero-rotate::after{opacity:1;}
}
