@keyframes zoomIn{0%{transform:scale(1)}100%{transform:scale(1.1)}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.animate-slide{animation:fadeInSlideUp 0.8s ease-out}.animate-slide-out{animation:slideOutDown 0.8s ease-out}.hr-hero-banner{height:720px}.hr-hero-banner .swiper-container{height:800px}.hr-hero-banner .swiper-container .swiper-slide{height:100%;display:flex;align-items:center;justify-content:center;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}.hr-hero-banner .swiper-container .swiper-slide::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;z-index:-1}.hr-hero-banner .swiper-container .swiper-slide .slide-bg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:1;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform 7000ms ease,opacity 1500ms ease-in,-webkit-transform 7000ms ease;z-index:-2}.hr-hero-banner .swiper-container .swiper-slide-active .slide-bg{animation:zoomIn 8s ease forwards}.hr-hero-banner .swiper-container .swiper-slide-active .slide-bg{transform:scale(1.1)}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-sub-titel{font-size:19px;font-weight:500;margin-bottom:20px;text-transform:uppercase;color:var(--color-4);padding:10px 25px 10px 50px;border:1px solid var(--color-4);border-style:dashed;display:inline-block;line-height:25px;border-radius:30px;position:relative;font-family:var(--font-02)}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-sub-titel::before{position:absolute;content:"";height:12px;width:12px;background:var(--color-4);border-radius:50%;left:25px;top:50%;transform:translateY(-50%)}.hr-hero-banner .swiper-container .swiper-slide .hr-content{z-index:11}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-titel{font-size:70px;font-weight:700;margin-bottom:1rem;color:var(--white);line-height:1.3;margin-top:10px;margin-bottom:16px;line-height:70px;width:90%;-webkit-transform:translateY(-120px);transform:translateY(-120px);-webkit-transition-delay:1000ms;transition-delay:1000ms;-webkit-transition:opacity 2000ms ease,-webkit-transform 2000ms ease;transition:opacity 2000ms ease,-webkit-transform 2000ms ease;transition:transform 2000ms ease,opacity 2000ms ease;transition:transform 2000ms ease,opacity 2000ms ease,-webkit-transform 2000ms ease}.hr-hero-banner .swiper-container .swiper-slide-active .hr-content .hr-titel,.hr-hero-banner .swiper-container .swiper-slide-active .hr-content .hr-btns-wrap{visibility:visible;opacity:1;-webkit-transform:translateY(0) translateX(0);transform:translateY(0) translateX(0);text-transform:uppercase}.hr-hero-banner .swiper-container .swiper-slide-active .hr-content .hr-sub-titel{visibility:visible;opacity:1;-webkit-transform:translateY(0) translateX(0);transform:translateY(0) translateX(0);text-transform:unset}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-titel span{color:var(--color-6)}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-text{position:relative;padding-left:20px;margin-bottom:40px;font-size:20px;color:var(--white);width:84%;font-family:var(--font-02);line-height:28px}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-btns-wrap{margin-top:1.5rem}.hr-hero-banner .swiper-button-prev{left:20px}.hr-hero-banner .swiper-button-next{right:20px}.hr-hero-banner .swiper-button-next,.hr-hero-banner .swiper-button-prev{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--white);color:var(--color-2)}.hr-hero-banner .swiper-button-next:hover,.hr-hero-banner .swiper-button-prev:hover{background:var(--color-3);color:var(--white)}.hr-desktop-slider{display:block}.hr-tablet-slider{display:none}.hr-mobile-slider{display:none}.hr-btns-wrap .hr-experience-text a{font-size:21px;color:#222;text-decoration:underline;font-weight:600;font-family:var(--font-02)}.hr-hero-banner .swiper-container .swiper-slide .shape-01{position:absolute;bottom:0;right:calc(8% - 45px);width:685px}.hr-hero-banner .swiper-container .swiper-slide .shape-01 img{width:510px}.hr-hero-banner .swiper-pagination{display:flex;position:absolute;left:50%!important;transform:translateX(-50%);bottom:-30px;justify-content:center;z-index:11}.hr-hero-banner .swiper-pagination-bullets .swiper-pagination-bullet{font-size:0;background:#fff;border:2px solid var(--color-3);border-radius:50%;margin:0 5px;transition:all 0.3s ease;width:25px;height:8px;border-radius:30px}.swiper-pagination-bullet-active{background:var(--color-4)!important;border:2px solid var(--color-4)!important;width:40px!important}@media (max-width:1700px){.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:630px}}@media (max-width:1585px){.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:600px;right:calc(6% - 45px)}}@media (max-width:1400px){.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:500px;right:calc(14% - 45px)}}@media screen and (max-width:1024px){.hr-desktop-slider{display:none}.hr-tablet-slider{display:block}.hr-mobile-slider{display:none}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-sub-titel{font-size:.9rem}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-titel{font-size:calc(1.425rem + 2.1vw)}.hr-hero-banner .swiper-button-prev{left:15px}.hr-hero-banner .swiper-button-next{right:15px}.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:420px}.hr-hero-banner .swiper-container .swiper-slide .shape-01 img{width:450px}}@media screen and (max-width:991px){.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:350px}.hr-hero-banner .swiper-container .swiper-slide .shape-01 img{width:345px}}@media (max-width:767.98px){.hr-btns-wrap{justify-content:flex-start;align-content:flex-start;flex-wrap:wrap}.hr-btns-wrap .hr-experience-text{margin-top:20px!important}.hr-hero-banner .swiper-container .swiper-slide .shape-01{width:185px;right:calc(10% - 45px)}.hr-hero-banner .swiper-container .swiper-slide .shape-01 img{width:190px}.hr-hero-banner .swiper-container .swiper-slide .slide-bg{background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important}.hr-hero-banner .swiper-container{height:650px;overflow-y:hidden}.hr-hero-banner{height:550px}.hr-hero-banner .container{margin-top:0!important}}@media screen and (max-width:480px){.hr-desktop-slider{display:none}.hr-tablet-slider{display:none}.hr-mobile-slider{display:block}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-sub-titel{font-size:.8rem}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-titel{font-size:calc(1.425rem + 2.1vw)}}.hr-appoint-form1 input{height:42px;padding:0 25px;background:#fff0;border-radius:5px;width:100%;font-size:16px;color:#fff;outline:none;border:1px solid #fff;margin-bottom:20px;display:block}.hr-appoint-form1 select{height:42px;padding:0 25px;background:#fff0;border-radius:5px;width:100%;font-size:16px;color:#fff;outline:none;border:1px solid #fff;margin-bottom:20px;display:block}.hr-appoint-form1 select option{margin:40px;background:#fff;color:#000;text-shadow:0 1px 0 rgb(0 0 0 / .4)}.hr-form-container{background-color:#023047d4;padding:68px 47px 87px 47px}.hr-form-container img{width:60px}.hr-form-container h2{color:#fff;font-family:var(--font-02)}.hr-form-container p{color:#fff}.hr-hero-banner .swiper-container .swiper-slide .hr-content .hr-text::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background-color:#fff}.hr-hero-banner .container{margin-top:192px}.hr-hero-banner .swiper-container .swiper-slide .slide-bg{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;background-attachment:scroll!important}@media screen and (min-width:768px) and (max-width:1024px){.hr-hero-banner .swiper-container .swiper-slide .slide-bg{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}.hr-hero-banner .swiper-container{height:700px}.hr-hero-banner{height:640px}}
/* ============ $45 OFF PROMO BAND (Burlington only) ============ */
.sp-promo-band{
  background:linear-gradient(135deg,#45C8D1 0%,#2BA6B0 55%,#177c88 100%);
  padding:64px 0;position:relative;overflow:hidden;
}
.sp-promo-band::before{ /* soft dot texture */
  content:'';position:absolute;inset:0;opacity:.14;pointer-events:none;
  background-image:radial-gradient(#ffffff 1.2px,transparent 1.3px);
  background-size:22px 22px;
}
/* if the next band tucks under the hero with negative margin, neutralise it after the promo */
.sp-promo-band + section{margin-top:0 !important}

.sp-promo-card{
  position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 24px 60px rgba(6,51,58,.35);
}
.sp-promo-main{padding:38px 40px}
.sp-promo-eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:#0F3E4A;color:#45C8D1;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:7px 16px;border-radius:999px;margin-bottom:16px;
}
.sp-promo-main h2{
  font-family:var(--font-01);font-size:34px;line-height:1.25;
  color:#0F3E4A;margin:0 0 14px;
}
.sp-promo-amt{color:#2BA6B0;white-space:nowrap}
.sp-promo-main p{color:#4A5C66;font-size:15.5px;line-height:1.7;margin:0 0 18px}
.sp-promo-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.sp-promo-checks li{position:relative;padding-left:26px;font-size:16px;color:#22333c;line-height:1.5}
.sp-promo-checks li::before{
  content:'\f058';font-family:"Font Awesome 6 Pro";position:absolute;left:0;top:1px;
  color:#2BA6B0;font-size:15px;
}
.sp-promo-checks strong{color:#0F3E4A}

/* coupon stub with perforation */
.sp-promo-stub{
  position:relative;background:#0F3E4A;padding:34px 30px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
}
.sp-promo-stub::before{ /* dashed perforation line */
  content:'';position:absolute;left:0;top:8%;bottom:8%;width:0;
  border-left:2px dashed rgba(69,200,209,.55);
}
.sp-promo-stub::after,.sp-promo-card .sp-promo-stub::before{pointer-events:none}
.sp-promo-code{
  background:#45C8D1;color:#06333a;font-weight:800;font-size:15px;letter-spacing:.14em;
  padding:10px 22px;border-radius:10px;border:2px dashed #06333a;
}
.sp-promo-cta{width:100%;max-width:235px;text-align:center}
.sp-promo-call{color:#fff;font-size:15px;font-weight:600;text-decoration:none}
.sp-promo-call i{color:#45C8D1;margin-right:6px}
.sp-promo-call:hover{color:#45C8D1}
.sp-promo-terms{color:#9bc0c8;font-size:16px;line-height:1.5;max-width:240px}

/* hero pill (optional) */
.sp-promo-hero-pill{
  position:absolute;left:50%;transform:translateX(-50%);bottom:22px;z-index:20;
  background:#0F3E4A;color:#45C8D1;border:1px solid rgba(69,200,209,.5);
  font-size:13px;font-weight:700;padding:10px 22px;border-radius:999px;
  text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.35);white-space:nowrap;
  animation:spPulse 2.4s infinite;
}
.sp-promo-hero-pill i{margin-right:8px}
.sp-promo-hero-pill:hover{background:#45C8D1;color:#06333a}
@keyframes spPulse{0%,100%{box-shadow:0 10px 26px rgba(0,0,0,.35)}50%{box-shadow:0 10px 30px rgba(69,200,209,.55)}}

/* ---- Responsive ---- */
@media (max-width:991px){
  .sp-promo-card{grid-template-columns:1fr}
  .sp-promo-main{padding:30px 26px}
  .sp-promo-stub{padding:28px 22px}
  .sp-promo-stub::before{ /* perforation becomes horizontal */
    left:8%;right:8%;top:0;bottom:auto;width:auto;height:0;
    border-left:0;border-top:2px dashed rgba(69,200,209,.55);
  }
  .sp-promo-main h2{font-size:28px}
}
@media (max-width:575px){
  .sp-promo-band{padding:44px 0}
  .sp-promo-main{padding:24px 18px}
  .sp-promo-main h2{font-size:23px}
  .sp-promo-checks{grid-template-columns:1fr}
  .sp-promo-hero-pill{font-size:11px;padding:8px 16px;bottom:14px;white-space:normal;text-align:center;width:max-content;max-width:86%}
}