:root{--blue:#075dcc;--blue2:#0f7dff;--navy:#071f46;--green:#119b35;--line:#d7e9f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--navy);background:linear-gradient(180deg,#fff 0%,#f0f8ff 100%);padding-bottom:94px}.p22-container{width:min(1180px,calc(100% - 40px));margin:auto}.p22-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.p22-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.p22-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.p22-logo-drop{position:relative;width:52px;height:52px;border-radius:52% 52% 52% 10px;transform:rotate(-45deg);background:linear-gradient(145deg,#0d7fff,#075dcc 65%,#0643a7);box-shadow:inset 0 2px 3px rgba(255,255,255,.55),inset 0 -6px 12px rgba(0,0,0,.14),0 10px 20px rgba(7,93,204,.2)}.p22-logo-drop:before{content:'P';position:absolute;inset:0;display:grid;place-items:center;transform:rotate(45deg);color:#fff;font:900 1.25rem/1 Poppins,sans-serif}.p22-logo-drop:after{content:'';position:absolute;right:-5px;bottom:5px;width:23px;height:15px;background:linear-gradient(135deg,#35d365,#0b8c30);border:2px solid #fff;border-radius:100% 0 100% 0}.p22-logo strong{display:block;color:var(--blue);font:900 1.65rem/1 Poppins,Inter,sans-serif;letter-spacing:-.04em}.p22-logo small{display:block;color:var(--green);font-weight:900;font-size:.68rem;margin-top:4px}.p22-nav{display:flex;gap:24px}.p22-nav a{font-weight:900;text-decoration:none;color:var(--navy)}.p22-phone{font-weight:900;color:#fff;text-decoration:none;background:linear-gradient(145deg,var(--blue2),var(--blue));padding:.7rem 1rem;border-radius:999px;box-shadow:inset 0 2px 2px rgba(255,255,255,.55),inset 0 -5px 10px rgba(0,0,0,.16),0 10px 20px rgba(7,93,204,.18)}.p22-menu{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#f5f9ff}.p22-menu span{display:block;width:23px;height:3px;background:var(--navy);margin:4px auto;border-radius:3px}.p22-hero{padding:34px 0}.p22-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}.p22-hero-copy h1{font:900 clamp(2.8rem,5.2vw,5rem)/1 Poppins,Inter,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:14px 0}.p22-hero-copy h1 span{color:var(--green)}.p22-hero-copy p{font-size:1.1rem;line-height:1.55;color:#29435f}.p22-pill{display:inline-flex;padding:.48rem .8rem;border-radius:999px;background:linear-gradient(145deg,#30cf61,#139a35);color:#fff;font-weight:950;font-size:.75rem;text-transform:uppercase}.p22-hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.p22-hero-badges span{font-weight:900;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .75rem}.p22-hero-img{width:100%;border-radius:24px;box-shadow:0 20px 44px rgba(7,31,70,.12)}.p22-actions{display:flex;gap:14px;flex-wrap:wrap}.p22-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border:0;border-radius:999px;color:#fff;text-decoration:none;font-weight:950;box-shadow:inset 0 2px 2px rgba(255,255,255,.6),inset 0 -6px 10px rgba(0,0,0,.18),0 12px 22px rgba(7,93,204,.16);position:relative;overflow:hidden}.p22-btn:before{content:'';position:absolute;inset:3px 8px auto;height:38%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent)}.p22-green{background:linear-gradient(145deg,#34d768,#119b35 55%,#087729)}.p22-blue{background:linear-gradient(145deg,#2687ff,#075dcc 55%,#0448aa)}.p22-services,.p22-about,.p22-area,.p22-reviews,.p22-contact{padding:34px 0}.p22-section-head{text-align:center}.p22-section-head h2,.p22-about h2,.p22-area h2,.p22-reviews h2,.p22-contact h2{font:900 2.2rem/1.1 Poppins,Inter,sans-serif;margin:0 0 8px}.p22-section-head p{color:#526985;font-size:1.05rem}.p22-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 0}.p22-tab{min-height:72px;border:1px solid var(--line);border-radius:18px 18px 0 0;background:#fff;color:var(--navy);font-weight:950;font-size:1rem}.p22-tab.active{color:var(--blue);border-color:var(--blue);box-shadow:inset 0 -4px 0 var(--blue)}.p22-price-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:0 0 24px 24px;padding:22px;box-shadow:0 18px 42px rgba(7,31,70,.09)}.p22-price-panel.active{display:block}.p22-panel-hero{display:grid;grid-template-columns:.75fr 1.25fr;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.p22-panel-hero img{width:100%;height:260px;object-fit:cover;border-radius:18px}.p22-panel-hero h3{font:900 2rem/1.1 Poppins;margin:0 0 8px}.p22-panel-hero p{color:#526985;font-size:1.1rem}.p22-panel-hero ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin:16px 0 0;list-style:none}.p22-panel-hero li:before{content:'✓';color:var(--green);font-weight:950;margin-right:8px}.p22-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.p22-list h4,.p22-calculator h4{color:var(--blue);font:900 1.22rem/1.1 Poppins;margin:12px 0}.p22-list p{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #eef4fb;margin:0;padding:7px 0}.p22-list strong{color:#087729}.p22-calculator{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfdff}.p22-calculator label{display:grid;gap:6px;margin-bottom:10px;font-weight:850}.p22-calculator select,.p22-calculator input{min-height:42px;border:1px solid #cfe0f3;border-radius:10px;padding:.65rem;background:#fff}.p22-checks{display:grid;gap:8px}.p22-checks label{display:flex;align-items:center;gap:8px;margin:0}.p22-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:12px;border-top:1px solid var(--line)}.p22-total span{font-weight:950}.p22-total strong{font-size:1.8rem;color:var(--green)}.p22-note{background:#eef7ff;border-radius:12px;padding:14px;line-height:1.5}.p22-eco{display:grid;grid-template-columns:70px 1fr 1.5fr;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;margin-top:24px;padding:18px;box-shadow:0 16px 34px rgba(7,31,70,.07)}.p22-eco-leaf{font-size:2.5rem}.p22-eco h3{margin:0 0 6px}.p22-eco p{margin:0;color:#29435f}.p22-eco-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center}.p22-eco-icons span{font-weight:900;color:var(--green)}.p22-about-card,.p22-area-card,.p22-contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 18px 42px rgba(7,31,70,.08)}.p22-about-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center}.p22-about-card img{width:100%;height:360px;object-fit:cover;object-position:center;border-radius:18px}.p22-about-card p,.p22-area-card p{font-size:1.05rem;color:#29435f;line-height:1.6}.p22-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.p22-mini-grid span{font-weight:950;text-align:center;border:1px solid var(--line);border-radius:14px;padding:12px}.p22-area-card{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.p22-area-card img{width:100%;border-radius:18px}.p22-area-list{grid-column:1/-1}.p22-area-list ul{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;list-style:none;padding:0}.p22-area-list li{font-weight:900}.p22-area-list li:before{content:'✓';color:#fff;background:var(--green);border-radius:50%;padding:1px 5px;margin-right:6px}.p22-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.p22-review-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 14px 30px rgba(7,31,70,.07)}.p22-review-grid strong{color:#f4a900}.p22-review-grid span{font-weight:900;color:var(--blue)}.p22-review-btn{margin-top:18px}.p22-contact-card{text-align:center}.p22-sticky{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:120;width:min(720px,calc(100% - 28px));display:grid;grid-template-columns:1fr 1fr;gap:12px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);padding:7px;border-radius:999px;box-shadow:0 12px 30px rgba(7,31,70,.16)}
@media(max-width:1024px){.p22-nav,.p22-phone{display:none}.p22-menu{display:block}.p22-nav.is-open{display:grid;position:fixed;left:18px;right:18px;top:86px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px rgba(7,31,70,.18);overflow:hidden}.p22-nav.is-open a{padding:18px 20px;border-bottom:1px solid var(--line)}.p22-hero-grid,.p22-about-card,.p22-area-card{grid-template-columns:1fr}.p22-price-grid{grid-template-columns:1fr}.p22-eco{grid-template-columns:1fr}.p22-review-grid{grid-template-columns:1fr 1fr}.p22-area-list ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){body{padding-bottom:84px}.p22-container{width:calc(100% - 24px)}.p22-header-inner{min-height:68px}.p22-logo-drop{width:42px;height:42px}.p22-logo-drop:before{font-size:1.05rem}.p22-logo-drop:after{width:18px;height:12px;right:-4px;bottom:4px}.p22-logo strong{font-size:1.12rem}.p22-logo small{font-size:.5rem}.p22-nav.is-open{top:76px}.p22-hero{padding:20px 0}.p22-hero-img{order:-1;border-radius:18px}.p22-hero-copy h1{font-size:2.15rem}.p22-hero-copy p{font-size:.95rem}.p22-hero-badges{gap:7px}.p22-hero-badges span{font-size:.78rem;padding:.42rem .55rem}.p22-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.p22-btn{min-height:42px;font-size:.88rem;padding:.55rem .62rem}.p22-services,.p22-about,.p22-area,.p22-reviews,.p22-contact{padding:24px 0}.p22-section-head h2,.p22-about h2,.p22-area h2,.p22-reviews h2,.p22-contact h2{font-size:1.75rem}.p22-section-head p{font-size:.92rem}.p22-tabs{gap:6px;margin-top:16px}.p22-tab{min-height:62px;font-size:.76rem;padding:6px}.p22-price-panel{padding:14px;border-radius:0 0 18px 18px}.p22-panel-hero{grid-template-columns:1fr;gap:12px}.p22-panel-hero img{height:190px}.p22-panel-hero h3{font-size:1.55rem}.p22-panel-hero p{font-size:.94rem}.p22-panel-hero ul{font-size:.82rem}.p22-list p{font-size:.88rem}.p22-list h4,.p22-calculator h4{font-size:1rem}.p22-calculator{padding:12px}.p22-total strong{font-size:1.55rem}.p22-eco{grid-template-columns:1fr;padding:14px}.p22-eco-icons{grid-template-columns:1fr 1fr;font-size:.8rem}.p22-about-card{padding:14px;border-radius:18px}.p22-about-card img{height:240px;object-position:center}.p22-about-card p{font-size:.94rem}.p22-mini-grid{grid-template-columns:repeat(3,1fr);gap:6px}.p22-mini-grid span{font-size:.72rem;padding:8px 5px}.p22-area-card{padding:14px}.p22-area-card img{max-height:300px;object-fit:contain}.p22-area-list ul{grid-template-columns:1fr 1fr}.p22-review-grid{grid-template-columns:1fr}.p22-sticky{width:calc(100% - 24px);gap:8px;padding:6px}.p22-sticky .p22-btn{min-height:42px;font-size:.86rem}.p22-contact-card .p22-actions{grid-template-columns:1fr 1fr}}


/* ==========================================================
   Purified v2.3 Mobile Services Fix
   Fixes wrong service images, oversized mobile pricing, sticky overlap
   ========================================================== */

.p23-service-visual{
  min-height:260px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  color:#071f46;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.88), transparent 30%),
    linear-gradient(145deg, #eef7ff, #ffffff);
  border:1px solid #d7e9f8;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.9), 0 12px 28px rgba(7,31,70,.08);
}

.p23-service-visual span{
  font-size:3rem;
  margin-bottom:10px;
}

.p23-service-visual strong{
  display:block;
  font:900 1.45rem/1.1 Poppins, Inter, sans-serif;
}

.p23-service-visual small{
  display:block;
  max-width:280px;
  margin-top:8px;
  color:#496783;
  font-weight:800;
  line-height:1.35;
}

.p23-carpet-visual{
  background:
    radial-gradient(circle at 82% 18%, rgba(20,166,58,.18), transparent 32%),
    linear-gradient(145deg, #f3fbff, #ffffff);
}
.p23-upholstery-visual{
  background:
    radial-gradient(circle at 20% 18%, rgba(7,93,204,.16), transparent 32%),
    linear-gradient(145deg, #f6faff, #ffffff);
}
.p23-dryer-visual{
  background:
    radial-gradient(circle at 50% 18%, rgba(7,93,204,.14), transparent 32%),
    linear-gradient(145deg, #f5fbff, #ffffff);
}

/* Make service tabs stable and readable on mobile */
@media(max-width:700px){
  body{
    padding-bottom:72px !important;
  }

  .p22-header-inner{
    min-height:64px !important;
  }

  .p22-section-head h2{
    font-size:1.9rem !important;
    line-height:1.08 !important;
  }

  .p22-section-head p{
    font-size:.9rem !important;
    line-height:1.35 !important;
  }

  .p22-tabs{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:14px !important;
  }

  .p22-tab{
    min-height:48px !important;
    border-radius:14px !important;
    font-size:.95rem !important;
    padding:8px 10px !important;
    text-align:left !important;
  }

  .p22-tab.active{
    box-shadow:inset 4px 0 0 #075dcc !important;
  }

  .p22-price-panel{
    margin-top:10px !important;
    border-radius:18px !important;
    padding:12px !important;
  }

  .p22-panel-hero{
    display:block !important;
    padding-bottom:12px !important;
    margin-bottom:12px !important;
  }

  .p23-service-visual{
    min-height:150px !important;
    border-radius:16px !important;
    padding:16px !important;
    margin-bottom:12px !important;
  }

  .p23-service-visual span{
    font-size:2.1rem !important;
    margin-bottom:6px !important;
  }

  .p23-service-visual strong{
    font-size:1.15rem !important;
  }

  .p23-service-visual small{
    font-size:.78rem !important;
  }

  .p22-panel-hero h3{
    font-size:1.45rem !important;
    margin:8px 0 6px !important;
  }

  .p22-panel-hero p{
    font-size:.9rem !important;
    margin:0 0 8px !important;
  }

  .p22-panel-hero ul{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    font-size:.78rem !important;
    margin-top:8px !important;
  }

  .p22-list p{
    font-size:.82rem !important;
    padding:6px 0 !important;
  }

  .p22-list h4,
  .p22-calculator h4{
    font-size:1rem !important;
    margin:10px 0 8px !important;
  }

  .p22-calculator label{
    font-size:.82rem !important;
  }

  .p22-calculator select,
  .p22-calculator input{
    min-height:38px !important;
    font-size:.85rem !important;
  }

  .p22-checks{
    gap:6px !important;
  }

  .p22-checks label{
    font-size:.82rem !important;
  }

  .p22-total{
    padding:10px 0 !important;
    margin:12px 0 !important;
  }

  .p22-total strong{
    font-size:1.45rem !important;
  }

  .p22-sticky{
    bottom:8px !important;
    width:calc(100% - 24px) !important;
    padding:5px !important;
    gap:7px !important;
  }

  .p22-sticky .p22-btn{
    min-height:38px !important;
    font-size:.78rem !important;
    padding:.45rem .35rem !important;
  }
}

/* Do not let old image CSS affect replacement visual blocks */
.p22-panel-hero .p23-service-visual{
  width:100%;
}

.p22-panel-hero > .p23-service-visual + div{
  min-width:0;
}


/* Purified v2.4 real service images + upholstery/dryer notes */
.p22-panel-hero img{
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
  background:#f5fbff !important;
}

@media(max-width:700px){
  .p22-panel-hero img{
    height:175px !important;
    object-fit:cover !important;
    object-position:center !important;
    margin-bottom:12px !important;
  }

  .p22-tabs{
    grid-template-columns:1fr !important;
  }

  .p22-tab{
    min-height:48px !important;
  }

  .p22-price-panel{
    margin-top:10px !important;
  }

  .p22-checks{
    margin-top:10px !important;
  }
}


/* ==========================================================
   Purified v2.5 Final Premium Update
   ========================================================== */

.p22-hero-img{
  object-fit:cover !important;
  object-position:center !important;
}

.p22-panel-hero img{
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
  background:#f5fbff !important;
}

.p25-area-card{
  grid-template-columns:1fr !important;
}

.p25-area-intro p{
  margin:8px 0 0 !important;
  color:#29435f !important;
  font-size:1.08rem !important;
}

.p25-area-list{
  grid-column:auto !important;
}

.p25-area-list ul{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px 26px !important;
  margin:8px 0 0 !important;
}

.p25-area-list li{
  font-size:1.08rem !important;
}

.p25-travel-note{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(820px,100%);
  margin:18px auto 0;
  padding:16px 20px;
  border-radius:20px;
  background:linear-gradient(145deg,#eef7ff,#ffffff);
  border:1px solid #d7e9f8;
  box-shadow:0 12px 28px rgba(7,31,70,.07);
}

.p25-travel-note span{
  font-size:2rem;
}

.p25-travel-note p{
  margin:0 !important;
  color:#071f46 !important;
  font-size:1rem !important;
  line-height:1.45 !important;
}

.p25-about-card{
  grid-template-columns:1fr 1fr !important;
}

.p25-about-media img{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
}

.p25-benefit-ribbon{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid #d7e9f8;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(7,31,70,.07);
  overflow:hidden;
}

.p25-benefit-ribbon div{
  min-height:88px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:12px;
  border-right:1px solid #d7e9f8;
  border-bottom:1px solid #d7e9f8;
}

.p25-benefit-ribbon div:nth-child(3n){border-right:0}
.p25-benefit-ribbon div:nth-last-child(-n+3){border-bottom:0}

.p25-benefit-ribbon span{
  display:block;
  font-size:1.8rem;
  margin-bottom:6px;
}

.p25-benefit-ribbon strong{
  font-size:.88rem;
  line-height:1.2;
}

@media(max-width:1024px){
  .p25-about-card{grid-template-columns:1fr !important}
}

@media(max-width:700px){
  .p22-hero-img{
    max-height:310px !important;
    width:100% !important;
    border-radius:18px !important;
  }

  .p22-panel-hero img{
    height:175px !important;
    object-fit:cover !important;
    object-position:center !important;
    margin-bottom:12px !important;
  }

  .p22-hero-copy h1{
    font-size:2.35rem !important;
    line-height:1.02 !important;
  }

  .p25-area-card{
    padding:18px !important;
  }

  .p25-area-intro h2{
    font-size:1.85rem !important;
  }

  .p25-area-intro p{
    font-size:.98rem !important;
  }

  .p25-area-list ul{
    grid-template-columns:1fr 1fr !important;
    gap:10px 16px !important;
  }

  .p25-area-list li{
    font-size:.98rem !important;
  }

  .p25-travel-note{
    padding:14px !important;
    align-items:flex-start !important;
  }

  .p25-travel-note span{
    font-size:1.5rem !important;
  }

  .p25-travel-note p{
    font-size:.88rem !important;
  }

  .p25-about-media img{
    height:240px !important;
  }

  .p25-benefit-ribbon{
    grid-template-columns:1fr 1fr !important;
    border-radius:18px !important;
  }

  .p25-benefit-ribbon div{
    min-height:76px !important;
    padding:10px 8px !important;
  }

  .p25-benefit-ribbon div:nth-child(3n){border-right:1px solid #d7e9f8}
  .p25-benefit-ribbon div:nth-child(2n){border-right:0}
  .p25-benefit-ribbon div:nth-last-child(-n+3){border-bottom:1px solid #d7e9f8}
  .p25-benefit-ribbon div:nth-last-child(-n+2){border-bottom:0}

  .p25-benefit-ribbon span{
    font-size:1.45rem !important;
  }

  .p25-benefit-ribbon strong{
    font-size:.75rem !important;
  }
}


/* ==========================================================
   Purified v2.6 Menu + Sticky CTA Final Fix
   ========================================================== */

.p22-hero-img{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
}

.p22-sticky{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(18px) !important;
  transition:opacity .25s ease, transform .25s ease !important;
}

body.p26-show-sticky .p22-sticky{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) !important;
}

body.p26-menu-open .p22-sticky{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(18px) !important;
}

@media(max-width:1024px){
  .p22-nav.is-open{
    display:block !important;
    position:fixed !important;
    left:18px !important;
    right:18px !important;
    top:82px !important;
    max-height:calc(100vh - 120px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding:12px !important;
    border-radius:24px !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(18,141,255,.12), transparent 32%),
      radial-gradient(circle at 95% 15%, rgba(28,190,84,.10), transparent 30%),
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,250,255,.98)) !important;
    border:1px solid #d7e9f8 !important;
    box-shadow:0 22px 55px rgba(7,31,70,.18), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .p22-nav.is-open a{
    display:flex !important;
    align-items:center !important;
    min-height:58px !important;
    padding:14px 18px !important;
    border-radius:16px !important;
    border:1px solid rgba(215,233,248,.95) !important;
    background:rgba(255,255,255,.82) !important;
    margin-bottom:8px !important;
    color:#071f46 !important;
    font-size:1.05rem !important;
    font-weight:950 !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(7,31,70,.05) !important;
  }

  .p22-nav.is-open a:last-child{
    margin-bottom:0 !important;
  }

  .p22-nav.is-open a:hover,
  .p22-nav.is-open a:active{
    background:linear-gradient(145deg,#eef7ff,#ffffff) !important;
    border-color:#bcdcff !important;
  }
}

@media(max-width:700px){
  .p22-nav.is-open{
    left:14px !important;
    right:14px !important;
    top:72px !important;
    max-height:calc(100vh - 105px) !important;
    padding:10px !important;
    border-radius:22px !important;
  }

  .p22-nav.is-open a{
    min-height:54px !important;
    font-size:.98rem !important;
    padding:13px 16px !important;
  }

  .p22-hero-img{
    max-height:none !important;
    height:auto !important;
    width:100% !important;
  }

  .p22-sticky{
    bottom:8px !important;
  }
}


/* ==========================================================
   Purified v2.7 Final Production Release
   ========================================================== */

/* Full hero banner: no cropping */
.p22-hero-img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  display:block !important;
}

/* Service photos should be real photo cards and not illustrations/emoji */
.p22-panel-hero img{
  width:100% !important;
  height:270px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
  background:#f5fbff !important;
  box-shadow:0 12px 26px rgba(7,31,70,.08) !important;
}

/* Service area final: no map */
.p25-area-card{
  grid-template-columns:1fr !important;
}

.p25-area-intro p{
  margin:8px 0 0 !important;
  color:#29435f !important;
  font-size:1.08rem !important;
}

.p25-area-list{
  grid-column:auto !important;
}

.p25-area-list ul{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px 26px !important;
  margin:8px 0 0 !important;
}

.p25-area-list li{
  font-size:1.08rem !important;
}

.p25-travel-note{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(820px,100%);
  margin:18px auto 0;
  padding:16px 20px;
  border-radius:20px;
  background:linear-gradient(145deg,#eef7ff,#ffffff);
  border:1px solid #d7e9f8;
  box-shadow:0 12px 28px rgba(7,31,70,.07);
}

.p25-travel-note span{font-size:2rem}
.p25-travel-note p{
  margin:0 !important;
  color:#071f46 !important;
  font-size:1rem !important;
  line-height:1.45 !important;
}

/* About image + ribbon under photo */
.p25-about-card{
  grid-template-columns:1fr 1fr !important;
}

.p25-about-media img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
  background:#fff !important;
}

.p25-benefit-ribbon{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid #d7e9f8;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 28px rgba(7,31,70,.07);
  overflow:hidden;
}

.p25-benefit-ribbon div{
  min-height:88px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:12px;
  border-right:1px solid #d7e9f8;
  border-bottom:1px solid #d7e9f8;
}

.p25-benefit-ribbon div:nth-child(3n){border-right:0}
.p25-benefit-ribbon div:nth-last-child(-n+3){border-bottom:0}
.p25-benefit-ribbon span{display:block;font-size:1.8rem;margin-bottom:6px}
.p25-benefit-ribbon strong{font-size:.88rem;line-height:1.2}

/* Premium mobile menu + delayed CTA */
.p22-sticky{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(18px) !important;
  transition:opacity .25s ease, transform .25s ease !important;
}
body.p26-show-sticky .p22-sticky{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) !important;
}
body.p26-menu-open .p22-sticky{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(18px) !important;
}

@media(max-width:1024px){
  .p25-about-card{grid-template-columns:1fr !important}
  .p22-nav.is-open{
    display:block !important;
    position:fixed !important;
    left:18px !important;
    right:18px !important;
    top:82px !important;
    max-height:calc(100vh - 120px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding:12px !important;
    border-radius:24px !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(18,141,255,.12), transparent 32%),
      radial-gradient(circle at 95% 15%, rgba(28,190,84,.10), transparent 30%),
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,250,255,.98)) !important;
    border:1px solid #d7e9f8 !important;
    box-shadow:0 22px 55px rgba(7,31,70,.18), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  .p22-nav.is-open a{
    display:flex !important;
    align-items:center !important;
    min-height:58px !important;
    padding:14px 18px !important;
    border-radius:16px !important;
    border:1px solid rgba(215,233,248,.95) !important;
    background:rgba(255,255,255,.82) !important;
    margin-bottom:8px !important;
    color:#071f46 !important;
    font-size:1.05rem !important;
    font-weight:950 !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(7,31,70,.05) !important;
  }
}

@media(max-width:700px){
  .p22-hero-img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    border-radius:18px !important;
  }
  .p22-panel-hero img{
    height:210px !important;
    object-fit:cover !important;
    object-position:center !important;
    margin-bottom:12px !important;
  }
  .p25-area-card{padding:18px !important}
  .p25-area-intro h2{font-size:1.85rem !important}
  .p25-area-intro p{font-size:.98rem !important}
  .p25-area-list ul{
    grid-template-columns:1fr 1fr !important;
    gap:10px 16px !important;
  }
  .p25-area-list li{font-size:.98rem !important}
  .p25-travel-note{
    padding:14px !important;
    align-items:flex-start !important;
  }
  .p25-travel-note span{font-size:1.5rem !important}
  .p25-travel-note p{font-size:.88rem !important}

  .p25-about-media img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
  .p25-benefit-ribbon{
    grid-template-columns:1fr 1fr !important;
    border-radius:18px !important;
  }
  .p25-benefit-ribbon div{
    min-height:76px !important;
    padding:10px 8px !important;
  }
  .p25-benefit-ribbon div:nth-child(3n){border-right:1px solid #d7e9f8}
  .p25-benefit-ribbon div:nth-child(2n){border-right:0}
  .p25-benefit-ribbon div:nth-last-child(-n+3){border-bottom:1px solid #d7e9f8}
  .p25-benefit-ribbon div:nth-last-child(-n+2){border-bottom:0}
  .p25-benefit-ribbon span{font-size:1.45rem !important}
  .p25-benefit-ribbon strong{font-size:.75rem !important}

  .p22-nav.is-open{
    left:14px !important;
    right:14px !important;
    top:72px !important;
    max-height:calc(100vh - 105px) !important;
    padding:10px !important;
    border-radius:22px !important;
  }
  .p22-nav.is-open a{
    min-height:54px !important;
    font-size:.98rem !important;
    padding:13px 16px !important;
  }
}

/* ==========================================================
   Purified v2.8 Unlimited Calculators + Trust Badges
   ========================================================== */
.p28-hero-badges{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.p28-owner-badge{border-color:#18a83e!important;background:linear-gradient(145deg,#f0fff5,#fff)!important;color:#087729!important;box-shadow:0 8px 18px rgba(17,155,53,.10)!important}
.p28-calc-note{margin:0 0 14px!important;padding:12px 14px!important;border-radius:14px!important;background:linear-gradient(145deg,#eef7ff,#fff)!important;border:1px solid #d7e9f8!important;color:#29435f!important;font-size:.9rem!important;line-height:1.45!important}
.p28-subtitle{margin-top:18px!important;padding-top:10px!important;border-top:1px solid #d7e9f8!important}
.p28-qty-row{display:grid!important;grid-template-columns:1fr 112px!important;gap:12px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid #eef4fb!important}
.p28-qty-row label{margin:0!important;display:block!important;font-weight:900!important;color:#071f46!important}
.p28-qty-row small{display:block!important;margin-top:4px!important;color:#526985!important;font-weight:700!important;line-height:1.25!important}
.p28-qty-row input[type="number"]{width:100%!important;min-height:42px!important;border:1px solid #cfe0f3!important;border-radius:12px!important;padding:.55rem .7rem!important;background:#fff!important;color:#071f46!important;font-weight:950!important;text-align:center!important;font-size:1rem!important}
.p28-tools-note{margin-top:18px!important}
@media(max-width:900px){.p28-hero-badges{grid-template-columns:1fr 1fr!important}}
@media(max-width:700px){
  .p28-hero-badges{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .p28-hero-badges span{font-size:.72rem!important;text-align:center!important;white-space:normal!important}
  .p28-qty-row{grid-template-columns:1fr 86px!important;gap:8px!important;padding:9px 0!important}
  .p28-qty-row label{font-size:.82rem!important}
  .p28-qty-row small{font-size:.7rem!important}
  .p28-qty-row input[type="number"]{min-height:38px!important;font-size:.9rem!important}
  .p28-calc-note{font-size:.78rem!important;padding:10px!important}
}


/* ==========================================================
   Purified v3.0 Final Production Package
   ========================================================== */
.p30-logo-mark{
  width:72px;
  height:84px;
  flex:0 0 auto;
  display:block;
}
.p22-logo{
  gap:12px !important;
}
.p22-logo span strong{
  color:#075dcc !important;
}
.p22-logo span small{
  color:#0a8d31 !important;
}

.p22-hero-img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  display:block !important;
}

.p30-minimum .p22-container{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(145deg,#eef7ff,#fff);
  border:1px solid #d7e9f8;
  box-shadow:0 12px 28px rgba(7,31,70,.07);
  color:#071f46;
}
.p30-minimum strong{
  font-size:1.2rem;
  color:#075dcc;
}
.p30-minimum span{
  font-weight:800;
  color:#29435f;
}

.p30-specials{
  padding:54px 0;
}
.p30-special-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.p30-special-grid article{
  min-height:190px;
  padding:20px 16px;
  border-radius:22px;
  background:linear-gradient(145deg,#075dcc,#063f9f);
  color:white;
  box-shadow:0 18px 36px rgba(7,93,204,.18);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:center;
}
.p30-special-grid article:nth-child(2),
.p30-special-grid article:nth-child(4){
  background:linear-gradient(145deg,#18a83e,#087729);
}
.p30-special-grid b{
  font-size:1rem;
  line-height:1.2;
}
.p30-special-grid span{
  display:block;
  margin:12px 0;
  font-size:.82rem;
  line-height:1.35;
  opacity:.95;
}
.p30-special-grid strong{
  display:block;
  font-size:1.45rem;
  font-weight:950;
}

.p22-panel-hero img{
  width:100% !important;
  height:300px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  display:block !important;
}

.p28-owner-badge{
  border-color:#18a83e!important;
  background:linear-gradient(145deg,#f0fff5,#fff)!important;
  color:#087729!important;
}

@media(max-width:1024px){
  .p30-special-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .p30-logo-mark{
    width:58px;
    height:68px;
  }
  .p30-minimum .p22-container{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-inline:18px;
    padding:14px;
  }
  .p30-minimum strong{
    font-size:1rem;
  }
  .p30-minimum span{
    font-size:.86rem;
  }
  .p30-specials{
    padding:36px 0;
  }
  .p30-special-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .p30-special-grid article{
    min-height:150px;
  }
  .p22-panel-hero img{
    height:230px !important;
  }
}


/* ==========================================================
   Purified v3.1 Final Visual & Dryer Pricing Fix
   ========================================================== */

/* Carpet image: full tool visible, no white title strip */
#panel-carpet .p22-panel-hero img,
#panel-carpet img[src*="carpet-tech-v31"]{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  border-radius:18px !important;
  display:block !important;
}

/* Dryer pricing: keep price in same row, aligned right */
#panel-dryer .p22-price-list p,
#panel-dryer .p22-pricing p,
#panel-dryer .p31-price-row{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) max-content !important;
  align-items:center !important;
  column-gap:14px !important;
  min-height:54px !important;
}

#panel-dryer .p22-price-list p span,
#panel-dryer .p22-pricing p span,
#panel-dryer .p31-price-row span{
  min-width:0 !important;
  line-height:1.35 !important;
}

#panel-dryer .p22-price-list p strong,
#panel-dryer .p22-pricing p strong,
#panel-dryer .p31-price-row strong{
  white-space:nowrap !important;
  text-align:right !important;
  align-self:center !important;
}

@media(max-width:700px){
  #panel-dryer .p22-price-list p,
  #panel-dryer .p22-pricing p,
  #panel-dryer .p31-price-row{
    grid-template-columns:minmax(0, 1fr) 118px !important;
    column-gap:10px !important;
  }

  #panel-dryer .p22-price-list p strong,
  #panel-dryer .p22-pricing p strong,
  #panel-dryer .p31-price-row strong{
    font-size:1rem !important;
  }
}


/* ==========================================================
   Purified v3.3 Clickable Specials
   ========================================================== */
.p30-special-grid .p33-special-card{
  appearance:none;
  border:0;
  font:inherit;
  cursor:pointer;
  min-height:190px;
  padding:20px 16px;
  border-radius:22px;
  background:linear-gradient(145deg,#075dcc,#063f9f);
  color:white;
  box-shadow:0 18px 36px rgba(7,93,204,.18);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, outline .18s ease;
}

.p30-special-grid .p33-special-card:nth-child(2),
.p30-special-grid .p33-special-card:nth-child(4){
  background:linear-gradient(145deg,#18a83e,#087729);
}

.p30-special-grid .p33-special-card:hover,
.p30-special-grid .p33-special-card:active{
  transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(7,93,204,.24);
}

.p30-special-grid .p33-special-card.is-selected{
  outline:4px solid rgba(255,215,0,.95);
  outline-offset:3px;
  box-shadow:0 22px 48px rgba(255,187,0,.28), 0 18px 36px rgba(7,93,204,.18);
}

.p33-discount-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:12px 0;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(145deg,#fff8d9,#ffffff);
  border:1px solid #f0d56a;
  color:#071f46;
  font-weight:900;
}

.p33-discount-line strong{
  color:#087729;
  text-align:right;
}

@media(max-width:700px){
  .p30-special-grid .p33-special-card{
    min-height:150px;
  }
  .p33-discount-line{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    font-size:.86rem;
  }
  .p33-discount-line strong{
    text-align:left;
  }
}


/* ==========================================================
   Purified v3.4 Final Production: Payment + Military Message
   ========================================================== */

.p34-military-message{
  margin:12px 0;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(145deg,#eef7ff,#ffffff);
  border:1px solid #bddbff;
  color:#071f46;
  box-shadow:0 10px 22px rgba(7,31,70,.06);
}

.p34-military-message strong{
  display:block;
  color:#075dcc;
  margin-bottom:4px;
  font-size:.98rem;
}

.p34-military-message span{
  display:block;
  color:#29435f;
  line-height:1.45;
  font-weight:750;
  font-size:.88rem;
}

.p34-payment{
  padding:54px 0;
  background:linear-gradient(180deg,#ffffff,#f4faff);
}

.p34-payment-card{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  padding:28px;
  border-radius:26px;
  background:white;
  border:1px solid #d7e9f8;
  box-shadow:0 18px 42px rgba(7,31,70,.08);
}

.p34-payment-card h2{
  margin:0 0 10px;
  color:#071f46;
  font-size:2rem;
}

.p34-payment-card p{
  margin:8px 0;
  color:#29435f;
  line-height:1.5;
  font-weight:700;
}

.p34-payment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-content:start;
}

.p34-payment-grid span{
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(145deg,#eef7ff,#ffffff);
  border:1px solid #d7e9f8;
  color:#071f46;
  font-weight:950;
  text-align:center;
}

.p34-payment-grid .p34-no-checks{
  grid-column:1 / -1;
  background:linear-gradient(145deg,#fff1f1,#ffffff);
  border-color:#ffd0d0;
  color:#9b1c1c;
}

@media(max-width:700px){
  .p34-payment{
    padding:34px 0;
  }

  .p34-payment-card{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
    margin-inline:18px;
    border-radius:22px;
  }

  .p34-payment-card h2{
    font-size:1.65rem;
  }

  .p34-payment-card p{
    font-size:.9rem;
  }

  .p34-payment-grid{
    grid-template-columns:1fr 1fr;
  }

  .p34-payment-grid span{
    font-size:.82rem;
    padding:10px 8px;
  }
}


/* ==========================================================
   Purified v3.5 Before/After Galleries + Guarantees
   ========================================================== */
.p35-before-after{
  margin:24px 0;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(145deg,#f7fbff,#ffffff);
  border:1px solid #d7e9f8;
  box-shadow:0 12px 28px rgba(7,31,70,.06);
}
.p35-before-after h4{
  margin:0 0 14px;
  color:#075dcc;
  font-size:1.25rem;
  font-weight:950;
}
.p35-ba-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.p35-ba-grid figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid #d7e9f8;
  background:#fff;
}
.p35-ba-grid figure span{
  position:absolute;
  top:0;
  left:0;
  right:0;
  padding:8px 10px;
  text-align:center;
  color:#fff;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:linear-gradient(145deg,#555,#222);
  z-index:1;
}
.p35-ba-grid figure:nth-child(2) span{
  background:linear-gradient(145deg,#18a83e,#087729);
}
.p35-ba-grid img{
  width:100%;
  aspect-ratio:1.15/1;
  object-fit:cover;
  display:block;
}
.p35-guarantee{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(145deg,#eef7ff,#fff);
  border:1px solid #bddbff;
}
.p35-guarantee strong{
  display:block;
  color:#075dcc;
  font-weight:950;
  margin-bottom:5px;
}
.p35-guarantee p{
  margin:0;
  color:#29435f;
  line-height:1.45;
  font-weight:700;
}
.p35-stain-note{
  margin-top:6px!important;
  color:#087729!important;
  font-weight:850!important;
}
.p35-guarantee-strip{
  padding:34px 0;
}
.p35-guarantee-strip .p22-container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.p35-guarantee-strip .p22-container div{
  padding:20px;
  border-radius:22px;
  background:white;
  border:1px solid #d7e9f8;
  box-shadow:0 12px 28px rgba(7,31,70,.06);
}
.p35-guarantee-strip strong{
  display:block;
  color:#075dcc;
  font-size:1.08rem;
  margin-bottom:7px;
}
.p35-guarantee-strip span{
  color:#29435f;
  font-weight:750;
  line-height:1.4;
}

@media(max-width:700px){
  .p35-before-after{
    padding:14px;
    margin:18px 0;
  }
  .p35-ba-grid{
    grid-template-columns:1fr;
  }
  .p35-ba-grid img{
    aspect-ratio:1.35/1;
  }
  .p35-guarantee-strip .p22-container{
    grid-template-columns:1fr;
    margin-inline:18px;
  }
}


/* ==========================================================
   Purified v3.6 Combined Calculator + Auto Discounts
   ========================================================== */

/* Specials are informational now, not clickable buttons */
.p30-special-grid .p36-special-card,
.p30-special-grid article.p36-special-card{
  min-height:190px;
  padding:20px 16px;
  border-radius:22px;
  background:linear-gradient(145deg,#075dcc,#063f9f);
  color:white;
  box-shadow:0 18px 36px rgba(7,93,204,.18);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:center;
  border:0;
  cursor:default;
}
.p30-special-grid .p36-special-card:nth-child(2),
.p30-special-grid .p36-special-card:nth-child(4){
  background:linear-gradient(145deg,#18a83e,#087729);
}

/* Neutralize old active-card styling */
.p30-special-grid .p33-special-card,
.p30-special-grid .p33-special-card.is-selected{
  outline:none !important;
  cursor:default !important;
}

.p36-final-estimate{
  margin:28px 0 22px;
  padding:22px;
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 0%, rgba(18,141,255,.13), transparent 34%),
    radial-gradient(circle at 95% 12%, rgba(28,190,84,.11), transparent 32%),
    linear-gradient(145deg,#ffffff,#f5fbff);
  border:1px solid #d7e9f8;
  box-shadow:0 20px 46px rgba(7,31,70,.10);
}

.p36-final-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid #d7e9f8;
}

.p36-final-head span{
  display:inline-flex;
  margin-bottom:6px;
  padding:.38rem .65rem;
  border-radius:999px;
  background:#eaf6ff;
  color:#075dcc;
  font-weight:950;
  font-size:.78rem;
  text-transform:uppercase;
}

.p36-final-head h3{
  margin:0 0 4px;
  font-size:2rem;
  color:#071f46;
}

.p36-final-head p{
  margin:0;
  color:#29435f;
  font-weight:750;
  line-height:1.45;
}

#grandTotal{
  font-size:3rem;
  color:#087729;
  white-space:nowrap;
}

.p36-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:18px 0;
}

.p36-summary-grid p{
  margin:0;
  padding:14px;
  border-radius:18px;
  background:white;
  border:1px solid #d7e9f8;
  display:grid;
  gap:6px;
}

.p36-summary-grid span{
  color:#526985;
  font-weight:850;
  font-size:.86rem;
}

.p36-summary-grid strong{
  color:#071f46;
  font-size:1.25rem;
}

.p36-discounts{
  padding:16px;
  border-radius:20px;
  background:white;
  border:1px solid #d7e9f8;
}

.p36-discounts h4{
  margin:0 0 10px;
  color:#075dcc;
  font-size:1.05rem;
}

#autoDiscountList{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

#autoDiscountList li{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  align-items:center;
  padding:10px 12px;
  border-radius:14px;
  background:linear-gradient(145deg,#fff8d9,#ffffff);
  border:1px solid #f0d56a;
  color:#071f46;
  font-weight:850;
}

#autoDiscountList li span{
  grid-column:1;
  color:#526985;
  font-size:.82rem;
}

#autoDiscountList li b{
  grid-row:1 / span 2;
  grid-column:2;
  color:#087729;
  font-size:1.1rem;
}

@media(max-width:900px){
  .p36-summary-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .p36-final-estimate{
    padding:16px;
    border-radius:22px;
  }

  .p36-final-head{
    display:grid;
    gap:10px;
  }

  .p36-final-head h3{
    font-size:1.55rem;
  }

  #grandTotal{
    font-size:2.35rem;
  }

  .p36-summary-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .p36-summary-grid p{
    padding:11px;
  }

  .p36-summary-grid span{
    font-size:.76rem;
  }

  .p36-summary-grid strong{
    font-size:1.05rem;
  }

  #autoDiscountList li{
    grid-template-columns:1fr;
  }

  #autoDiscountList li b{
    grid-row:auto;
    grid-column:auto;
  }
}


/* ==========================================================
   Purified v3.7 Auto Discount Messaging + Active Military
   ========================================================== */

.p30-special-grid article em,
.p30-special-grid .p36-special-card em{
  display:block;
  margin-top:10px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-style:normal;
  font-weight:850;
  font-size:.78rem;
  line-height:1.25;
}

.p37-military-card{
  appearance:none;
  border:0;
  cursor:pointer !important;
  position:relative;
  background:linear-gradient(145deg,#043c96,#075dcc 55%,#18a83e) !important;
  outline:3px solid rgba(255,215,0,.55);
  outline-offset:3px;
  transform:translateY(-2px);
}

.p37-military-card:after{
  content:"ACTIVE BUTTON";
  position:absolute;
  top:10px;
  right:10px;
  padding:5px 8px;
  border-radius:999px;
  background:#ffd54a;
  color:#071f46;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.04em;
}

.p37-military-card.is-selected{
  outline:5px solid #ffd54a !important;
  box-shadow:0 22px 50px rgba(255,187,0,.28), 0 18px 36px rgba(7,93,204,.22) !important;
}

.p37-military-card.is-selected em{
  background:#ffd54a !important;
  color:#071f46 !important;
}

#autoDiscountList li{
  border-left:5px solid #18a83e;
}

#autoDiscountList li strong{
  color:#075dcc;
}

@media(max-width:700px){
  .p37-military-card:after{
    top:8px;
    right:8px;
    font-size:.56rem;
  }
}


/* ==========================================================
   Purified v3.8 Estimate Request Form
   ========================================================== */
.p38-get-price{
  border:0;
  cursor:pointer;
  font:inherit;
}

.p38-modal[hidden]{
  display:none !important;
}

body.p38-modal-open{
  overflow:hidden;
}

.p38-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
}

.p38-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,31,70,.58);
  backdrop-filter:blur(8px);
}

.p38-modal-card{
  position:relative;
  width:min(860px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff,#f5fbff);
  border:1px solid #d7e9f8;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
  padding:28px;
}

.p38-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#eef7ff;
  color:#071f46;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}

.p38-modal-card h2{
  margin:0 0 8px;
  color:#071f46;
  font-size:2rem;
}

.p38-modal-intro{
  margin:0 0 20px;
  color:#29435f;
  font-weight:750;
}

.p38-form{
  display:grid;
  gap:16px;
}

.p38-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.p38-form label{
  display:grid;
  gap:7px;
  color:#071f46;
  font-weight:900;
}

.p38-form input,
.p38-form textarea{
  width:100%;
  border:1px solid #cfe0f3;
  border-radius:14px;
  padding:.8rem .9rem;
  font:inherit;
  background:white;
  color:#071f46;
}

.p38-estimate-box{
  padding:16px;
  border-radius:18px;
  background:white;
  border:1px solid #d7e9f8;
}

.p38-estimate-box h3{
  margin:0 0 10px;
  color:#075dcc;
}

.p38-estimate-box pre{
  white-space:pre-wrap;
  word-break:break-word;
  margin:0;
  color:#071f46;
  font:700 .9rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.p38-form-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.p38-form-note{
  margin:0;
  color:#526985;
  font-size:.86rem;
  line-height:1.45;
}

@media(max-width:700px){
  .p38-modal{
    padding:10px;
  }
  .p38-modal-card{
    padding:20px;
    border-radius:22px;
  }
  .p38-modal-card h2{
    font-size:1.55rem;
  }
  .p38-form-grid{
    grid-template-columns:1fr;
  }
  .p38-form-actions{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   Purified v3.9 Dryer Opt-In + Active Get Price Buttons
   ========================================================== */
.p39-service-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 14px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,#eef7ff,#ffffff) !important;
  border:1px solid #bddbff !important;
  color:#071f46 !important;
  font-weight:950 !important;
}

.p39-service-check input{
  width:22px !important;
  height:22px !important;
  accent-color:#0a8d31 !important;
}

.p39-final-get-price{
  width:100% !important;
  margin-top:16px !important;
  border:0 !important;
  cursor:pointer !important;
  font:inherit !important;
  min-height:56px !important;
  font-weight:950 !important;
  font-size:1.05rem !important;
}

.p38-get-price{
  border:0 !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}

.p38-get-price:active,
.p39-final-get-price:active{
  transform:translateY(1px) !important;
}

@media(max-width:700px){
  .p39-service-check{
    font-size:.88rem !important;
    padding:11px 12px !important;
  }
  .p39-final-get-price{
    min-height:52px !important;
    font-size:.98rem !important;
  }
}


/* ==========================================================
   Purified v4.0 Active Final Estimate Service Cards
   ========================================================== */
.p36-summary-grid .p40-summary-card{
  cursor:pointer !important;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.p36-summary-grid .p40-summary-card:hover,
.p36-summary-grid .p40-summary-card:active{
  transform:translateY(-2px);
  border-color:#075dcc !important;
  box-shadow:0 14px 30px rgba(7,93,204,.14);
}

.p36-summary-grid .p40-summary-card::after{
  content:"Tap to edit";
  display:inline-flex;
  width:max-content;
  margin-top:8px;
  padding:5px 8px;
  border-radius:999px;
  background:#eef7ff;
  color:#075dcc;
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}

@media(max-width:700px){
  .p36-summary-grid .p40-summary-card::after{
    font-size:.58rem;
    padding:4px 7px;
  }
}


/* ==========================================================
   Purified v4.1 Military Active Button Label Fix
   ========================================================== */

/* Move ACTIVE BUTTON badge down so it does not cover the title */
.p37-military-card:after{
  top:auto !important;
  right:14px !important;
  bottom:58px !important;
  z-index:2 !important;
}

.p37-military-card em{
  position:relative !important;
  z-index:1 !important;
  margin-top:14px !important;
}

@media(max-width:700px){
  .p37-military-card:after{
    top:auto !important;
    right:12px !important;
    bottom:54px !important;
    font-size:.54rem !important;
    padding:4px 7px !important;
  }
}


/* ==========================================================
   Purified v4.2 Modal Close + Image Fixes
   ========================================================== */

.p38-modal-close,
#p42CloseEstimate{
  position:sticky !important;
  top:10px !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  z-index:10050 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  border:1px solid #d7e9f8 !important;
  background:#eef7ff !important;
  color:#071f46 !important;
  box-shadow:0 8px 22px rgba(7,31,70,.14) !important;
}

.p38-modal-card{ overscroll-behavior:contain !important; }
.p38-modal-backdrop{ pointer-events:auto !important; }

#panel-carpet .p22-panel-hero img,
#panel-carpet img[src*="carpet-tech-v42"]{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  aspect-ratio:auto !important;
  display:block !important;
}

#panel-dryer .p22-panel-hero img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}

@media(min-width:701px){
  #panel-carpet .p22-panel-hero img,
  #panel-carpet img[src*="carpet-tech-v42"]{
    min-height:420px !important;
  }
  #panel-dryer .p22-panel-hero img{
    height:auto !important;
    max-height:none !important;
    min-height:360px !important;
  }
}

@media(max-width:700px){
  .p38-modal{
    align-items:start !important;
    padding:8px !important;
  }
  .p38-modal-card{
    width:calc(100vw - 16px) !important;
    max-height:88vh !important;
    margin-top:8px !important;
    padding:18px !important;
    border-radius:22px !important;
  }
  .p38-modal-close,
  #p42CloseEstimate{
    top:0 !important;
    right:0 !important;
  }
}


/* ==========================================================
   Purified v4.3 No Auto-Zoom on iPhone/iPad Input Fields
   ========================================================== */

input,
select,
textarea,
button,
.p28-qty-row input[type="number"],
.p22-calculator input,
.p22-calculator select,
.p38-form input,
.p38-form textarea{
  font-size:16px !important;
}

.p28-qty-row input[type="number"]{
  line-height:1.2 !important;
  min-height:42px !important;
}

@media(max-width:700px){
  input,
  select,
  textarea,
  button,
  .p28-qty-row input[type="number"],
  .p22-calculator input,
  .p22-calculator select,
  .p38-form input,
  .p38-form textarea{
    font-size:16px !important;
  }

  .p28-qty-row input[type="number"]{
    min-height:40px !important;
    padding:.45rem .55rem !important;
  }
}


/* ==========================================================
   Purified v5.1 Correct Service Images
   ========================================================== */
#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="live-v51"],
#panel-upholstery img[src*="live-v51"],
#panel-dryer img[src*="live-v51"]{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
  display:block !important;
  border-radius:18px !important;
}

@media(max-width:700px){
  #panel-carpet .p22-panel-hero img,
  #panel-upholstery .p22-panel-hero img,
  #panel-dryer .p22-panel-hero img{
    aspect-ratio:auto !important;
  }
}


/* ==========================================================
   Purified v5.2 HARD FIX: service images + no input zoom
   ========================================================== */

/* Service images must show full photo without cutting lower part/tool */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  overflow:visible !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="service-v52"],
#panel-upholstery img[src*="service-v52"],
#panel-dryer img[src*="service-v52"]{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#fff !important;
  border-radius:18px !important;
}

/* iPhone/iPad Safari auto-zooms fields smaller than 16px. */
html{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

input,
select,
textarea,
button,
.p28-qty-row input,
.p28-qty-row input[type="number"],
.p22-calculator input,
.p22-calculator select,
.p38-form input,
.p38-form textarea,
#estimateModal input,
#estimateModal textarea,
#estimateModal select{
  font-size:16px !important;
  line-height:1.25 !important;
}

/* Keep the modal visually normal while preventing focus zoom */
#estimateModal .p38-form input,
#estimateModal .p38-form textarea,
#estimateModal .p38-form select{
  min-height:48px !important;
  transform:none !important;
  zoom:1 !important;
}

/* Modal close remains tappable */
.p38-modal-close,
#p42CloseEstimate{
  z-index:10050 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}

@media(max-width:700px){
  #panel-carpet .p22-panel-hero img,
  #panel-upholstery .p22-panel-hero img,
  #panel-dryer .p22-panel-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  input,
  select,
  textarea,
  button,
  .p28-qty-row input,
  .p22-calculator input,
  .p38-form input,
  .p38-form textarea,
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select{
    font-size:16px !important;
  }
}


/* ==========================================================
   Purified v5.3 Exact Service Images + Strong No Auto Zoom
   ========================================================== */

/* Service images from exact approved composite */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  overflow:visible !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="exact-v53"],
#panel-upholstery img[src*="exact-v53"],
#panel-dryer img[src*="exact-v53"]{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#fff !important;
  border-radius:18px !important;
}

/* Prevent iPhone/iPad Safari from auto-zooming inputs on focus */
html{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

input,
select,
textarea,
button,
.p28-qty-row input,
.p28-qty-row input[type="number"],
.p22-calculator input,
.p22-calculator select,
.p38-form input,
.p38-form textarea,
#estimateModal input,
#estimateModal textarea,
#estimateModal select{
  font-size:16px !important;
  line-height:1.25 !important;
}

/* Keep form compact but safe from iOS focus zoom */
#estimateModal .p38-form input,
#estimateModal .p38-form textarea,
#estimateModal .p38-form select{
  font-size:16px !important;
  min-height:48px !important;
  transform:none !important;
  zoom:1 !important;
}

/* Prevent accidental double-tap zoom on buttons without disabling user pinch zoom */
.p22-btn,
.p38-get-price,
.p39-final-get-price,
.p38-form-actions a,
.p38-form-actions button{
  touch-action:manipulation !important;
}

@media(max-width:700px){
  #panel-carpet .p22-panel-hero img,
  #panel-upholstery .p22-panel-hero img,
  #panel-dryer .p22-panel-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  input,
  select,
  textarea,
  button,
  .p28-qty-row input,
  .p22-calculator input,
  .p38-form input,
  .p38-form textarea,
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select{
    font-size:16px !important;
  }
}


/* ==========================================================
   Purified v5.4 iPhone/iPad Get Your Price Form Zoom Lock
   ========================================================== */

/* Safari zooms focused inputs below 16px. Use 17px hard override. */
html,
body{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

input,
select,
textarea,
button,
.p28-qty-row input,
.p28-qty-row input[type="number"],
.p22-calculator input,
.p22-calculator select,
.p38-form input,
.p38-form textarea,
.p38-form select,
#estimateModal input,
#estimateModal textarea,
#estimateModal select{
  font-size:17px !important;
  line-height:1.25 !important;
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

/* Form fields stay normal size and do not trigger iOS automatic zoom */
#estimateModal .p38-form input,
#estimateModal .p38-form textarea,
#estimateModal .p38-form select{
  font-size:17px !important;
  min-height:48px !important;
  transform:none !important;
  zoom:1 !important;
  box-sizing:border-box !important;
}

#estimateModal .p38-modal-card{
  width:min(860px, calc(100vw - 16px)) !important;
  max-width:calc(100vw - 16px) !important;
  box-sizing:border-box !important;
  transform:none !important;
}

.p38-modal{
  touch-action:pan-y !important;
}

.p22-btn,
.p38-get-price,
.p39-final-get-price,
.p38-modal-close,
#p42CloseEstimate{
  touch-action:manipulation !important;
}

@supports (-webkit-touch-callout: none){
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select,
  .p38-form input,
  .p38-form textarea,
  .p38-form select,
  .p28-qty-row input,
  .p22-calculator input,
  .p22-calculator select{
    font-size:17px !important;
  }
}

@media(max-width:700px){
  input,
  select,
  textarea,
  button,
  .p28-qty-row input,
  .p22-calculator input,
  .p38-form input,
  .p38-form textarea,
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select{
    font-size:17px !important;
  }
}


/* ==========================================================
   Purified v5.5 FINAL Mobile Get Your Price No Auto Zoom
   ========================================================== */
html, body{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

#estimateModal input,
#estimateModal textarea,
#estimateModal select,
.p38-form input,
.p38-form textarea,
.p38-form select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="number"],
textarea,
select{
  font-size:18px !important;
  line-height:1.3 !important;
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
  box-sizing:border-box !important;
}

#estimateModal .p38-modal-card,
.p38-modal-card,
.p38-form,
.p38-form-grid{
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
}

#estimateModal .p38-form input,
#estimateModal .p38-form textarea,
#estimateModal .p38-form select{
  min-height:50px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
}

.p38-modal,
.p38-modal-card{
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}

.p22-btn,
.p38-get-price,
.p39-final-get-price,
.p38-modal-close,
#p42CloseEstimate{
  touch-action:manipulation !important;
}

@supports (-webkit-touch-callout: none){
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select,
  .p38-form input,
  .p38-form textarea,
  .p38-form select{
    font-size:18px !important;
  }
}

@media(max-width:700px){
  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select,
  .p38-form input,
  .p38-form textarea,
  .p38-form select{
    font-size:18px !important;
    min-height:50px !important;
  }
}


/* ==========================================================
   Purified v5.6 Dryer Vent Opt-In Calculator
   ========================================================== */
.p56-dryer-note{
  display:block;
  margin-top:6px;
  font-size:0.82rem;
  line-height:1.3;
  color:#5f718c;
  font-weight:700;
}

#panel-dryer input[type="number"]::placeholder{
  color:#9aa8b8;
  opacity:1;
}


/* ==========================================================
   Purified v5.7 PRODUCTION FINAL
   - final service images
   - App Store style payment icons
   - Dryer Vent opt-in default
   - mobile form no auto zoom
   ========================================================== */

#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  overflow:visible !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="final-v57"],
#panel-upholstery img[src*="final-v57"],
#panel-dryer img[src*="final-v57"]{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#fff !important;
  border-radius:18px !important;
}

.p57-payment-app-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin:28px 0 18px;
}

.p57-pay-app{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:132px;
  padding:18px 10px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border:1px solid #d9ecfb;
  box-shadow:0 12px 28px rgba(7,31,70,.10);
  text-align:center;
  transition:transform .18s ease, box-shadow .18s ease;
}

.p57-pay-app:hover,
.p57-pay-app:focus-within{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 38px rgba(7,31,70,.14);
}

.p57-pay-app strong{
  color:#071f46;
  font-weight:900;
  font-size:1rem;
  line-height:1.1;
}

.p57-app-icon{
  width:70px;
  height:70px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.25rem;
  font-weight:1000;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 10px 22px rgba(0,0,0,.14);
  letter-spacing:-.04em;
}

.p57-card-credit .p57-app-icon,
.p57-card-debit .p57-app-icon{
  background:linear-gradient(135deg,#1e80ff 0%,#0950bb 100%);
}

.p57-card-venmo .p57-app-icon{
  background:linear-gradient(135deg,#25a7ff 0%,#006fe6 100%);
  font-family:Arial, sans-serif;
  font-style:italic;
}

.p57-card-cashapp .p57-app-icon{
  background:linear-gradient(135deg,#22e875 0%,#08a847 100%);
  font-size:3rem;
}

.p57-card-zelle .p57-app-icon{
  background:linear-gradient(135deg,#9c4dff 0%,#6214d8 100%);
  font-size:3rem;
}

.p57-card-cash .p57-app-icon{
  background:linear-gradient(135deg,#38d976 0%,#178f3f 100%);
  font-size:2.4rem;
}

.p57-no-checks{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px;
  border-radius:22px;
  border:2px solid rgba(214,36,36,.25);
  background:linear-gradient(180deg,#fff7f7 0%,#fff 100%);
  color:#a31319;
  font-weight:1000;
  box-shadow:0 8px 20px rgba(163,19,25,.06);
}

.p57-no-checks span{
  font-size:1.65rem;
}

/* Hide old rectangular payment chips only when new grid exists nearby */
.p57-payment-app-grid ~ .payment-methods,
.p57-payment-app-grid ~ .payment-grid,
.p57-payment-app-grid ~ .payment-icons{
  display:none !important;
}

/* Mobile form no auto zoom */
html, body{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

#estimateModal input,
#estimateModal textarea,
#estimateModal select,
.p38-form input,
.p38-form textarea,
.p38-form select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="number"],
textarea,
select{
  font-size:18px !important;
  line-height:1.3 !important;
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
  box-sizing:border-box !important;
}

#estimateModal .p38-form input,
#estimateModal .p38-form textarea,
#estimateModal .p38-form select{
  min-height:50px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
}

.p22-btn,
.p38-get-price,
.p39-final-get-price,
.p38-modal-close,
#p42CloseEstimate{
  touch-action:manipulation !important;
}

#panel-dryer input[type="number"]::placeholder{
  color:#9aa8b8;
  opacity:1;
}

@media(max-width:700px){
  .p57-payment-app-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .p57-pay-app{
    min-height:112px;
    border-radius:20px;
    padding:14px 8px;
  }

  .p57-app-icon{
    width:58px;
    height:58px;
    border-radius:17px;
    font-size:1.9rem;
  }

  .p57-pay-app strong{
    font-size:.92rem;
  }

  #panel-carpet .p22-panel-hero img,
  #panel-upholstery .p22-panel-hero img,
  #panel-dryer .p22-panel-hero img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select,
  .p38-form input,
  .p38-form textarea,
  .p38-form select{
    font-size:18px !important;
    min-height:50px !important;
  }
}


/* ==========================================================
   Purified v5.8 FINAL Payment Icons
   Smaller App Store style icons + professional payment text
   ========================================================== */

.p58-payment-intro{
  margin:0 0 18px;
}

.p58-payment-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.p58-payment-title-row h2{
  margin:0;
}

.p58-payment-shield{
  width:42px;
  height:42px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#17a34a;
  background:linear-gradient(180deg,#effdf5 0%,#ffffff 100%);
  border:2px solid rgba(23,163,74,.25);
  font-weight:1000;
  font-size:1.45rem;
  box-shadow:0 10px 22px rgba(23,163,74,.10);
}

.p58-payment-intro p{
  margin:0;
  color:#31435c;
  font-weight:750;
  line-height:1.55;
  font-size:clamp(1rem, 2.4vw, 1.25rem);
}

.p58-payment-app-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  margin:22px 0 18px !important;
}

.p58-pay-app{
  min-height:108px !important;
  padding:14px 8px !important;
  border-radius:20px !important;
}

.p58-app-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  font-size:1.55rem !important;
}

.p57-card-cashapp .p58-app-icon,
.p57-card-zelle .p58-app-icon{
  font-size:2.15rem !important;
}

.p57-card-cash .p58-app-icon{
  font-size:1.7rem !important;
}

.p58-pay-app strong{
  font-size:.92rem !important;
  line-height:1.12 !important;
}

.p58-payment-note{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-top:22px;
  padding:18px;
  border-radius:20px;
  border:1px solid #d7e9f8;
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
  box-shadow:0 10px 24px rgba(7,31,70,.06);
}

.p58-info-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0a6ee8;
  border:2px solid rgba(10,110,232,.35);
  font-weight:1000;
  font-family:Arial, sans-serif;
}

.p58-payment-note p{
  margin:0;
  color:#31435c;
  font-weight:700;
  line-height:1.45;
}

.p58-payment-note strong{
  color:#071f46;
  font-weight:1000;
}

.p57-no-checks{
  display:none !important;
}

@media(max-width:700px){
  .p58-payment-app-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .p58-pay-app{
    min-height:96px !important;
    border-radius:18px !important;
    padding:12px 8px !important;
  }

  .p58-app-icon{
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
    font-size:1.35rem !important;
  }

  .p57-card-cashapp .p58-app-icon,
  .p57-card-zelle .p58-app-icon{
    font-size:1.85rem !important;
  }

  .p57-card-cash .p58-app-icon{
    font-size:1.45rem !important;
  }

  .p58-pay-app strong{
    font-size:.86rem !important;
  }

  .p58-payment-note{
    padding:16px;
    border-radius:18px;
  }
}


/* ==========================================================
   Purified v5.9 FINAL BUILD
   ========================================================== */

/* Final mobile/desktop service images */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  overflow:visible !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="final-v59"],
#panel-upholstery img[src*="final-v59"],
#panel-dryer img[src*="final-v59"]{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  border-radius:18px !important;
}

/* Service tab icons */
.p59-service-tab-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  margin-right:12px;
  border-radius:10px;
  font-size:1.2rem;
  font-weight:1000;
  line-height:1;
  color:#0a6ee8;
  background:linear-gradient(180deg,#f3f9ff 0%,#ffffff 100%);
  border:1px solid #cfe5f8;
  box-shadow:0 6px 14px rgba(7,31,70,.06);
  vertical-align:middle;
}

.p59-upholstery-icon{
  color:#0a6ee8;
}

.p59-dryer-icon{
  color:#17a34a;
}

.p59-carpet-icon{
  color:#0b55b8;
}

/* Compact payment section */
.p58-payment-title-row{
  gap:12px !important;
}

.p58-payment-shield{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:12px !important;
  font-size:1.15rem !important;
}

.p58-payment-app-grid,
.p57-payment-app-grid{
  gap:12px !important;
}

.p58-pay-app,
.p57-pay-app{
  min-height:92px !important;
  padding:10px 8px !important;
  border-radius:18px !important;
}

.p58-app-icon,
.p57-app-icon{
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  font-size:1.15rem !important;
}

.p57-card-cashapp .p58-app-icon,
.p57-card-zelle .p58-app-icon,
.p57-card-cashapp .p57-app-icon,
.p57-card-zelle .p57-app-icon{
  font-size:1.55rem !important;
}

.p58-pay-app strong,
.p57-pay-app strong{
  font-size:.82rem !important;
}

/* Keep Get Your Price form from iOS auto zoom */
html, body{
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

#estimateModal input,
#estimateModal textarea,
#estimateModal select,
.p38-form input,
.p38-form textarea,
.p38-form select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="number"],
textarea,
select{
  font-size:18px !important;
  line-height:1.3 !important;
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
  box-sizing:border-box !important;
}

@media(max-width:700px){
  .p59-service-tab-icon{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:9px;
    font-size:1.05rem;
    margin-right:10px;
  }

  .p58-payment-app-grid,
  .p57-payment-app-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .p58-pay-app,
  .p57-pay-app{
    min-height:86px !important;
    padding:10px 6px !important;
  }

  .p58-app-icon,
  .p57-app-icon{
    width:38px !important;
    height:38px !important;
    border-radius:11px !important;
  }
}


/* ==========================================================
   Purified v6.0 FINAL SERVICE IMAGE REPLACEMENT
   ========================================================== */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  overflow:visible !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet img[src*="final-v60"],
#panel-upholstery img[src*="final-v60"],
#panel-dryer img[src*="final-v60"]{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  border-radius:18px !important;
}

/* Keep mobile form from auto zooming */
#estimateModal input,
#estimateModal textarea,
#estimateModal select,
.p38-form input,
.p38-form textarea,
.p38-form select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="number"],
textarea,
select{
  font-size:18px !important;
  line-height:1.3 !important;
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
  box-sizing:border-box !important;
}


/* ==========================================================
   Purified v6.1 FINAL — No Large Service Image Cards
   ========================================================== */

/* Hide large images inside the main service panels only. Keep small tab icons removed separately. */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero,
#panel-carpet .service-image-card,
#panel-upholstery .service-image-card,
#panel-dryer .service-image-card,
#panel-carpet .service-card-image,
#panel-upholstery .service-card-image,
#panel-dryer .service-card-image,
#panel-carpet img[src*="carpet-final"],
#panel-upholstery img[src*="upholstery-final"],
#panel-dryer img[src*="dryer-final"],
#panel-carpet img[src*="carpet-exact"],
#panel-upholstery img[src*="upholstery-exact"],
#panel-dryer img[src*="dryer-exact"]{
  display:none !important;
}

/* Remove generated service-tab icons; leave text-only tabs. */
.p59-service-tab-icon,
.p22-tab-icon,
.service-tab-icon,
.p58-service-tab-icon,
.p57-service-tab-icon{
  display:none !important;
}

/* Make service tabs clean text-only buttons */
.p22-service-tab,
.p22-tabs button,
.service-tab,
button[class*="service"],
button[class*="tab"]{
  gap:0 !important;
}

/* Compact spacing after removing images */
#panel-carpet,
#panel-upholstery,
#panel-dryer{
  padding-top:18px !important;
}

#panel-carpet .p22-panel-content,
#panel-upholstery .p22-panel-content,
#panel-dryer .p22-panel-content,
#panel-carpet .service-content,
#panel-upholstery .service-content,
#panel-dryer .service-content{
  padding-top:0 !important;
}


/* Add-on chemistry descriptions */
.p61-addon-desc{
  display:block;
  margin-top:4px;
  color:#5f718c;
  font-size:.78rem;
  line-height:1.28;
  font-weight:700;
  max-width:92%;
}

@media(max-width:700px){
  .p61-addon-desc{
    font-size:.74rem;
    line-height:1.25;
  }
}


/* ==========================================================
   Purified v6.3 RESTORE SERVICE IMAGE CARDS
   ========================================================== */

/* Restore service image cards that were hidden in v6.1 */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero,
#panel-carpet .p63-service-image-card,
#panel-upholstery .p63-service-image-card,
#panel-dryer .p63-service-image-card{
  display:block !important;
  overflow:visible !important;
  margin:18px 0 22px !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet .p63-service-image-card img,
#panel-upholstery .p63-service-image-card img,
#panel-dryer .p63-service-image-card img,
#panel-carpet img[src*="card-v63"],
#panel-upholstery img[src*="card-v63"],
#panel-dryer img[src*="card-v63"]{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(7,31,70,.10) !important;
}

/* Keep service tabs text-only */
.p59-service-tab-icon,
.p22-tab-icon,
.service-tab-icon,
.p58-service-tab-icon,
.p57-service-tab-icon{
  display:none !important;
}

@media(max-width:700px){
  #panel-carpet .p22-panel-hero,
  #panel-upholstery .p22-panel-hero,
  #panel-dryer .p22-panel-hero,
  #panel-carpet .p63-service-image-card,
  #panel-upholstery .p63-service-image-card,
  #panel-dryer .p63-service-image-card{
    margin:14px 0 18px !important;
  }
}


/* ==========================================================
   Purified v6.4 — Approved Service Image Cards
   ========================================================== */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero,
#panel-carpet .p63-service-image-card,
#panel-upholstery .p63-service-image-card,
#panel-dryer .p63-service-image-card,
#panel-carpet .p64-service-image-card,
#panel-upholstery .p64-service-image-card,
#panel-dryer .p64-service-image-card{
  display:block !important;
  overflow:hidden !important;
  margin:18px 0 22px !important;
  border-radius:20px !important;
}

#panel-carpet .p22-panel-hero img,
#panel-upholstery .p22-panel-hero img,
#panel-dryer .p22-panel-hero img,
#panel-carpet .p63-service-image-card img,
#panel-upholstery .p63-service-image-card img,
#panel-dryer .p63-service-image-card img,
#panel-carpet .p64-service-image-card img,
#panel-upholstery .p64-service-image-card img,
#panel-dryer .p64-service-image-card img,
#panel-carpet img[src*="card-v64"],
#panel-upholstery img[src*="card-v64"],
#panel-dryer img[src*="card-v64"]{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(7,31,70,.10) !important;
}

/* Keep service tabs text-only if icons were disabled previously */
.p59-service-tab-icon,
.p22-tab-icon,
.service-tab-icon,
.p58-service-tab-icon,
.p57-service-tab-icon{
  display:none !important;
}


/* ==========================================================
   Purified v6.5 — Adaptive Service Images
   Mobile uses 4:3 cards, tablet/desktop uses wide cards.
   ========================================================== */
#panel-carpet .p22-panel-hero,
#panel-upholstery .p22-panel-hero,
#panel-dryer .p22-panel-hero{
  display:grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr) !important;
  align-items:stretch !important;
  gap:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(7,31,70,.10) !important;
}

.p65-service-picture{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:320px !important;
  overflow:hidden !important;
}

.p65-service-picture img,
#panel-carpet .p22-panel-hero picture img,
#panel-upholstery .p22-panel-hero picture img,
#panel-dryer .p22-panel-hero picture img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:320px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* keep text area clean beside the photo on tablet/desktop */
#panel-carpet .p22-panel-hero > div,
#panel-upholstery .p22-panel-hero > div,
#panel-dryer .p22-panel-hero > div{
  padding:34px 34px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

@media(max-width:767px){
  #panel-carpet .p22-panel-hero,
  #panel-upholstery .p22-panel-hero,
  #panel-dryer .p22-panel-hero{
    display:block !important;
    border-radius:22px !important;
  }

  .p65-service-picture,
  .p65-service-picture img,
  #panel-carpet .p22-panel-hero picture img,
  #panel-upholstery .p22-panel-hero picture img,
  #panel-dryer .p22-panel-hero picture img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:22px 22px 0 0 !important;
  }

  #panel-carpet .p22-panel-hero > div,
  #panel-upholstery .p22-panel-hero > div,
  #panel-dryer .p22-panel-hero > div{
    padding:22px 22px 24px !important;
  }
}

/* service tabs remain text-only */
.p59-service-tab-icon,
.p22-tab-icon,
.service-tab-icon,
.p58-service-tab-icon,
.p57-service-tab-icon{
  display:none !important;
}


/* ==========================================================
   Purified v6.7 — Final Payment, Tabs, Add-ons
   ========================================================== */

/* Strict tab panel isolation: fixes image bleed/strips from previous tab */
.p22-price-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.p22-price-panel.active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  margin:initial !important;
}

.p22-panel-hero{
  overflow:hidden !important;
  isolation:isolate !important;
}

.p22-panel-hero picture,
.p22-panel-hero img{
  display:block !important;
  width:100% !important;
}

/* Add-on descriptions */
.p67-addon-desc{
  display:block;
  margin-top:5px;
  max-width:720px;
  color:#5f718c;
  font-size:.76rem;
  line-height:1.28;
  font-weight:750;
}

/* Payment Methods: compact slot-style layout for mobile and tablet */
.p57-payment-section,
.p58-payment-section,
.p59-payment-section,
.payment-methods,
section[id*="payment"],
section[class*="payment"]{
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:24px !important;
}

.p57-payment-card,
.p58-payment-card,
.p59-payment-card,
.payment-methods-card,
.payment-card{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:24px !important;
  border-radius:22px !important;
}

.p57-payment-app-grid,
.p58-payment-app-grid,
.p59-payment-app-grid,
.payment-icons-grid,
.payment-methods-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(110px, 1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

.p67-hide-payment-tile{
  display:none !important;
}

.p57-pay-app,
.p58-pay-app,
.p59-pay-app,
.payment-method-tile,
.pay-app{
  min-height:112px !important;
  padding:14px 10px !important;
  border-radius:16px !important;
}

@media(max-width:900px){
  .p57-payment-card,
  .p58-payment-card,
  .p59-payment-card,
  .payment-methods-card,
  .payment-card{
    width:calc(100% - 32px) !important;
    padding:20px !important;
  }

  .p57-payment-app-grid,
  .p58-payment-app-grid,
  .p59-payment-app-grid,
  .payment-icons-grid,
  .payment-methods-grid{
    grid-template-columns:repeat(5, minmax(92px, 1fr)) !important;
    gap:12px !important;
  }

  .p57-pay-app,
  .p58-pay-app,
  .p59-pay-app,
  .payment-method-tile,
  .pay-app{
    min-height:96px !important;
    padding:12px 8px !important;
  }

  .p67-addon-desc{
    font-size:.72rem;
  }
}

@media(max-width:640px){
  .p57-payment-app-grid,
  .p58-payment-app-grid,
  .p59-payment-app-grid,
  .payment-icons-grid,
  .payment-methods-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .p57-pay-app,
  .p58-pay-app,
  .p59-pay-app,
  .payment-method-tile,
  .pay-app{
    min-height:88px !important;
  }
}


/* ==========================================================
   Purified v6.8 CLEAN FINAL
   Payment centered, compact, fixed; tabs isolated; add-ons cleaned
   ========================================================== */

/* Service tab panels: prevents image bleed/strips on phone/tablet/desktop */
.p22-price-panel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.p22-price-panel.active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  margin:initial !important;
}

.p22-panel-hero{
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Add-on explanations */
.p61-addon-desc,
.p67-addon-desc,
.p68-addon-desc{
  display:block !important;
  margin-top:5px !important;
  max-width:760px !important;
  color:#5f718c !important;
  font-size:.76rem !important;
  line-height:1.28 !important;
  font-weight:750 !important;
}

/* Payment Methods section same width as main site slots and centered */
#payment-methods,
.payment-methods,
section[id*="payment" i],
section[class*="payment" i]{
  width:min(1120px, calc(100% - 32px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  text-align:center !important;
}

.p57-payment-card,
.p58-payment-card,
.p59-payment-card,
.payment-methods-card,
.payment-card,
.p68-payment-fixed{
  width:100% !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  padding:22px !important;
  border-radius:22px !important;
}

/* Payment grid: one card tile + four app tiles */
.p57-payment-app-grid,
.p58-payment-app-grid,
.p59-payment-app-grid,
.payment-icons-grid,
.payment-methods-grid,
.p68-payment-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(105px, 1fr)) !important;
  gap:12px !important;
  justify-content:center !important;
  align-items:stretch !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.p57-pay-app,
.p58-pay-app,
.p59-pay-app,
.payment-method-tile,
.pay-app,
.p68-card-tile{
  min-height:100px !important;
  padding:12px 8px !important;
  border-radius:16px !important;
  text-align:center !important;
  overflow:hidden !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.p67-hide-payment-tile,
.p68-hide-payment-tile{
  display:none !important;
}

.p57-pay-app strong,
.p58-pay-app strong,
.p59-pay-app strong,
.payment-method-tile strong,
.pay-app strong{
  font-size:.86rem !important;
  line-height:1.15 !important;
}

.p57-app-icon,
.p58-app-icon,
.p59-app-icon,
.payment-method-tile img,
.pay-app img{
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  border-radius:12px !important;
  margin-bottom:7px !important;
}

@media(max-width:900px){
  #payment-methods,
  .payment-methods,
  section[id*="payment" i],
  section[class*="payment" i]{
    width:min(100% - 28px, 760px) !important;
  }

  .p57-payment-card,
  .p58-payment-card,
  .p59-payment-card,
  .payment-methods-card,
  .payment-card,
  .p68-payment-fixed{
    max-width:760px !important;
    padding:18px !important;
  }

  .p57-payment-app-grid,
  .p58-payment-app-grid,
  .p59-payment-app-grid,
  .payment-icons-grid,
  .payment-methods-grid,
  .p68-payment-grid{
    grid-template-columns:repeat(5, minmax(82px, 1fr)) !important;
    gap:10px !important;
  }

  .p57-pay-app,
  .p58-pay-app,
  .p59-pay-app,
  .payment-method-tile,
  .pay-app,
  .p68-card-tile{
    min-height:86px !important;
    padding:10px 6px !important;
  }

  .p57-app-icon,
  .p58-app-icon,
  .p59-app-icon{
    width:36px !important;
    height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
  }
}

@media(max-width:640px){
  .p57-payment-app-grid,
  .p58-payment-app-grid,
  .p59-payment-app-grid,
  .payment-icons-grid,
  .payment-methods-grid,
  .p68-payment-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .p57-pay-app,
  .p58-pay-app,
  .p59-pay-app,
  .payment-method-tile,
  .pay-app,
  .p68-card-tile{
    min-height:84px !important;
  }
}


/* ==========================================================
   Purified v6.9 — Payment heading center, calculator cleanup, distance minimum
   ========================================================== */

/* Payment Methods heading and intro centered */
#payment-methods h2,
.payment-methods h2,
section[id*="payment" i] h2,
section[class*="payment" i] h2,
.p68-payment-fixed h2{
  text-align:center !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#payment-methods h2::before,
.payment-methods h2::before,
section[id*="payment" i] h2::before,
section[class*="payment" i] h2::before{
  margin-right:14px !important;
}

#payment-methods,
.payment-methods,
section[id*="payment" i],
section[class*="payment" i],
.p68-payment-fixed{
  text-align:center !important;
}

#payment-methods p,
.payment-methods p,
section[id*="payment" i] p,
section[class*="payment" i] p{
  text-align:center !important;
}

/* Distance minimum notice */
.p69-distance-note{
  display:block;
  margin-top:8px;
  color:#0b2a55;
  font-weight:850;
}

.p69-distance-note-box{
  width:min(1120px, calc(100% - 32px));
  margin:18px auto;
  padding:18px 22px;
  border:1px solid #d7ebff;
  border-radius:18px;
  background:#f5fbff;
  color:#0b2a55;
  font-weight:850;
  text-align:center;
}

/* Hide duplicated add-on helper text inside calculator rows only */
.p69-calculator-clean .p61-addon-desc,
.p69-calculator-clean .p67-addon-desc,
.p69-calculator-clean .p68-addon-desc,
.p69-calculator-clean small[class*="addon-desc"]{
  display:none !important;
}

@media(max-width:640px){
  #payment-methods h2,
  .payment-methods h2,
  section[id*="payment" i] h2,
  section[class*="payment" i] h2,
  .p68-payment-fixed h2{
    font-size:clamp(2.1rem, 9vw, 3rem) !important;
    text-align:center !important;
  }
}


/* v6.9.2 - Center CTA buttons in tablet Request Free Estimate section */
@media (min-width: 768px) and (max-width: 1199px) {
  .request-estimate-buttons,
  .cta-buttons,
  .estimate-buttons,
  .hero-cta-buttons,
  .request-free-estimate .button-group,
  .request-free-estimate .cta-group {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 20px !important;
      width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
  }

  .request-estimate-buttons a,
  .cta-buttons a,
  .estimate-buttons a,
  .hero-cta-buttons a,
  .request-free-estimate .button-group a,
  .request-free-estimate .cta-group a {
      margin: 0 !important;
  }
}

/* Purified Clean Build v10.1 — final overrides */
.p80-tab-photo,
.p80-tab-photo img,
.p22-price-panel picture,
.p22-price-panel img,
.p86-service-hero,
.p86-service-hero img,
.p77-service-hero,
.p76-service-hero,
.p73-service-hero,
.p72-service-hero,
.p22-panel-hero {
  display: none !important;
}

.p91-service-copy-card {
  border: 1px solid #d7ebff !important;
  border-radius: 22px !important;
  background: #fff !important;
  padding: 22px 24px !important;
  margin: 0 0 20px !important;
  box-shadow: 0 10px 28px rgba(7,31,70,.06) !important;
}

.p91-service-copy-card h3 {
  margin: 0 0 10px !important;
  color: #087729 !important;
  font-weight: 950 !important;
  font-size: clamp(1.18rem, 2vw, 1.5rem) !important;
}

.p91-service-copy-card p {
  margin: 0 !important;
  color: #283c59 !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
}

.p101-min-note {
  margin: 10px 0 8px !important;
  color: #526985 !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  text-align: center !important;
}

.p101-payment {
  width: 100% !important;
  padding: 20px 0 34px !important;
  background: linear-gradient(180deg,#f7fcff 0%,#fff 100%) !important;
}

.p101-payment .p22-container {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}

.p101-payment-card {
  width: 100% !important;
  border: 1px solid #d7ebff !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(7,31,70,.07) !important;
  padding: 22px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.p101-payment-card h2 {
  margin: 0 0 8px !important;
  text-align: center !important;
  color: #071f46 !important;
  font-weight: 950 !important;
  font-size: clamp(1.55rem,4.5vw,2.05rem) !important;
  letter-spacing: -.035em !important;
}

.p101-payment-card p {
  margin: 0 auto 18px !important;
  max-width: 650px !important;
  color: #526985 !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.p101-payment-grid {
  display: grid !important;
  grid-template-columns: repeat(8,minmax(0,1fr)) !important;
  gap: 10px !important;
  margin: 0 auto 14px !important;
}

.p101-pay {
  min-height: 46px !important;
  border: 1px solid #d7ebff !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 6px 14px rgba(7,31,70,.055) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  color: #071f46 !important;
  font-weight: 950 !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.p101-visa { color:#075dcc !important; font-size:.8rem !important; }
.p101-amex { color:#0b72ce !important; font-size:.72rem !important; }
.p101-discover { font-size:.63rem !important; }
.p101-venmo { color:#1683d8 !important; font-style: italic !important; font-size:.76rem !important; }
.p101-zelle { color:#6f22e9 !important; font-size:.8rem !important; }
.p101-cash { color:#087729 !important; }
.p101-cashapp b {
  width: 18px !important;
  height: 18px !important;
  border-radius: 5px !important;
  background: #17c95f !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .72rem !important;
}

.p101-master { gap:0 !important; }
.p101-master i {
  display:block !important;
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  background:#eb001b !important;
  margin-right:-7px !important;
}
.p101-master i:last-child {
  background:#f79e1b !important;
  margin-right:0 !important;
}

.p101-payment-note {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: #f7fcff !important;
  border: 1px solid #d7ebff !important;
  color: #526985 !important;
  font-weight: 750 !important;
  font-size: .82rem !important;
}

@media (max-width: 767px) {
  .p101-payment .p22-container {
    max-width: none !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .p101-payment-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  .p101-pay {
    min-height: 44px !important;
    font-size: .68rem !important;
    border-radius: 11px !important;
  }
  .p101-payment-card {
    border-radius: 22px !important;
    padding: 20px 18px !important;
  }
}


/* Tablet layout improvements */
@media (min-width:768px) and (max-width:1180px){
  .cta-buttons,
  .hero-buttons,
  .review-actions,
  .call-text-buttons{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:18px !important;
    width:100% !important;
  }

  .leave-review-btn,
  .call-btn,
  .text-btn{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .p101-payment-card{
    max-width:100% !important;
    width:100% !important;
  }

  .p101-payment-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:14px !important;
    justify-items:center !important;
  }

  .p101-pay{
    width:100% !important;
    max-width:120px !important;
    min-height:58px !important;
    font-size:.9rem !important;
  }
}


/* Purified v10.4 real final visual fixes */
.p104-payment{
  width:100% !important;
  padding:20px 0 34px !important;
  background:linear-gradient(180deg,#f7fcff 0%,#fff 100%) !important;
}
.p104-payment .p22-container{
  width:100% !important;
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  box-sizing:border-box !important;
}
.p104-payment-card{
  width:100% !important;
  border:1px solid #d7ebff !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(7,31,70,.07) !important;
  padding:22px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.p104-payment-card h2{
  margin:0 0 8px !important;
  color:#071f46 !important;
  font-weight:950 !important;
  font-size:clamp(1.55rem,4.5vw,2.05rem) !important;
}
.p104-payment-card p{
  margin:0 auto 18px !important;
  max-width:650px !important;
  color:#526985 !important;
  font-weight:700 !important;
}
.p104-payment-grid{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 auto 14px !important;
}
.p104-pay{
  min-height:46px !important;
  border:1px solid #d7ebff !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 6px 14px rgba(7,31,70,.055) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  font-weight:950 !important;
  font-size:.74rem !important;
  white-space:nowrap !important;
}
.p104-visa{color:#075dcc!important}.p104-amex{color:#0b72ce!important}.p104-discover{font-size:.63rem!important}.p104-venmo{color:#1683d8!important;font-style:italic!important}.p104-zelle{color:#6f22e9!important}.p104-cash{color:#087729!important}
.p104-cashapp b{width:22px!important;height:22px!important;border-radius:6px!important;background:#17c95f!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:.85rem!important}
.p104-master{gap:0!important}.p104-master i{display:block!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#eb001b!important;margin-right:-7px!important}.p104-master i:last-child{background:#f79e1b!important;margin-right:0!important}
.p104-payment-note{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;border-radius:999px!important;background:#f7fcff!important;border:1px solid #d7ebff!important;color:#526985!important;font-weight:750!important;font-size:.82rem!important}
.p104-min-note{margin:10px 0 8px!important;color:#526985!important;font-size:.86rem!important;font-weight:750!important;text-align:center!important}
@media(max-width:767px){
  .p104-payment .p22-container{max-width:none!important;padding-left:28px!important;padding-right:28px!important}
  .p104-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .p104-pay{min-height:44px!important;font-size:.68rem!important;border-radius:11px!important}
  .p104-payment-card{border-radius:22px!important;padding:20px 18px!important}
}
@media(min-width:768px) and (max-width:1180px){
  .p22-actions,.p22-hero .p22-actions,.p22-contact-card .p22-actions,.p22-reviews .p22-actions,.p22-review-actions{justify-content:center!important;text-align:center!important}
  .p104-payment-grid{grid-template-columns:repeat(4,minmax(0,120px))!important;justify-content:center!important}
}


/* Purified v10.5 — minimal order and final estimate cleanup */
.p105-minimal-order{
  margin:10px 0 8px !important;
  color:#526985 !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  text-align:center !important;
}

.p105-hero-min-card{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:18px auto 8px !important;
  padding:12px 18px !important;
  border:1px solid #bfe1ff !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(7,31,70,.07) !important;
  color:#071f46 !important;
  font-weight:900 !important;
}

.p105-hero-min-card span{
  color:#526985 !important;
  font-weight:850 !important;
}

.p105-hero-min-card strong{
  color:#087729 !important;
  font-size:1.15rem !important;
  font-weight:950 !important;
}

@media(max-width:767px){
  .p105-hero-min-card{
    display:flex !important;
    width:calc(100% - 56px) !important;
    max-width:720px !important;
  }
}


/* Purified v10.6 — final minimal order styling */
.p106-minimal-order,
.p105-minimal-order{
  margin:10px 0 8px !important;
  color:#526985 !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  text-align:center !important;
}

.p106-hero-min-card,
.p105-hero-min-card{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:18px auto 8px !important;
  padding:12px 18px !important;
  border:1px solid #bfe1ff !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(7,31,70,.07) !important;
  color:#071f46 !important;
  font-weight:900 !important;
}

.p106-hero-min-card span,
.p105-hero-min-card span{
  color:#526985 !important;
  font-weight:850 !important;
}

.p106-hero-min-card strong,
.p105-hero-min-card strong{
  color:#087729 !important;
  font-size:1.15rem !important;
  font-weight:950 !important;
}

@media(max-width:767px){
  .p106-hero-min-card,
  .p105-hero-min-card{
    display:flex !important;
    width:calc(100% - 56px) !important;
    max-width:720px !important;
  }
}


/* Purified v10.7 — hero minimum note placement */
.p105-hero-min-card,
.p106-hero-min-card,
[class*="hero-min-card"]{
  display:none !important;
}

.p107-hero-min-note{
  width:100% !important;
  max-width:760px !important;
  margin:22px auto 18px !important;
  padding:14px 20px !important;
  border:2px solid #d7ebff !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  box-shadow:0 10px 26px rgba(7,31,70,.07) !important;
  color:#071f46 !important;
  font-weight:850 !important;
  font-size:clamp(1rem,2.8vw,1.15rem) !important;
  line-height:1.35 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.p107-hero-min-note strong{
  color:#087729 !important;
  font-weight:950 !important;
}

@media(max-width:767px){
  .p107-hero-min-note{
    width:calc(100% - 56px) !important;
    margin:20px auto 18px !important;
    padding:13px 16px !important;
  }
}


/* Purified Final v11 */
.p110-hero-min-note{
  width:100% !important;
  max-width:760px !important;
  margin:22px auto 18px !important;
  padding:14px 20px !important;
  border:2px solid #d7ebff !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fff 0%,#f7fcff 100%) !important;
  box-shadow:0 10px 26px rgba(7,31,70,.07) !important;
  color:#071f46 !important;
  font-weight:850 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.p110-hero-min-note strong{display:block!important;color:#087729!important;font-weight:950!important;font-size:1.1rem!important}
.p110-hero-min-note span{display:block!important;margin-top:4px!important;color:#526985!important;font-weight:800!important}

.p110-minimal-order{
  margin:10px 0 8px !important;
  color:#526985 !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  text-align:center !important;
}

.p110-payment{width:100%!important;padding:20px 0 34px!important;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%)!important}
.p110-payment .p22-container{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0 28px!important;box-sizing:border-box!important}
.p110-payment-card{width:100%!important;border:1px solid #d7ebff!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,31,70,.07)!important;padding:22px!important;text-align:center!important;box-sizing:border-box!important}
.p110-payment-card h2{margin:0 0 8px!important;color:#071f46!important;font-weight:950!important;font-size:clamp(1.55rem,4.5vw,2.05rem)!important}
.p110-payment-card p{margin:0 auto 18px!important;max-width:650px!important;color:#526985!important;font-weight:700!important}
.p110-payment-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:10px!important;margin:0 auto 14px!important}
.p110-pay{min-height:46px!important;border:1px solid #d7ebff!important;border-radius:12px!important;background:#fff!important;box-shadow:0 6px 14px rgba(7,31,70,.055)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-weight:950!important;font-size:.74rem!important;white-space:nowrap!important}
.p110-visa{color:#075dcc!important}.p110-amex{color:#0b72ce!important}.p110-discover{font-size:.63rem!important}.p110-venmo{color:#1683d8!important;font-style:italic!important}.p110-zelle{color:#6f22e9!important}.p110-cash{color:#087729!important}
.p110-cashapp b{width:22px!important;height:22px!important;border-radius:6px!important;background:#17c95f!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:.85rem!important}
.p110-master{gap:0!important}.p110-master i{display:block!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#eb001b!important;margin-right:-7px!important}.p110-master i:last-child{background:#f79e1b!important;margin-right:0!important}
.p110-payment-note{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;border-radius:999px!important;background:#f7fcff!important;border:1px solid #d7ebff!important;color:#526985!important;font-weight:750!important;font-size:.82rem!important}

.p105-hero-min-card,.p106-hero-min-card,.p107-hero-min-note,[class*="hero-min-card"]{display:none!important}

@media(max-width:767px){
  .p110-hero-min-note{width:calc(100% - 56px)!important;margin:20px auto 18px!important;padding:13px 16px!important}
  .p110-payment .p22-container{max-width:none!important;padding-left:28px!important;padding-right:28px!important}
  .p110-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .p110-pay{min-height:44px!important;font-size:.68rem!important;border-radius:11px!important}
  .p110-payment-card{border-radius:22px!important;padding:20px 18px!important}
}
@media(min-width:768px) and (max-width:1180px){
  .p22-actions,.p22-hero .p22-actions,.p22-contact-card .p22-actions,.p22-reviews .p22-actions,.p22-review-actions{justify-content:center!important;text-align:center!important}
  .p110-payment-grid{grid-template-columns:repeat(4,minmax(0,120px))!important;justify-content:center!important}
}


/* Purified v11.1 — service tab bug fix */
.p22-price-panel{display:none !important;}
.p22-price-panel.active{display:block !important;}

.p22-tabs [data-tab],
[data-tab]{
  cursor:pointer !important;
}

.p22-price-panel .p110-minimal-order{
  display:block !important;
}

.p22-final-card:has(.p110-min-call),
.p22-estimate-card:has(.p110-min-call),
[class*="tile"]:has(.p110-min-call){
  display:none !important;
}


/* Purified v11.2 HARD FIX */
.p22-price-panel{display:none!important}
.p22-price-panel.active{display:block!important}
[data-tab]{cursor:pointer!important}

.p112-hero-min-note{
  width:100%!important;
  max-width:760px!important;
  margin:22px auto 18px!important;
  padding:14px 20px!important;
  border:2px solid #d7ebff!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)!important;
  box-shadow:0 10px 26px rgba(7,31,70,.07)!important;
  color:#071f46!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.p112-hero-min-note strong{display:block!important;color:#087729!important;font-weight:950!important;font-size:1.1rem!important}
.p112-hero-min-note span{display:block!important;margin-top:4px!important;color:#526985!important;font-weight:800!important}

.p112-minimal-order{
  margin:10px 0 8px!important;
  color:#526985!important;
  font-size:.86rem!important;
  font-weight:800!important;
  text-align:center!important;
}
@media(max-width:767px){
  .p112-hero-min-note{width:calc(100% - 56px)!important;margin:20px auto 18px!important;padding:13px 16px!important}
}


/* Purified v12 — rebuilt services, tabs, calculators */
.p22-price-panel{display:none!important}
.p22-price-panel.active{display:block!important}
.p120-service-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin:24px 0 0!important}
.p120-service-tabs .p22-tab{min-height:70px!important;border:1px solid #d7ebff!important;border-radius:18px 18px 0 0!important;background:#fff!important;color:#071f46!important;font-weight:950!important;text-align:center!important;padding:0 16px!important;cursor:pointer!important}
.p120-service-tabs .p22-tab.active{color:#0967d8!important;border-color:#0967d8!important;box-shadow:inset 0 -4px 0 #0967d8!important}

.p120-service-copy-card{border:1px solid #d7ebff!important;border-radius:22px!important;background:#fff!important;padding:22px 24px!important;margin:0 0 16px!important;box-shadow:0 10px 28px rgba(7,31,70,.06)!important}
.p120-service-copy-card h3{margin:0 0 10px!important;color:#087729!important;font-weight:950!important;font-size:clamp(1.2rem,2vw,1.5rem)!important}
.p120-service-copy-card p{margin:0!important;color:#283c59!important;font-weight:650!important;line-height:1.55!important}

.p120-minimal-order{margin:10px 0 14px!important;color:#526985!important;font-size:.88rem!important;font-weight:850!important;text-align:center!important}

.p22-calculator label{display:block!important;margin:0 0 12px!important;color:#071f46!important;font-weight:850!important}
.p22-calculator label small{display:block!important;margin:3px 0 6px!important;color:#526985!important;font-weight:650!important}
.p22-calculator input{width:100%!important;min-height:42px!important;border:1px solid #d7ebff!important;border-radius:12px!important;padding:8px 10px!important;font-size:16px!important}

.p120-hero-min-note{width:100%!important;max-width:760px!important;margin:22px auto 18px!important;padding:14px 20px!important;border:2px solid #d7ebff!important;border-radius:20px!important;background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)!important;box-shadow:0 10px 26px rgba(7,31,70,.07)!important;color:#071f46!important;text-align:center!important;box-sizing:border-box!important}
.p120-hero-min-note strong{display:block!important;color:#087729!important;font-weight:950!important;font-size:1.1rem!important}
.p120-hero-min-note span{display:block!important;margin-top:4px!important;color:#526985!important;font-weight:800!important}

.p107-hero-min-note,.p110-hero-min-note,.p112-hero-min-note,[class*="hero-min-card"]{display:none!important}

.p120-payment{width:100%!important;padding:20px 0 34px!important;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%)!important}
.p120-payment .p22-container{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0 28px!important;box-sizing:border-box!important}
.p120-payment-card{width:100%!important;border:1px solid #d7ebff!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,31,70,.07)!important;padding:22px!important;text-align:center!important;box-sizing:border-box!important}
.p120-payment-card h2{margin:0 0 8px!important;color:#071f46!important;font-weight:950!important;font-size:clamp(1.55rem,4.5vw,2.05rem)!important}
.p120-payment-card p{margin:0 auto 18px!important;max-width:650px!important;color:#526985!important;font-weight:700!important}
.p120-payment-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:10px!important;margin:0 auto 14px!important}
.p120-pay{min-height:46px!important;border:1px solid #d7ebff!important;border-radius:12px!important;background:#fff!important;box-shadow:0 6px 14px rgba(7,31,70,.055)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-weight:950!important;font-size:.74rem!important;white-space:nowrap!important}
.p120-visa{color:#075dcc!important}.p120-amex{color:#0b72ce!important}.p120-discover{font-size:.63rem!important}.p120-venmo{color:#1683d8!important;font-style:italic!important}.p120-zelle{color:#6f22e9!important}.p120-cash{color:#087729!important}
.p120-cashapp b{width:22px!important;height:22px!important;border-radius:6px!important;background:#17c95f!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:.85rem!important}
.p120-master{gap:0!important}.p120-master i{display:block!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#eb001b!important;margin-right:-7px!important}.p120-master i:last-child{background:#f79e1b!important;margin-right:0!important}
.p120-payment-note{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;border-radius:999px!important;background:#f7fcff!important;border:1px solid #d7ebff!important;color:#526985!important;font-weight:750!important;font-size:.82rem!important}

@media(max-width:767px){
  .p120-service-tabs{grid-template-columns:1fr!important}
  .p120-service-tabs .p22-tab{border-radius:16px!important;min-height:62px!important}
  .p120-hero-min-note{width:calc(100% - 56px)!important;margin:20px auto 18px!important;padding:13px 16px!important}
  .p120-payment .p22-container{max-width:none!important;padding-left:28px!important;padding-right:28px!important}
  .p120-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .p120-pay{min-height:44px!important;font-size:.68rem!important;border-radius:11px!important}
  .p120-payment-card{border-radius:22px!important;padding:20px 18px!important}
}
@media(min-width:768px) and (max-width:1180px){
  .p22-actions,.p22-hero .p22-actions,.p22-contact-card .p22-actions,.p22-reviews .p22-actions,.p22-review-actions{justify-content:center!important;text-align:center!important}
  .p120-payment-grid{grid-template-columns:repeat(4,minmax(0,120px))!important;justify-content:center!important}
}


/* Purified v13.1 — integrated add-ons and combined calculator */
.p130-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:18px 0 22px!important}
.p130-summary-tile{border:1px solid #d7ebff!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 24px rgba(7,31,70,.06)!important;padding:16px!important;text-align:left!important;cursor:pointer!important}
.p130-summary-tile span{display:block!important;color:#526985!important;font-weight:850!important;font-size:.88rem!important;margin-bottom:6px!important}
.p130-summary-tile strong{color:#071f46!important;font-weight:950!important;font-size:1.15rem!important}
.p130-summary-tile.has-value{border-color:#9bd2ff!important;box-shadow:0 14px 30px rgba(9,103,216,.12)!important}
.p130-summary-bottom{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;border:1px solid #bfe1ff!important;border-radius:20px!important;background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)!important;padding:16px 18px!important;box-shadow:0 12px 28px rgba(7,31,70,.07)!important}
.p130-summary-bottom b{display:block!important;color:#071f46!important;font-size:1.1rem!important;font-weight:950!important}
.p130-summary-bottom small{display:block!important;color:#526985!important;font-weight:750!important;line-height:1.35!important}
.p130-summary-bottom>strong{color:#087729!important;font-size:1.35rem!important;font-weight:950!important;white-space:nowrap!important}
.p130-addon-title{margin:24px 0 12px!important}
.p130-addon-list p{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:12px 0!important;border-bottom:1px solid #edf6ff!important}
.p130-addon-list p span{display:block!important}
.p130-addon-list b{color:#071f46!important;font-weight:950!important}
.p130-addon-list small{display:block!important;color:#526985!important;font-weight:650!important;line-height:1.35!important;margin-top:4px!important}
.p130-addon-list strong{color:#087729!important;white-space:nowrap!important}
.p130-calc-group{margin-top:16px!important;padding-top:14px!important;border-top:1px solid #d7ebff!important}
.p130-calc-group h4{margin:0 0 12px!important;color:#071f46!important;font-weight:950!important}
@media(max-width:767px){.p130-summary{grid-template-columns:1fr!important}.p130-summary-bottom{align-items:flex-start!important;flex-direction:column!important}.p130-addon-list p{flex-direction:column!important;gap:6px!important}.p130-addon-list strong{white-space:normal!important}}
@media(min-width:768px) and (max-width:1180px){.p130-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* Purified v13.2 — natural responsive service photos */
.p132-service-showcase{
  display:block !important;
  margin:0 0 20px !important;
}

.p132-service-photo{
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#f7fcff !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 16px 40px rgba(7,31,70,.08) !important;
}

.p132-service-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.p132-service-copy{
  margin:0 0 18px !important;
}

.p132-service-copy h3{
  color:#087729 !important;
}

.p132-service-copy p{
  font-size:clamp(1rem,1.4vw,1.12rem) !important;
  line-height:1.58 !important;
}

@media(min-width:900px){
  .p132-service-photo{
    border-radius:26px !important;
  }
}

@media(max-width:767px){
  .p132-service-showcase{
    margin-bottom:18px !important;
  }

  .p132-service-photo{
    border-radius:20px !important;
    margin-bottom:14px !important;
  }

  .p132-service-copy{
    padding:18px 18px !important;
  }
}


/* Purified v13.3 — approved service photos visible */
.p22-price-panel .p132-service-showcase,
.p22-price-panel .p132-service-photo,
.p22-price-panel .p132-service-photo img,
#panel-carpet .p132-service-photo img,
#panel-upholstery .p132-service-photo img,
#panel-dryer .p132-service-photo img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.p22-price-panel .p132-service-photo{
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#f7fcff !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 16px 40px rgba(7,31,70,.08) !important;
}

.p22-price-panel .p132-service-photo img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}


/* Purified v14.2 — corrected final layout */
.p142-service-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin:24px 0 18px!important}
.p142-service-tabs .p22-tab{min-height:70px!important;border:1px solid #d7ebff!important;border-radius:18px 18px 0 0!important;background:#fff!important;color:#071f46!important;font-weight:950!important;text-align:center!important;padding:0 16px!important;cursor:pointer!important}
.p142-service-tabs .p22-tab.active{color:#0967d8!important;border-color:#0967d8!important;box-shadow:inset 0 -4px 0 #0967d8!important}
.p22-price-panel{display:none!important}
.p22-price-panel.active{display:block!important}
.p142-service-photo{display:block!important;width:100%!important;margin:0 0 16px!important;padding:0!important;border-radius:24px!important;overflow:hidden!important;background:#f7fcff!important;border:1px solid #d7ebff!important;box-shadow:0 16px 40px rgba(7,31,70,.08)!important}
.p142-service-photo img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center center!important}
.p142-service-copy,.p142-price-card{border:1px solid #d7ebff!important;border-radius:22px!important;background:#fff!important;padding:22px 24px!important;margin:0 0 16px!important;box-shadow:0 10px 28px rgba(7,31,70,.06)!important}
.p142-service-copy h3{margin:0 0 10px!important;color:#087729!important;font-weight:950!important;font-size:clamp(1.2rem,2vw,1.55rem)!important}
.p142-service-copy p{margin:0!important;color:#283c59!important;font-weight:650!important;line-height:1.58!important}
.p142-minimal-order{margin:10px 0 16px!important;color:#526985!important;font-size:.9rem!important;font-weight:850!important;text-align:center!important}
.p142-price-card h3,.p142-addon-title{margin:0 0 14px!important;color:#071f46!important;font-weight:950!important}
.p142-list p,.p142-addon-list p{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:10px 0!important;border-bottom:1px solid #edf6ff!important}
.p142-list strong,.p142-addon-list strong{color:#087729!important;white-space:nowrap!important;font-weight:950!important}
.p142-addon-list b{color:#071f46!important;font-weight:950!important}
.p142-addon-list small{display:block!important;color:#526985!important;font-weight:650!important;line-height:1.35!important;margin-top:4px!important}
.p142-calc-details{border:1px solid #bfe1ff!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 30px rgba(9,103,216,.08)!important;overflow:hidden!important;margin:0 0 18px!important}
.p142-calc-details summary{list-style:none!important;cursor:pointer!important;padding:18px 22px!important;background:linear-gradient(145deg,#0b72ff,#075dcc)!important;color:#fff!important;font-weight:950!important;text-align:center!important}
.p142-calc-details summary::-webkit-details-marker{display:none!important}
.p142-calc-details summary::after{content:'+'!important;float:right!important;font-size:1.25rem!important}
.p142-calc-details[open] summary::after{content:'–'!important}
.p142-calc-body{padding:22px!important}
.p142-calc-body label{display:block!important;margin:0 0 12px!important;color:#071f46!important;font-weight:850!important}
.p142-calc-body label small{display:block!important;margin:3px 0 6px!important;color:#526985!important;font-weight:650!important}
.p142-calc-body input{width:100%!important;min-height:42px!important;border:1px solid #d7ebff!important;border-radius:12px!important;padding:8px 10px!important;font-size:16px!important;box-sizing:border-box!important}
.p142-calc-group{margin-top:16px!important;padding-top:14px!important;border-top:1px solid #d7ebff!important}
.p142-calc-group h4{margin:0 0 12px!important;color:#071f46!important;font-weight:950!important}
.p142-request-btn,.p142-final-request-btn{width:100%!important;margin-top:16px!important;min-height:54px!important;font-size:1rem!important;border-radius:999px!important}
.p142-final-request-btn{max-width:420px!important;margin:20px auto 0!important;display:flex!important}
.p142-final-estimator{margin:28px 0!important;border:1px solid #bfe1ff!important;border-radius:26px!important;background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)!important;padding:22px!important;box-shadow:0 14px 34px rgba(7,31,70,.08)!important}
.p142-final-head h3{margin:0 0 8px!important;color:#071f46!important;font-weight:950!important;font-size:1.4rem!important}
.p142-final-head p{margin:0 0 16px!important;color:#526985!important;font-weight:700!important;line-height:1.45!important}
.p142-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0 0 16px!important}
.p142-summary-tile{border:1px solid #d7ebff!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 24px rgba(7,31,70,.06)!important;padding:16px!important;text-align:left!important;cursor:pointer!important}
.p142-summary-tile span{display:block!important;color:#526985!important;font-weight:850!important;font-size:.88rem!important;margin-bottom:6px!important}
.p142-summary-tile strong{color:#071f46!important;font-weight:950!important;font-size:1.15rem!important}
.p142-summary-tile.has-value{border-color:#9bd2ff!important;box-shadow:0 14px 30px rgba(9,103,216,.12)!important}
.p142-summary-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;border:1px solid #d7ebff!important;border-radius:20px!important;background:#fff!important;padding:16px 18px!important}
.p142-summary-bottom b{display:block!important;color:#071f46!important;font-size:1.1rem!important;font-weight:950!important}
.p142-summary-bottom small{display:block!important;color:#526985!important;font-weight:750!important;line-height:1.35!important}
.p142-summary-bottom>strong{color:#087729!important;font-size:1.35rem!important;font-weight:950!important;white-space:nowrap!important}
@media(max-width:767px){
  .p142-service-tabs{grid-template-columns:1fr!important}
  .p142-service-tabs .p22-tab{border-radius:16px!important;min-height:62px!important}
  .p142-service-photo{border-radius:20px!important}
  .p142-service-copy,.p142-price-card,.p142-calc-body,.p142-final-estimator{padding:18px!important}
  .p142-list p,.p142-addon-list p{flex-direction:column!important;gap:6px!important}
  .p142-list strong,.p142-addon-list strong{white-space:normal!important}
  .p142-summary{grid-template-columns:1fr!important}
  .p142-summary-bottom{align-items:flex-start!important;flex-direction:column!important}
}
@media(min-width:768px) and (max-width:1180px){.p142-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* Purified v14.4 — final add-ons, photo badges, and layout */
.p144-service-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin:24px 0 18px!important}
.p144-service-tabs .p22-tab{min-height:70px!important;border:1px solid #d7ebff!important;border-radius:18px 18px 0 0!important;background:#fff!important;color:#071f46!important;font-weight:950!important;text-align:center!important;padding:0 16px!important;cursor:pointer!important}
.p144-service-tabs .p22-tab.active{color:#0967d8!important;border-color:#0967d8!important;box-shadow:inset 0 -4px 0 #0967d8!important}
.p22-price-panel{display:none!important}
.p22-price-panel.active{display:block!important}
.p144-service-photo{position:relative!important;display:block!important;width:100%!important;margin:0 0 16px!important;padding:0!important;border-radius:24px!important;overflow:hidden!important;background:#f7fcff!important;border:1px solid #d7ebff!important;box-shadow:0 16px 40px rgba(7,31,70,.08)!important}
.p144-service-photo img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center center!important}
.p144-photo-strip{position:absolute!important;top:14px!important;left:14px!important;z-index:2!important;padding:9px 14px!important;border-radius:999px!important;background:linear-gradient(135deg,#17b64a,#087729)!important;color:#fff!important;font-weight:950!important;font-size:.86rem!important;box-shadow:0 10px 24px rgba(8,119,41,.24)!important}
.p144-experience-badge{position:absolute!important;right:16px!important;bottom:16px!important;z-index:2!important;padding:12px 16px!important;border-radius:18px!important;background:rgba(255,255,255,.94)!important;color:#071f46!important;font-weight:950!important;font-size:.95rem!important;box-shadow:0 12px 28px rgba(7,31,70,.16)!important;border:1px solid rgba(215,235,255,.95)!important}
.p144-service-copy,.p144-price-card{border:1px solid #d7ebff!important;border-radius:22px!important;background:#fff!important;padding:22px 24px!important;margin:0 0 16px!important;box-shadow:0 10px 28px rgba(7,31,70,.06)!important}
.p144-service-copy h3{margin:0 0 10px!important;color:#087729!important;font-weight:950!important;font-size:clamp(1.2rem,2vw,1.55rem)!important}
.p144-service-copy p{margin:0!important;color:#283c59!important;font-weight:650!important;line-height:1.58!important}
.p144-price-card h3,.p144-addon-title{margin:0 0 14px!important;color:#071f46!important;font-weight:950!important}
.p144-list p,.p144-addon-list p{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:10px 0!important;border-bottom:1px solid #edf6ff!important}
.p144-list strong,.p144-addon-list strong{color:#087729!important;white-space:nowrap!important;font-weight:950!important}
.p144-addon-list b{color:#071f46!important;font-weight:950!important}
.p144-addon-list small{display:block!important;color:#526985!important;font-weight:650!important;line-height:1.35!important;margin-top:4px!important}
.p144-calc-details{border:1px solid #bfe1ff!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 30px rgba(9,103,216,.08)!important;overflow:hidden!important;margin:0 0 18px!important}
.p144-calc-details summary{list-style:none!important;cursor:pointer!important;padding:18px 22px!important;background:linear-gradient(145deg,#0b72ff,#075dcc)!important;color:#fff!important;font-weight:950!important;text-align:center!important}
.p144-calc-details summary::-webkit-details-marker{display:none!important}
.p144-calc-details summary::after{content:'+'!important;float:right!important;font-size:1.25rem!important}
.p144-calc-details[open] summary::after{content:'–'!important}
.p144-calc-body{padding:22px!important}
.p144-calc-body label{display:block!important;margin:0 0 12px!important;color:#071f46!important;font-weight:850!important}
.p144-calc-body label small{display:block!important;margin:3px 0 6px!important;color:#526985!important;font-weight:650!important}
.p144-calc-body input{width:100%!important;min-height:42px!important;border:1px solid #d7ebff!important;border-radius:12px!important;padding:8px 10px!important;font-size:16px!important;box-sizing:border-box!important}
.p144-calc-group{margin-top:16px!important;padding-top:14px!important;border-top:1px solid #d7ebff!important}
.p144-calc-group h4{margin:0 0 12px!important;color:#071f46!important;font-weight:950!important}
.p144-request-btn,.p144-final-request-btn{width:100%!important;margin-top:16px!important;min-height:54px!important;font-size:1rem!important;border-radius:999px!important}
.p144-final-request-btn{max-width:420px!important;margin:20px auto 0!important;display:flex!important}
.p144-final-estimator{margin:28px 0!important;border:1px solid #bfe1ff!important;border-radius:26px!important;background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)!important;padding:22px!important;box-shadow:0 14px 34px rgba(7,31,70,.08)!important}
.p144-final-head h3{margin:0 0 8px!important;color:#071f46!important;font-weight:950!important;font-size:1.4rem!important}
.p144-final-head p{margin:0 0 16px!important;color:#526985!important;font-weight:700!important;line-height:1.45!important}
.p144-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0 0 16px!important}
.p144-summary-tile{border:1px solid #d7ebff!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 24px rgba(7,31,70,.06)!important;padding:16px!important;text-align:left!important;cursor:pointer!important}
.p144-summary-tile span{display:block!important;color:#526985!important;font-weight:850!important;font-size:.88rem!important;margin-bottom:6px!important}
.p144-summary-tile strong{color:#071f46!important;font-weight:950!important;font-size:1.15rem!important}
.p144-summary-tile.has-value{border-color:#9bd2ff!important;box-shadow:0 14px 30px rgba(9,103,216,.12)!important}
.p144-summary-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;border:1px solid #d7ebff!important;border-radius:20px!important;background:#fff!important;padding:16px 18px!important}
.p144-summary-bottom b{display:block!important;color:#071f46!important;font-size:1.1rem!important;font-weight:950!important}
.p144-summary-bottom small{display:block!important;color:#526985!important;font-weight:750!important;line-height:1.35!important}
.p144-summary-bottom>strong{color:#087729!important;font-size:1.35rem!important;font-weight:950!important;white-space:nowrap!important}
@media(min-width:768px) and (max-width:1180px){.p144-service-photo{order:-10!important;margin-top:0!important}.p144-service-photo img{width:100%!important;height:auto!important;object-fit:contain!important}.p144-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){.p144-service-tabs{grid-template-columns:1fr!important}.p144-service-tabs .p22-tab{border-radius:16px!important;min-height:62px!important}.p144-service-photo{border-radius:20px!important}.p144-photo-strip{top:10px!important;left:10px!important;font-size:.75rem!important;padding:8px 11px!important}.p144-experience-badge{right:10px!important;bottom:10px!important;font-size:.78rem!important;padding:9px 11px!important;border-radius:14px!important}.p144-service-copy,.p144-price-card,.p144-calc-body,.p144-final-estimator{padding:18px!important}.p144-list p,.p144-addon-list p{flex-direction:column!important;gap:6px!important}.p144-list strong,.p144-addon-list strong{white-space:normal!important}.p144-summary{grid-template-columns:1fr!important}.p144-summary-bottom{align-items:flex-start!important;flex-direction:column!important}}


/* Purified v14.5 — photo strip text update */
.p144-photo-strip{
  max-width:calc(100% - 28px) !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.15 !important;
}
@media(max-width:767px){
  .p144-photo-strip{
    font-size:.68rem !important;
    padding:7px 10px !important;
  }
}


/* Purified v14.6 — hero image overlay strip */
.p146-hero-photo-wrap{
  position:relative;
  width:100%;
}
.p146-hero-photo-wrap .p22-hero-img{
  display:block;
  width:100%;
  height:auto;
}
.p146-hero-photo-strip{
  position:absolute;
  left:20px;
  top:20px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,#2fd35a 0%,#18a93f 100%);
  color:#fff;
  font-weight:800;
  font-size:.88rem;
  line-height:1.1;
  letter-spacing:.02em;
  text-transform:uppercase;
  box-shadow:0 12px 24px rgba(20,148,63,.18);
  max-width:calc(100% - 40px);
  text-align:center;
}
.p146-hero-photo-badge{
  position:absolute;
  right:20px;
  bottom:20px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(8,28,66,.9);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  line-height:1;
  box-shadow:0 12px 24px rgba(8,28,66,.18);
}
@media (max-width: 1024px){
  .p146-hero-photo-strip{left:16px;top:16px;font-size:.8rem;padding:9px 14px;max-width:calc(100% - 32px);}
  .p146-hero-photo-badge{right:16px;bottom:16px;font-size:.82rem;padding:9px 12px;}
}
@media (max-width: 767px){
  .p146-hero-photo-strip{left:12px;top:12px;font-size:.72rem;padding:8px 12px;max-width:calc(100% - 24px);}
  .p146-hero-photo-badge{right:12px;bottom:12px;font-size:.76rem;padding:8px 10px;border-radius:12px;}
}


/* Purified v14.7 — hero photo natural top layout + no photo overlays */
.p146-hero-reflow{display:flex !important;flex-direction:column !important;gap:26px !important;align-items:stretch !important}
.p146-hero-photo{width:100%;order:0;margin:0}
.p146-hero-photo .p22-hero-img,.p146-hero-photo .p146-hero-img-natural{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 22px 48px rgba(7,31,70,.12)}
.p22-hero-copy{order:1}
.p146-hero-meta{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 2px}
.p146-hero-exp-pill{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:999px;background:linear-gradient(145deg,#071f46,#0a2f69);color:#fff;font-weight:900;font-size:.9rem;box-shadow:0 14px 28px rgba(7,31,70,.18)}
.p146-hero-photo-strip,.p146-hero-photo-badge,.p144-photo-strip,.p144-experience-badge{display:none !important}
.p22-actions{justify-content:center}
.p147-military-status{margin-top:14px;padding:12px 16px;border-radius:16px;background:linear-gradient(135deg,#f3fbff,#ffffff);border:1px solid #b9dcff;color:#075dcc;font-weight:900;box-shadow:0 10px 24px rgba(7,93,204,.08)}
.p37-military-card.is-selected{outline:5px solid #ffd54a !important;box-shadow:0 24px 50px rgba(255,187,0,.28),0 18px 36px rgba(7,93,204,.22) !important}
.p37-military-card.is-selected em{background:#ffd54a !important;color:#071f46 !important}
@media (max-width: 767px){
  .p146-hero-reflow{gap:20px !important}
  .p146-hero-photo .p22-hero-img,.p146-hero-photo .p146-hero-img-natural{border-radius:22px}
  .p146-hero-exp-pill{font-size:.82rem;padding:.62rem .92rem}
}


/* Purified v14.8 — selected service photos + payment fee note */
.p144-photo-strip,
.p144-experience-badge,
.p143-photo-strip,
.p143-experience-badge{
  display:none !important;
}

.p144-service-photo,
.p140-service-photo,
.p132-service-photo{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#f7fcff !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 16px 40px rgba(7,31,70,.08) !important;
}

.p144-service-photo img,
.p140-service-photo img,
.p132-service-photo img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.p148-card-fee-note{
  margin:14px auto 12px !important;
  max-width:720px !important;
  padding:12px 16px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#f7fcff 0%,#ffffff 100%) !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 8px 20px rgba(7,31,70,.055) !important;
  color:#071f46 !important;
  text-align:center !important;
}

.p148-card-fee-note strong{
  display:block !important;
  color:#071f46 !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}

.p148-card-fee-note span{
  display:block !important;
  color:#526985 !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  font-size:.9rem !important;
}

@media(max-width:767px){
  .p144-service-photo,
  .p140-service-photo,
  .p132-service-photo{
    border-radius:20px !important;
  }
  .p148-card-fee-note{
    padding:11px 12px !important;
    font-size:.88rem !important;
  }
}


/* Purified v15 — calculator logic UI, mobile specials, FAQ */
.p150-discounts-toggle{
  display:none !important;
}

.p150-faq{
  padding:34px 0 !important;
  background:linear-gradient(180deg,#f7fcff 0%,#ffffff 100%) !important;
}

.p150-faq-card{
  border:1px solid #d7ebff !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(7,31,70,.08) !important;
  padding:24px !important;
}

.p150-faq-head{
  text-align:center !important;
  max-width:850px !important;
  margin:0 auto !important;
}

.p150-faq-head span{
  display:inline-flex !important;
  padding:.45rem .75rem !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#30cf61,#139a35) !important;
  color:#fff !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  font-size:.72rem !important;
  margin-bottom:10px !important;
}

.p150-faq-head h2{
  margin:0 0 8px !important;
  color:#071f46 !important;
  font:900 clamp(1.85rem,4vw,2.6rem)/1.05 Poppins,Inter,sans-serif !important;
  letter-spacing:-.04em !important;
}

.p150-faq-head p{
  margin:0 auto 16px !important;
  color:#526985 !important;
  font-weight:700 !important;
  line-height:1.5 !important;
}

.p150-faq-toggle,
.p150-discounts-toggle{
  width:100% !important;
  max-width:520px !important;
  margin:14px auto 0 !important;
  min-height:56px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#0b72ff,#075dcc 55%,#0448aa) !important;
  color:#fff !important;
  font-weight:950 !important;
  font-size:1rem !important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.55), inset 0 -6px 10px rgba(0,0,0,.18), 0 14px 26px rgba(7,93,204,.18) !important;
  cursor:pointer !important;
}

.p150-faq-panel{
  margin-top:22px !important;
}

.p150-faq-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.p150-faq-grid details{
  border:1px solid #d7ebff !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(7,31,70,.055) !important;
  overflow:hidden !important;
}

.p150-faq-grid summary{
  cursor:pointer !important;
  padding:16px 18px !important;
  color:#071f46 !important;
  font-weight:950 !important;
  list-style:none !important;
}

.p150-faq-grid summary::-webkit-details-marker{
  display:none !important;
}

.p150-faq-grid summary::after{
  content:'+' !important;
  float:right !important;
  color:#075dcc !important;
  font-weight:950 !important;
}

.p150-faq-grid details[open] summary::after{
  content:'–' !important;
}

.p150-faq-grid p{
  margin:0 !important;
  padding:0 18px 18px !important;
  color:#526985 !important;
  font-weight:650 !important;
  line-height:1.5 !important;
}

#upholsteryCalculator > summary,
.p144-calc-details > summary{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  box-sizing:border-box !important;
  min-height:58px !important;
  line-height:1.25 !important;
  white-space:normal !important;
}

#upholsteryCalculator > summary::after,
.p144-calc-details > summary::after{
  margin-left:auto !important;
  flex:0 0 auto !important;
  line-height:1 !important;
}

@media(max-width:767px){
  .p150-discounts-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:16px auto 18px !important;
  }

  .p30-specials:not(.p150-open) .p30-special-grid{
    display:none !important;
  }

  .p30-specials.p150-open .p30-special-grid{
    display:grid !important;
  }

  .p30-specials .p22-section-head p{
    margin-bottom:0 !important;
  }

  .p150-faq-card{
    padding:20px 16px !important;
    border-radius:24px !important;
  }

  .p150-faq-grid{
    grid-template-columns:1fr !important;
  }

  .p150-faq-toggle,
  .p150-discounts-toggle{
    max-width:100% !important;
    font-size:.95rem !important;
    padding:0 16px !important;
  }
}

@media(min-width:768px){
  .p30-specials .p30-special-grid{
    display:grid !important;
  }
}


/* Purified v15.1 — mobile form no-zoom + upholstery calculator polish */
#estimateModal input,
#estimateModal textarea,
#estimateModal select,
.p38-form input,
.p38-form textarea,
.p38-form select{
  font-size:18px !important;
  line-height:1.35 !important;
  transform:none !important;
  -webkit-transform:none !important;
  zoom:1 !important;
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
  touch-action:manipulation !important;
}

#upholsteryCalculator > summary{
  min-height:62px !important;
  padding-left:20px !important;
  padding-right:20px !important;
  text-align:center !important;
  justify-content:center !important;
}

#upholsteryCalculator > summary::after{
  position:static !important;
  margin-left:12px !important;
  flex:0 0 auto !important;
}

.p144-list small{
  display:block !important;
  margin-top:3px !important;
  color:#526985 !important;
  font-size:.78rem !important;
  font-weight:700 !important;
}

@media(max-width:767px){
  html, body{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  #estimateModal input,
  #estimateModal textarea,
  #estimateModal select,
  .p38-form input,
  .p38-form textarea,
  .p38-form select{
    font-size:18px !important;
    min-height:50px !important;
  }
}


/* Purified v15.2 — header business hours */
.p152-header-hours{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:168px !important;
  padding:8px 12px !important;
  border:1px solid #d7ebff !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  box-shadow:0 8px 20px rgba(7,31,70,.055) !important;
  color:#071f46 !important;
  line-height:1.12 !important;
  text-align:center !important;
}

.p152-header-hours strong{
  color:#087729 !important;
  font-weight:950 !important;
  font-size:.74rem !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  margin-bottom:2px !important;
}

.p152-header-hours span{
  color:#071f46 !important;
  font-weight:900 !important;
  font-size:.82rem !important;
  white-space:nowrap !important;
}

.p152-header-hours small{
  color:#526985 !important;
  font-weight:800 !important;
  font-size:.68rem !important;
  margin-top:2px !important;
  white-space:nowrap !important;
}

@media(max-width:980px){
  .p152-header-hours{
    display:none !important;
  }
}

@media(min-width:981px) and (max-width:1180px){
  .p152-header-hours{
    min-width:150px !important;
    padding:7px 9px !important;
  }

  .p152-header-hours span{
    font-size:.74rem !important;
  }

  .p152-header-hours small{
    font-size:.62rem !important;
  }
}


.p152-nav-hours{
  display:none !important;
}

@media(max-width:980px){
  .p22-nav.is-open .p152-nav-hours,
  .p22-nav .p152-nav-hours{
    display:block !important;
    padding:14px 16px !important;
    margin:8px 0 0 !important;
    border-radius:16px !important;
    background:#f7fcff !important;
    border:1px solid #d7ebff !important;
    color:#071f46 !important;
    font-weight:900 !important;
    text-align:center !important;
    line-height:1.35 !important;
  }
}


/* Purified v15.3 — softer hero photo + compact combined estimate */
.p146-hero-photo .p22-hero-img,
.p146-hero-photo .p146-hero-img-natural{
  filter:none !important;
  border-radius:28px !important;
  box-shadow:0 18px 42px rgba(7,31,70,.10) !important;
}

.p144-final-estimator{
  max-width:960px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:22px !important;
}

.p144-final-head{
  text-align:center !important;
  max-width:760px !important;
  margin:0 auto 18px !important;
}

.p144-final-head h3{
  text-transform:uppercase !important;
  letter-spacing:-.035em !important;
  font-size:clamp(1.9rem,4vw,2.7rem) !important;
}

.p144-final-head p{
  font-size:clamp(1rem,2.2vw,1.15rem) !important;
  line-height:1.45 !important;
  color:#526985 !important;
}

.p144-summary{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 18px !important;
}

.p144-summary-tile,
.p144-summary-bottom.p153-final-tile{
  min-height:140px !important;
  border:1px solid #d7ebff !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(7,31,70,.06) !important;
  padding:16px !important;
  text-align:left !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:8px !important;
}

.p144-summary-bottom.p153-final-tile{
  grid-column:auto !important;
}

.p153-tile-icon{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7fcff !important;
  border:1px solid #d7ebff !important;
  color:#075dcc !important;
  font-weight:950 !important;
  font-size:1.15rem !important;
  margin-bottom:2px !important;
}

.p144-summary-tile span:not(.p153-tile-icon),
.p144-summary-bottom.p153-final-tile b{
  color:#071f46 !important;
  font-weight:950 !important;
  font-size:1rem !important;
  line-height:1.15 !important;
}

.p144-summary-tile strong,
.p144-summary-bottom.p153-final-tile > strong{
  font-size:1.05rem !important;
  line-height:1.15 !important;
  color:#526985 !important;
  font-weight:950 !important;
  white-space:normal !important;
}

.p144-summary-bottom.p153-final-tile > strong{
  color:#087729 !important;
}

.p144-summary-bottom.p153-final-tile small{
  display:none !important;
}

.p144-final-request-btn{
  width:100% !important;
  max-width:720px !important;
  min-height:58px !important;
  margin:20px auto 0 !important;
  font-size:1.1rem !important;
}

@media(max-width:767px){
  .p144-final-estimator{
    padding:20px 18px !important;
    border-radius:24px !important;
  }

  .p144-summary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .p144-summary-tile,
  .p144-summary-bottom.p153-final-tile{
    min-height:132px !important;
    border-radius:18px !important;
    padding:13px !important;
  }

  .p153-tile-icon{
    width:40px !important;
    height:40px !important;
    border-radius:14px !important;
    font-size:1rem !important;
  }

  .p144-summary-tile span:not(.p153-tile-icon),
  .p144-summary-bottom.p153-final-tile b{
    font-size:.88rem !important;
  }

  .p144-summary-tile strong,
  .p144-summary-bottom.p153-final-tile > strong{
    font-size:.9rem !important;
  }

  .p144-final-request-btn{
    min-height:56px !important;
    margin-top:18px !important;
  }
}


/* Purified v15.4 — true small-item pricing with $99 request minimum */
.p154-minimum-notice{
  margin:14px 0 4px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%) !important;
  color:#071f46 !important;
  box-shadow:0 10px 24px rgba(255,185,0,.10) !important;
  text-align:left !important;
}

.p154-minimum-notice strong{
  display:block !important;
  color:#075dcc !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}

.p154-minimum-notice span{
  display:block !important;
  color:#526985 !important;
  font-weight:850 !important;
  line-height:1.35 !important;
}

.p38-get-price.p154-disabled,
.p38-get-price:disabled{
  opacity:.55 !important;
  filter:grayscale(.25) !important;
  cursor:not-allowed !important;
  pointer-events:auto !important;
}

.p38-get-price.p154-disabled::after{
  content:'Minimum $99 order required' !important;
  position:absolute !important;
  left:50% !important;
  bottom:-28px !important;
  transform:translateX(-50%) !important;
  color:#526985 !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

.p144-final-request-btn{
  position:relative !important;
}

@media(max-width:767px){
  .p154-minimum-notice{
    font-size:.9rem !important;
    padding:13px 14px !important;
  }

  .p38-get-price.p154-disabled::after{
    bottom:-24px !important;
    font-size:.68rem !important;
  }
}


/* Purified v15.5 — distance map and location minimum */
.p155-location-fields{
  margin:0 0 16px !important;
  padding:14px !important;
  border:1px solid #d7ebff !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  box-shadow:0 8px 22px rgba(7,31,70,.055) !important;
}

.p155-location-fields h4{
  margin:0 0 10px !important;
  color:#071f46 !important;
  font-weight:950 !important;
}

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

.p155-location-grid label{
  margin:0 !important;
}

.p155-location-grid input{
  width:100% !important;
  min-height:44px !important;
  border:1px solid #d7ebff !important;
  border-radius:12px !important;
  padding:8px 10px !important;
  font-size:18px !important;
  box-sizing:border-box !important;
}

.p155-location-status{
  margin:10px 0 0 !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  font-size:.88rem !important;
}

.p155-location-status.p155-remote{
  color:#9a5a00 !important;
}

.p155-location-status.p155-local{
  color:#087729 !important;
}

.p155-map-details{
  margin:18px 0 0 !important;
  border:1px solid #bfe1ff !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 14px 32px rgba(7,31,70,.08) !important;
  overflow:hidden !important;
}

.p155-map-details summary{
  cursor:pointer !important;
  padding:18px 22px !important;
  list-style:none !important;
  background:linear-gradient(145deg,#0b72ff,#075dcc 55%,#0448aa) !important;
  color:#fff !important;
  font-weight:950 !important;
  text-align:center !important;
}

.p155-map-details summary::-webkit-details-marker{
  display:none !important;
}

.p155-map-details summary::after{
  content:' +' !important;
  font-weight:950 !important;
}

.p155-map-details[open] summary::after{
  content:' –' !important;
}

.p155-map-inner{
  padding:14px !important;
}

#p155ServiceMap,
.p155-map-iframe{
  width:100% !important;
  min-height:420px !important;
  border:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#f7fcff !important;
  touch-action:auto !important;
}

#p155ServiceMap{
  display:block !important;
}

.p155-map-iframe{
  display:none !important;
}

.p155-map-note{
  margin:0 !important;
  padding:0 18px 18px !important;
  color:#526985 !important;
  font-weight:750 !important;
  line-height:1.45 !important;
}

.p155-map-note strong{
  color:#071f46 !important;
  font-weight:950 !important;
}

.p154-minimum-notice{
  margin:14px 0 4px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%) !important;
  color:#071f46 !important;
  box-shadow:0 10px 24px rgba(255,185,0,.10) !important;
  text-align:left !important;
}

.p154-minimum-notice strong{
  display:block !important;
  color:#075dcc !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}

.p154-minimum-notice span{
  display:block !important;
  color:#526985 !important;
  font-weight:850 !important;
  line-height:1.35 !important;
}

.p38-get-price.p154-disabled,
.p38-get-price:disabled{
  opacity:.55 !important;
  filter:grayscale(.25) !important;
  cursor:not-allowed !important;
  pointer-events:auto !important;
}

@media(max-width:767px){
  .p155-location-grid{
    grid-template-columns:1fr !important;
  }

  #p155ServiceMap,
  .p155-map-iframe{
    min-height:360px !important;
  }

  .p155-map-inner{
    padding:10px !important;
  }

  .p155-map-note{
    padding:0 14px 14px !important;
    font-size:.9rem !important;
  }
}

@media(min-width:900px){
  #p155ServiceMap,
  .p155-map-iframe{
    min-height:560px !important;
  }
}


/* v15.6 — text, map, form, summary tile cleanup */
.p153-tile-icon{display:none !important; width:0 !important; height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important;}
.p144-summary-tile span,
.p144-summary-bottom.p153-final-tile b{margin-bottom:0 !important;}
.p144-summary-tile,
.p144-summary-bottom.p153-final-tile{align-items:flex-start !important; justify-content:center !important; gap:10px !important;}

/* hide map attribution/flag bottom right as requested */
.leaflet-bottom.leaflet-right,
.leaflet-control-attribution{display:none !important;}

.p156-thank-you{
  margin:16px 0 0 !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  border:1px solid #cfe7ff !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  box-shadow:0 12px 26px rgba(7,31,70,.06) !important;
}
.p156-thank-you strong{
  display:block !important;
  color:#087729 !important;
  font-size:1.08rem !important;
  font-weight:950 !important;
  margin-bottom:6px !important;
}
.p156-thank-you span{
  display:block !important;
  color:#526985 !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}
.p156-thank-you.is-visible{
  border-color:#9ed7ad !important;
  box-shadow:0 14px 30px rgba(8,119,41,.12) !important;
}


/* Purified v15.7 — staircase extras layout */
.p157-stair-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 0 12px !important;
}

.p157-stair-grid label{
  margin:0 !important;
}

@media(max-width:767px){
  .p157-stair-grid{
    grid-template-columns:1fr !important;
  }
}


/* Purified v15.8 — visible header contact bar + premium 3D buttons/cards */
.p158-topbar{
  width:100% !important;
  background:linear-gradient(135deg,#071f46 0%,#075dcc 58%,#087729 100%) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 8px 20px rgba(7,31,70,.12) !important;
}

.p158-topbar-inner{
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  font-weight:850 !important;
  font-size:.88rem !important;
  text-align:center !important;
}

.p158-topbar a{
  color:#fff !important;
  text-decoration:none !important;
}

.p158-topbar strong{
  font-weight:950 !important;
}

.p158-header-email{
  display:block !important;
  margin-top:3px !important;
  color:#075dcc !important;
  font-weight:900 !important;
  font-size:.68rem !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

@media(max-width:767px){
  .p158-topbar-inner{
    min-height:42px !important;
    gap:4px 12px !important;
    font-size:.76rem !important;
    line-height:1.2 !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
}

@media(max-width:380px){
  .p158-topbar-inner{
    font-size:.7rem !important;
  }
}

/* Shared 3D button surface */
.p22-btn,
.p22-menu,
.p22-tab,
.p144-calc-details summary,
.p142-calc-details summary,
.p140-calc-details summary,
.p150-faq-toggle,
.p150-discounts-toggle,
.p155-map-details summary,
.p38-form-actions a,
.p144-summary-tile,
.p144-summary-bottom.p153-final-tile,
.p36-special-card,
.p37-military-card,
.p120-pay{
  transform:translateY(0) !important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

/* Premium 3D for action buttons */
.p22-btn,
.p38-form-actions a,
.p150-faq-toggle,
.p150-discounts-toggle,
.p144-calc-details summary,
.p142-calc-details summary,
.p140-calc-details summary,
.p155-map-details summary{
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.72),
    inset 0 -9px 16px rgba(0,0,0,.22),
    0 14px 0 rgba(7,31,70,.12),
    0 22px 36px rgba(7,31,70,.18) !important;
  text-shadow:0 2px 2px rgba(0,0,0,.18) !important;
  position:relative !important;
  overflow:hidden !important;
}

.p22-btn::before,
.p38-form-actions a::before,
.p150-faq-toggle::before,
.p150-discounts-toggle::before,
.p144-calc-details summary::before,
.p142-calc-details summary::before,
.p140-calc-details summary::before,
.p155-map-details summary::before{
  content:"" !important;
  position:absolute !important;
  left:8px !important;
  right:8px !important;
  top:4px !important;
  height:38% !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,0)) !important;
  pointer-events:none !important;
}

.p22-btn:hover,
.p38-form-actions a:hover,
.p150-faq-toggle:hover,
.p150-discounts-toggle:hover,
.p144-calc-details summary:hover,
.p142-calc-details summary:hover,
.p140-calc-details summary:hover,
.p155-map-details summary:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.05) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.78),
    inset 0 -10px 16px rgba(0,0,0,.23),
    0 16px 0 rgba(7,31,70,.12),
    0 26px 42px rgba(7,31,70,.22) !important;
}

.p22-btn:active,
.p38-form-actions a:active,
.p150-faq-toggle:active,
.p150-discounts-toggle:active,
.p144-calc-details summary:active,
.p142-calc-details summary:active,
.p140-calc-details summary:active,
.p155-map-details summary:active{
  transform:translateY(4px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -5px 10px rgba(0,0,0,.20),
    0 6px 0 rgba(7,31,70,.14),
    0 12px 18px rgba(7,31,70,.18) !important;
}

/* 3D tab buttons */
.p22-tab,
.p144-service-tabs .p22-tab{
  border:1px solid #d7ebff !important;
  background:linear-gradient(180deg,#ffffff 0%,#f2f8ff 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -8px 14px rgba(7,93,204,.07),
    0 9px 0 #d5eaff,
    0 18px 28px rgba(7,31,70,.08) !important;
}

.p22-tab.active,
.p144-service-tabs .p22-tab.active{
  color:#fff !important;
  background:linear-gradient(145deg,#0b72ff 0%,#075dcc 55%,#0448aa 100%) !important;
  border-color:#075dcc !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.62),
    inset 0 -9px 16px rgba(0,0,0,.20),
    0 10px 0 #043f94,
    0 22px 34px rgba(7,93,204,.26) !important;
  text-shadow:0 2px 2px rgba(0,0,0,.18) !important;
}

/* 3D cards / active tiles */
.p144-summary-tile,
.p144-summary-bottom.p153-final-tile,
.p36-special-card,
.p37-military-card{
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  border:1px solid #d7ebff !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.92),
    inset 0 -10px 18px rgba(7,93,204,.045),
    0 10px 0 #d9edff,
    0 22px 34px rgba(7,31,70,.09) !important;
}

.p144-summary-tile.has-value,
.p37-military-card.is-selected,
.p36-special-card:hover,
.p144-summary-tile:hover{
  transform:translateY(-3px) !important;
  border-color:#9bd2ff !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.96),
    inset 0 -12px 20px rgba(7,93,204,.06),
    0 12px 0 #bfe1ff,
    0 28px 44px rgba(7,93,204,.16) !important;
}

.p144-summary-tile:active,
.p36-special-card:active{
  transform:translateY(4px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -7px 14px rgba(7,93,204,.05),
    0 5px 0 #d9edff,
    0 12px 18px rgba(7,31,70,.08) !important;
}

/* 3D hamburger */
.p22-menu{
  background:linear-gradient(180deg,#ffffff 0%,#f2f8ff 100%) !important;
  border:1px solid #d7ebff !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -8px 12px rgba(7,93,204,.06),
    0 8px 0 #d8ebff,
    0 18px 28px rgba(7,31,70,.10) !important;
}

.p22-menu:active{
  transform:translateY(4px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 4px 0 #d8ebff,
    0 10px 18px rgba(7,31,70,.09) !important;
}

/* Payment method tiles get subtle physical-card feel */
.p120-pay{
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -6px 10px rgba(7,31,70,.035),
    0 7px 0 #e4f2ff,
    0 16px 24px rgba(7,31,70,.07) !important;
}

.p120-pay:hover{
  transform:translateY(-2px) !important;
}


/* Purified v15.9 — stronger topbar labels + 3D mobile quick menu */
.p158-topbar strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#071f46 !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:999px !important;
  padding:3px 8px !important;
  margin-right:5px !important;
  font-weight:950 !important;
  text-shadow:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 4px 10px rgba(0,0,0,.16) !important;
}

.p158-topbar span,
.p158-topbar a{
  color:#fff !important;
  text-shadow:0 2px 3px rgba(0,0,0,.35) !important;
  font-weight:950 !important;
}

.p158-topbar{
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(135deg,#062760 0%,#075dcc 48%,#079445 100%) !important;
}

/* Make hamburger quick-menu items look like real 3D buttons */
@media(max-width:980px){
  .p22-nav.is-open{
    gap:18px !important;
    padding:22px !important;
    border-radius:28px !important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),rgba(242,249,255,.96)) !important;
    border:1px solid #d7ebff !important;
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,.85),
      0 20px 50px rgba(7,31,70,.18) !important;
  }

  .p22-nav.is-open a,
  .p22-nav.is-open .p152-nav-hours{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:66px !important;
    width:100% !important;
    padding:0 24px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#ffffff 0%,#f4faff 100%) !important;
    border:1px solid #d7ebff !important;
    color:#071f46 !important;
    font-weight:950 !important;
    text-decoration:none !important;
    text-align:left !important;
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,.92),
      inset 0 -9px 16px rgba(7,93,204,.06),
      0 8px 0 #d8ebff,
      0 18px 28px rgba(7,31,70,.10) !important;
    transform:translateY(0) !important;
    transition:transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
  }

  .p22-nav.is-open a:hover,
  .p22-nav.is-open .p152-nav-hours:hover{
    transform:translateY(-2px) !important;
    filter:saturate(1.04) !important;
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,.95),
      inset 0 -10px 18px rgba(7,93,204,.07),
      0 10px 0 #c8e4ff,
      0 22px 34px rgba(7,93,204,.16) !important;
  }

  .p22-nav.is-open a:active,
  .p22-nav.is-open .p152-nav-hours:active{
    transform:translateY(5px) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      inset 0 -6px 12px rgba(7,93,204,.06),
      0 4px 0 #d8ebff,
      0 10px 16px rgba(7,31,70,.08) !important;
  }

  .p22-nav.is-open .p152-nav-hours{
    justify-content:center !important;
    text-align:center !important;
    background:linear-gradient(180deg,#f7fcff 0%,#ffffff 100%) !important;
    color:#075dcc !important;
    line-height:1.25 !important;
  }

  .p22-nav.is-open a::after{
    content:"›" !important;
    margin-left:auto !important;
    color:#075dcc !important;
    font-size:1.6rem !important;
    font-weight:950 !important;
    opacity:.8 !important;
  }
}

@media(max-width:767px){
  .p158-topbar-inner{
    color:#fff !important;
  }

  .p158-topbar strong{
    padding:2px 7px !important;
    margin-right:4px !important;
  }

  .p22-nav.is-open a,
  .p22-nav.is-open .p152-nav-hours{
    min-height:64px !important;
    padding-left:22px !important;
    padding-right:22px !important;
    border-radius:19px !important;
  }
}


/* Purified v16.0 — homepage savings + transparency promise */
.p160-home-promise{
  padding:22px 0 10px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
}

.p160-promise-card{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid #bfe1ff !important;
  border-radius:28px !important;
  padding:24px !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(48,207,97,.18),transparent 34%),
    radial-gradient(circle at 90% 20%,rgba(11,114,255,.13),transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    0 18px 44px rgba(7,31,70,.08) !important;
}

.p160-promise-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:7px !important;
  background:linear-gradient(180deg,#18c653,#075dcc) !important;
}

.p160-promise-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 14px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#30cf61,#139a35) !important;
  color:#fff !important;
  font-weight:950 !important;
  font-size:.78rem !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  box-shadow:0 12px 24px rgba(8,119,41,.16) !important;
}

.p160-promise-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr) !important;
  gap:22px !important;
  align-items:stretch !important;
}

.p160-promise-main h2{
  margin:0 0 10px !important;
  color:#071f46 !important;
  font:900 clamp(1.75rem,4vw,2.65rem)/1.03 Poppins,Inter,sans-serif !important;
  letter-spacing:-.045em !important;
}

.p160-promise-main p,
.p160-promise-note p{
  margin:0 0 12px !important;
  color:#526985 !important;
  font-weight:750 !important;
  line-height:1.55 !important;
  font-size:1rem !important;
}

.p160-promise-main strong,
.p160-promise-note strong{
  color:#071f46 !important;
  font-weight:950 !important;
}

.p160-promise-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:16px !important;
}

.p160-promise-note{
  border:1px solid #d7ebff !important;
  border-radius:22px !important;
  padding:20px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.9),
    0 12px 30px rgba(7,31,70,.06) !important;
}

.p160-promise-note h3{
  margin:0 0 10px !important;
  color:#087729 !important;
  font-weight:950 !important;
  font-size:1.28rem !important;
}

.p160-owner-line{
  margin-top:14px !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:#f7fcff !important;
  border:1px solid #d7ebff !important;
  color:#075dcc !important;
  font-weight:950 !important;
  text-align:center !important;
}

@media(max-width:767px){
  .p160-home-promise{
    padding:18px 0 6px !important;
  }

  .p160-promise-card{
    border-radius:24px !important;
    padding:20px 18px !important;
  }

  .p160-promise-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .p160-promise-kicker{
    font-size:.68rem !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

  .p160-promise-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .p160-promise-actions .p22-btn{
    width:100% !important;
  }

  .p160-promise-note{
    padding:17px !important;
  }
}


/* Purified v16.1 — apartment/unit + required floor fields */
.p161-field-help{
  display:block !important;
  margin:3px 0 6px !important;
  color:#526985 !important;
  font-size:.76rem !important;
  font-weight:750 !important;
  line-height:1.25 !important;
}

.p161-floor-warning{
  margin:14px 0 !important;
  padding:13px 15px !important;
  border-radius:16px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff8dc 100%) !important;
  color:#071f46 !important;
  font-weight:850 !important;
  line-height:1.4 !important;
  box-shadow:0 10px 24px rgba(255,185,0,.10) !important;
}

#clientFloor[aria-invalid="true"]{
  border-color:#ffb22e !important;
  box-shadow:0 0 0 4px rgba(255,178,46,.18) !important;
}

@media(max-width:767px){
  .p161-floor-warning{
    font-size:.9rem !important;
    padding:12px 13px !important;
  }
}


/* ==========================================================
   Purified v16.2 — 3D images + performance polish
   ========================================================== */
.p22-hero-image,
.p144-service-photo,
.p22-about-photo,
.p22-about-image,
.p22-review-grid article,
.p22-gallery-item,
.p22-before-after,
.p22-results-card,
.p22-photo-card,
.p22-service-image,
.p22-area-card,
.p22-service-card,
.p120-payment-card,
.p25-area-card,
.p144-photo-shell{
  perspective:1400px !important;
}

.p162-3d-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  backface-visibility:hidden !important;
  transform:translateZ(0) rotateX(.65deg) rotateY(-.65deg) !important;
  transform-style:preserve-3d !important;
  border-radius:24px !important;
  border:1px solid rgba(201,225,247,.95) !important;
  box-shadow:
    0 22px 50px rgba(7,31,70,.10),
    0 10px 24px rgba(7,31,70,.08),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  filter:saturate(1.02) contrast(1.01) !important;
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}

.p162-3d-image:hover,
.p162-3d-image:focus,
.p144-summary-tile:hover,
.p144-summary-bottom:hover{
  transform:translateY(-3px) translateZ(0) rotateX(.2deg) rotateY(-.2deg) !important;
  box-shadow:
    0 26px 60px rgba(7,31,70,.14),
    0 14px 30px rgba(7,31,70,.10),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.p22-hero-image .p162-3d-image{
  border-radius:28px !important;
  box-shadow:
    0 26px 64px rgba(7,31,70,.14),
    0 12px 30px rgba(7,31,70,.10),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

@media(max-width:767px){
  .p162-3d-image{
    border-radius:20px !important;
    transform:translateZ(0) !important;
    box-shadow:
      0 16px 36px rgba(7,31,70,.11),
      0 8px 18px rgba(7,31,70,.08),
      inset 0 1px 0 rgba(255,255,255,.92) !important;
  }
}

@supports (content-visibility:auto){
  .p162-lazy-section{
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }
}

img[loading="lazy"]{
  will-change:auto;
}

.p22-service-photo img,
.p144-service-photo img,
.p22-about-photo img,
.p22-hero-image img{
  object-fit:cover !important;
}


/* ==========================================================
   Purified v16.3 — final premium animation + mobile audit polish
   ========================================================== */

/* Safer page rendering */
html{
  scroll-behavior:smooth;
  overflow-x:hidden !important;
}

body{
  overflow-x:hidden !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Reveal animations: lightweight and graceful */
.p163-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
}

.p163-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
  .p163-reveal{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Premium key blocks: subtle glass depth, not heavy */
.p160-promise-card,
.p144-final-estimator,
.p150-faq-card,
.p22-about-card,
.p22-area-card,
.p120-payment-card,
.p22-contact-card{
  position:relative !important;
  transform:translateZ(0) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.92),
    0 18px 0 rgba(215,235,255,.75),
    0 36px 56px rgba(7,31,70,.10) !important;
}

.p160-promise-card::after,
.p144-final-estimator::after,
.p150-faq-card::after,
.p22-about-card::after,
.p22-area-card::after,
.p120-payment-card::after,
.p22-contact-card::after{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:12px !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent) !important;
  pointer-events:none !important;
}

/* Better focus states for real use */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:4px solid rgba(11,114,255,.26) !important;
  outline-offset:3px !important;
}

/* Extra tactile 3D controls */
.p163-premium-control,
.p22-menu{
  isolation:isolate;
}

.p163-premium-control:hover{
  will-change:transform, box-shadow;
}

.p163-premium-control:active{
  transform:translateY(5px) scale(.992) !important;
}

/* Mobile quick-menu fits better on small devices */
@media(max-width:980px){
  .p22-nav.is-open{
    max-height:calc(100dvh - 124px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .p22-nav.is-open a,
  .p22-nav.is-open .p152-nav-hours{
    flex-shrink:0 !important;
  }
}

/* Combined Estimate mobile audit */
@media(max-width:767px){
  .p144-final-head h3{
    font-size:clamp(1.85rem,9vw,2.45rem) !important;
    line-height:1.02 !important;
  }

  .p144-final-head p{
    font-size:1rem !important;
  }

  .p144-summary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .p144-summary-tile,
  .p144-summary-bottom.p153-final-tile{
    min-height:118px !important;
    padding:13px !important;
    border-radius:18px !important;
  }

  .p144-summary-tile span,
  .p144-summary-bottom.p153-final-tile b{
    font-size:.82rem !important;
    line-height:1.1 !important;
  }

  .p144-summary-tile strong,
  .p144-summary-bottom.p153-final-tile > strong{
    font-size:.92rem !important;
    line-height:1.15 !important;
  }

  .p144-final-request-btn{
    margin-top:18px !important;
    min-height:56px !important;
  }
}

/* Sticky CTA safe-area and easier tapping */
.p22-sticky{
  padding-bottom:max(12px, env(safe-area-inset-bottom)) !important;
  gap:10px !important;
}

@media(max-width:420px){
  .p22-sticky .p22-btn{
    font-size:.86rem !important;
    padding-left:.8rem !important;
    padding-right:.8rem !important;
    min-height:50px !important;
  }
}

/* Image performance/quality guard */
.p162-3d-image,
img{
  image-rendering:auto !important;
}

.p144-service-photo,
.p146-hero-photo,
.p25-about-media{
  contain:layout paint !important;
}

/* Map mobile audit */
#p155ServiceMap{
  touch-action:pan-x pan-y pinch-zoom !important;
}

.leaflet-container{
  font-family:Inter,Arial,sans-serif !important;
}

/* Inputs: prevent mobile zoom and keep comfortable tap targets */
input,
textarea,
select{
  font-size:18px !important;
}

@media(max-width:767px){
  input,
  textarea,
  select{
    min-height:48px !important;
  }

  .p155-location-grid{
    gap:12px !important;
  }

  .p38-modal-card{
    max-height:calc(100dvh - 26px) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

/* Reduce cost of offscreen sections where supported, with fallback */
@supports (content-visibility:auto){
  .p22-services,
  .p30-specials,
  .p150-faq,
  .p22-about,
  .p22-area,
  .p22-reviews,
  .p22-contact,
  .p120-payment{
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }
}

/* Header top bar compactness on mobile */
@media(max-width:480px){
  .p158-topbar-inner{
    font-size:.68rem !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .p158-topbar strong{
    padding:2px 6px !important;
  }
}

/* Avoid accidental huge shadows on very slow devices */
@media(max-width:767px){
  .p160-promise-card,
  .p144-final-estimator,
  .p150-faq-card,
  .p22-about-card,
  .p22-area-card,
  .p120-payment-card,
  .p22-contact-card{
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,.92),
      0 10px 0 rgba(215,235,255,.75),
      0 22px 34px rgba(7,31,70,.09) !important;
  }
}


/* ==========================================================
   Purified v16.4 — Sticky Call button alignment fix
   ========================================================== */
@media (max-width: 767px){
  .p22-sticky{
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
  }

  .p22-sticky .p22-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.12 !important;
    min-height:58px !important;
    padding:.62rem .72rem !important;
    font-size:clamp(.80rem,3.55vw,.98rem) !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
}

@media (max-width: 430px){
  .p22-sticky .p22-btn{
    font-size:clamp(.76rem,3.45vw,.92rem) !important;
    min-height:56px !important;
    padding:.58rem .58rem !important;
  }
}

@media (max-width: 380px){
  .p22-sticky .p22-btn{
    font-size:.74rem !important;
    line-height:1.08 !important;
  }
}


/* ==========================================================
   Purified v16.5 — Sticky Call Us label + final performance polish
   ========================================================== */

/* Floating CTA: visible label is short and centered; phone number opens on tap */
.p22-sticky .p165-call-us,
.p22-sticky a[href^="tel:"]{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1 !important;
  font-size:clamp(.95rem, 4vw, 1.08rem) !important;
  letter-spacing:0 !important;
  padding-left:1rem !important;
  padding-right:1rem !important;
}

@media(max-width:767px){
  .p22-sticky{
    grid-template-columns:1fr 1fr !important;
    align-items:stretch !important;
  }

  .p22-sticky .p22-btn{
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .p22-sticky .p165-call-us,
  .p22-sticky a[href^="tel:"]{
    font-size:clamp(.95rem, 4.2vw, 1.05rem) !important;
    white-space:nowrap !important;
  }
}

/* Performance-friendly rendering */
img{
  max-width:100% !important;
  height:auto;
}

@supports (content-visibility:auto){
  .p162-lazy-section,
  .p22-services,
  .p30-specials,
  .p150-faq,
  .p22-about,
  .p22-area,
  .p22-reviews,
  .p22-contact,
  .p120-payment{
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }
}

/* Keep animations premium but safe on weak devices */
@media(max-width:767px){
  .p163-reveal{
    transition-duration:.34s !important;
  }
  .p162-3d-image:hover{
    transform:translateZ(0) !important;
  }
}

/* Users who prefer reduced motion get instant display */
@media (prefers-reduced-motion: reduce){
  .p163-reveal{
    opacity:1 !important;
    transform:none !important;
  }
}


/* Purified v16.7 — verified integration safeguards */
.p166-special-card-media{
  display:block !important;
  width:100% !important;
  height:140px !important;
  border-radius:22px !important;
  margin-bottom:16px !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 24px rgba(8,36,92,.14) !important;
  position:relative !important;
  overflow:hidden !important;
}

.p166-package-card .p166-special-card-media{background-image:url('../images/hero/hero-soft-natural-v153.webp') !important;background-position:center 42% !important;}
.p166-pet-discount-card .p166-special-card-media{background-image:url('../images/about/about-family-natural-v151.webp') !important;background-position:center 34% !important;}
.p166-whole-home-card .p166-special-card-media{background-image:url('../images/services/carpet-cleaning-technician-v206.webp') !important;background-position:center 46% !important;}
.p166-returning-card .p166-special-card-media{background-image:url('../images/services/upholstery-selected-v148.webp') !important;background-position:center 40% !important;}
.p166-military-card .p166-special-card-media{background-image:url('../images/services/dryer-selected-v148.webp') !important;background-position:center 38% !important;}

.p36-special-card,
.p37-military-card{
  color:#071f46 !important;
}

.p36-special-card b,
.p36-special-card span,
.p36-special-card em,
.p37-military-card b,
.p37-military-card span,
.p37-military-card em{
  color:#071f46 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.p36-special-card strong,
.p37-military-card strong{
  color:#087729 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.p37-military-card[aria-pressed="true"],
.p37-military-card.is-active{
  outline:3px solid rgba(32,198,90,.35) !important;
  box-shadow:0 0 0 6px rgba(32,198,90,.14),0 14px 32px rgba(8,36,92,.18) !important;
}

.p22-sticky .p165-call-us,
.p22-sticky a[href^="tel:"]{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

@media(max-width:700px){
  .p166-special-card-media{
    height:128px !important;
  }
}


/* Purified v16.8 — collapsible price lists and refined specials */
.p168-price-details{padding:0!important;overflow:hidden!important;border:1px solid #cfe5ff!important;box-shadow:0 16px 34px rgba(7,31,70,.08)!important;background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%)!important}
.p168-price-summary{list-style:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:18px 22px!important;text-align:center!important;background:linear-gradient(145deg,#ffffff 0%,#f0f8ff 100%)!important;color:#0a3f93!important;font-weight:950!important;border:none!important;position:relative!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 24px rgba(7,93,204,.12)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.p168-price-summary::-webkit-details-marker{display:none!important}
.p168-price-summary::before{content:'Price List';display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#0c83ff,#0a5fd6)!important;color:#fff!important;font-size:.76rem!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important;box-shadow:0 8px 16px rgba(10,95,214,.24)!important}
.p168-price-summary::after{content:'+';position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;font-size:1.35rem!important;font-weight:900!important;color:#0a5fd6!important}
.p168-price-details[open] .p168-price-summary{background:linear-gradient(145deg,#0b72ff,#075dcc)!important;color:#fff!important;box-shadow:0 16px 28px rgba(7,93,204,.24)!important}
.p168-price-details[open] .p168-price-summary::before{background:rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important}
.p168-price-details[open] .p168-price-summary::after{content:'–';color:#fff!important}
.p168-price-summary:hover{transform:translateY(-2px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 26px rgba(7,93,204,.16)!important}
.p168-price-body{padding:22px 24px 24px!important;border-top:1px solid #d9edff!important;background:#fff!important}

.p36-special-card,.p37-military-card{position:relative!important;overflow:hidden!important;align-items:flex-start!important;padding:22px 22px 20px!important;border-radius:24px!important;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;border:1px solid #d8ebff!important;box-shadow:0 18px 38px rgba(7,31,70,.10)!important}
.p36-special-card::before,.p37-military-card::before{content:'';position:absolute;inset:0 auto auto 0;height:7px;width:100%;background:linear-gradient(90deg,#0d84ff,#26c967)!important}
.p36-special-card[data-theme='mint']::before{background:linear-gradient(90deg,#1cbf72,#79dc9b)!important}
.p36-special-card[data-theme='sky']::before{background:linear-gradient(90deg,#38a0ff,#79d3ff)!important}
.p36-special-card[data-theme='violet']::before{background:linear-gradient(90deg,#7e84ff,#bc96ff)!important}
.p37-military-card[data-theme='gold']::before{background:linear-gradient(90deg,#f7b500,#ffd95a)!important}
.p168-special-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(12,131,255,.10)!important;color:#0a5fd6!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important;margin-bottom:8px!important;box-shadow:inset 0 0 0 1px rgba(12,131,255,.14)!important}
.p37-military-card .p168-special-badge{background:rgba(247,181,0,.15)!important;color:#8b5b00!important;box-shadow:inset 0 0 0 1px rgba(247,181,0,.24)!important}
.p168-special-content{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
.p36-special-card b,.p37-military-card b{display:block!important;font-size:1.35rem!important;line-height:1.15!important;color:#071f46!important;margin:0!important}
.p36-special-card span,.p37-military-card span{color:#5a718f!important;font-weight:800!important;line-height:1.45!important}
.p36-special-card strong,.p37-military-card strong{display:inline-flex!important;align-self:flex-start!important;padding:10px 14px!important;border-radius:16px!important;background:linear-gradient(135deg,#eff8ff,#dff0ff)!important;color:#087729!important;font-size:1.55rem!important;font-weight:950!important;box-shadow:inset 0 0 0 1px rgba(8,119,41,.08)!important}
.p36-special-card em,.p37-military-card em{font-style:normal!important;color:#6b7d96!important;font-weight:700!important;line-height:1.5!important}
.p37-military-card.is-active,.p37-military-card.is-selected,.p37-military-card[aria-pressed='true']{outline:4px solid rgba(255,213,74,.55)!important;box-shadow:0 0 0 8px rgba(255,213,74,.15),0 22px 42px rgba(7,31,70,.12)!important}
.p37-military-card.is-active strong,.p37-military-card.is-selected strong,.p37-military-card[aria-pressed='true'] strong{background:linear-gradient(135deg,#fff7d6,#ffe690)!important;color:#7a5400!important}
.p166-special-card-media{display:none!important}

@media(max-width:767px){
  .p168-price-summary{padding:16px 18px!important;font-size:.98rem!important}
  .p168-price-summary::before{padding:6px 10px!important;font-size:.70rem!important}
  .p168-price-summary::after{right:14px!important}
  .p168-price-body{padding:18px!important}
  .p36-special-card,.p37-military-card{padding:20px 18px 18px!important}
  .p36-special-card b,.p37-military-card b{font-size:1.20rem!important}
  .p36-special-card strong,.p37-military-card strong{font-size:1.36rem!important}
}


/* Purified v16.9 — calculator/location/discount final fix */
#combinedEstimate .p155-location-fields{
  display:none !important;
}

.p155-location-fields.p169-required{
  border-color:#ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#ffffff 100%) !important;
  box-shadow:0 10px 24px rgba(255,185,0,.12) !important;
}

.p155-location-status.p169-required{
  color:#9a5a00 !important;
  font-weight:950 !important;
}

.p154-minimum-notice{
  margin:14px 0 8px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%) !important;
  color:#071f46 !important;
  box-shadow:0 10px 24px rgba(255,185,0,.12) !important;
  text-align:left !important;
}

.p154-minimum-notice strong{
  display:block !important;
  color:#075dcc !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}

.p154-minimum-notice span{
  display:block !important;
  color:#526985 !important;
  font-weight:850 !important;
  line-height:1.35 !important;
}

.p38-get-price.p154-disabled,
.p38-get-price:disabled{
  opacity:.55 !important;
  filter:grayscale(.18) !important;
  cursor:not-allowed !important;
  pointer-events:auto !important;
}

/* Specials: no photos, premium clean card design */
.p166-special-card-media{
  display:none !important;
}

.p36-special-card,
.p37-military-card{
  position:relative !important;
  overflow:hidden !important;
  align-items:flex-start !important;
  padding:22px 22px 20px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(11,114,255,.10), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
  border:1px solid #d8ebff !important;
  box-shadow:0 18px 38px rgba(7,31,70,.10) !important;
  color:#071f46 !important;
}

.p36-special-card::before,
.p37-military-card::before{
  content:'' !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  height:7px !important;
  width:100% !important;
  background:linear-gradient(90deg,#0d84ff,#26c967) !important;
}

.p36-special-card[data-theme='mint']::before{background:linear-gradient(90deg,#1cbf72,#79dc9b)!important}
.p36-special-card[data-theme='sky']::before{background:linear-gradient(90deg,#38a0ff,#79d3ff)!important}
.p36-special-card[data-theme='violet']::before{background:linear-gradient(90deg,#7e84ff,#bc96ff)!important}
.p37-military-card[data-theme='gold']::before{background:linear-gradient(90deg,#f7b500,#ffd95a)!important}

.p168-special-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:rgba(12,131,255,.10)!important;
  color:#0a5fd6!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin-bottom:8px!important;
  box-shadow:inset 0 0 0 1px rgba(12,131,255,.14)!important;
}

.p37-military-card .p168-special-badge{
  background:rgba(247,181,0,.15)!important;
  color:#8b5b00!important;
  box-shadow:inset 0 0 0 1px rgba(247,181,0,.24)!important;
}

.p36-special-card b,.p37-military-card b{
  color:#071f46!important;
  font-size:1.35rem!important;
  line-height:1.15!important;
  opacity:1!important;
  text-shadow:none!important;
}
.p36-special-card span,.p36-special-card em,
.p37-military-card span,.p37-military-card em{
  color:#526985!important;
  opacity:1!important;
  text-shadow:none!important;
  line-height:1.45!important;
}
.p36-special-card strong,.p37-military-card strong{
  color:#087729!important;
  opacity:1!important;
  text-shadow:none!important;
}

.p37-military-card.is-active,
.p37-military-card.is-selected,
.p37-military-card[aria-pressed='true']{
  outline:4px solid rgba(255,213,74,.55)!important;
  box-shadow:0 0 0 8px rgba(255,213,74,.15),0 22px 42px rgba(7,31,70,.12)!important;
}

/* Tablet landscape header guard: use hamburger menu to prevent nav text overlapping logo */
@media (min-width:768px) and (max-width:1250px) and (orientation:landscape){
  .p22-header-inner{
    position:relative !important;
    min-height:92px !important;
    align-items:center !important;
  }
  .p22-nav{
    display:none !important;
  }
  .p22-nav.is-open{
    display:grid !important;
    position:absolute !important;
    left:20px !important;
    right:20px !important;
    top:calc(100% + 10px) !important;
    z-index:999 !important;
    gap:14px !important;
    padding:18px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px) !important;
    border:1px solid #d7ebff !important;
    box-shadow:0 22px 52px rgba(7,31,70,.18) !important;
  }
  .p22-nav.is-open a,
  .p22-nav.is-open .p152-nav-hours{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:54px !important;
    border-radius:16px !important;
    background:#fff !important;
    border:1px solid #d7ebff !important;
    padding:0 18px !important;
    color:#071f46 !important;
    font-weight:950 !important;
    text-decoration:none !important;
  }
  .p22-menu{
    display:block !important;
    flex:0 0 auto !important;
  }
  .p22-phone,
  .p152-header-hours{
    display:none !important;
  }
}

@media(max-width:767px){
  .p154-minimum-notice{
    font-size:.9rem !important;
    padding:13px 14px !important;
  }
}


/* Purified v17.0 — commercial calculator + payment/card fee */
.p170-property-note{
  margin:0 0 12px !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

.p170-property-note strong{
  color:#075dcc !important;
  font-weight:950 !important;
}

.p170-commercial-strip{
  padding:12px 0 4px !important;
  background:linear-gradient(180deg,#f7fcff 0%,#ffffff 100%) !important;
}

.p170-commercial-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px) !important;
  gap:16px !important;
  align-items:center !important;
  border:1px solid #bfe1ff !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  padding:18px !important;
  box-shadow:0 16px 36px rgba(7,31,70,.08) !important;
}

.p170-commercial-copy span{
  display:inline-flex !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(7,93,204,.10) !important;
  color:#075dcc !important;
  font-weight:950 !important;
  font-size:.78rem !important;
  text-transform:uppercase !important;
  margin-bottom:8px !important;
}

.p170-commercial-copy strong{
  display:block !important;
  color:#071f46 !important;
  font-weight:950 !important;
  font-size:clamp(1.2rem,2.4vw,1.55rem) !important;
  line-height:1.1 !important;
}

.p170-commercial-copy p{
  margin:8px 0 0 !important;
  color:#526985 !important;
  font-weight:750 !important;
  line-height:1.45 !important;
}

.p170-commercial-details{
  border:1px solid #d7ebff !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(7,31,70,.08) !important;
}

.p170-commercial-details summary{
  list-style:none !important;
  cursor:pointer !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(145deg,#0b72ff,#075dcc) !important;
  color:#fff !important;
  font-weight:950 !important;
  text-align:center !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.62), inset 0 -9px 16px rgba(0,0,0,.18) !important;
}

.p170-commercial-details summary::-webkit-details-marker{
  display:none !important;
}

.p170-commercial-details summary::after{
  content:'+' !important;
  margin-left:10px !important;
  font-size:1.25rem !important;
  font-weight:950 !important;
}

.p170-commercial-details[open] summary::after{
  content:'–' !important;
}

.p170-commercial-body{
  padding:16px !important;
}

.p170-commercial-body label{
  display:block !important;
  color:#071f46 !important;
  font-weight:850 !important;
  margin:0 0 12px !important;
}

.p170-commercial-body label small{
  display:block !important;
  margin:3px 0 6px !important;
  color:#526985 !important;
  font-weight:700 !important;
}

.p170-commercial-body input,
.p170-commercial-body select{
  width:100% !important;
  min-height:44px !important;
  border:1px solid #d7ebff !important;
  border-radius:12px !important;
  padding:8px 10px !important;
  font-size:18px !important;
  box-sizing:border-box !important;
}

.p170-card-fee-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:12px 14px !important;
  border:1px solid #d7ebff !important;
  border-radius:16px !important;
  background:#f7fcff !important;
  font-weight:850 !important;
}

.p170-card-fee-check input{
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  accent-color:#087729 !important;
  flex:0 0 auto !important;
}

.p170-card-fee-check span{
  color:#071f46 !important;
  line-height:1.25 !important;
}

.p170-card-fee-note{
  margin-top:8px !important;
  color:#526985 !important;
  font-weight:750 !important;
  line-height:1.35 !important;
}

@media(max-width:767px){
  .p170-commercial-card{
    grid-template-columns:1fr !important;
    padding:16px !important;
    border-radius:22px !important;
  }

  .p170-commercial-details summary{
    min-height:56px !important;
  }
}

/* Tablet landscape header guard refinement */
@media (min-width:768px) and (max-width:1280px) and (orientation:landscape){
  .p22-header-inner{
    min-height:96px !important;
    align-items:center !important;
  }

  .p22-nav{
    display:none !important;
  }

  .p22-nav.is-open{
    display:grid !important;
    position:absolute !important;
    left:20px !important;
    right:20px !important;
    top:calc(100% + 10px) !important;
    z-index:999 !important;
    gap:14px !important;
    padding:18px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px) !important;
    border:1px solid #d7ebff !important;
    box-shadow:0 22px 52px rgba(7,31,70,.18) !important;
  }

  .p22-nav.is-open a,
  .p22-nav.is-open .p152-nav-hours{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:54px !important;
    border-radius:16px !important;
    background:#fff !important;
    border:1px solid #d7ebff !important;
    padding:0 18px !important;
    color:#071f46 !important;
    font-weight:950 !important;
    text-decoration:none !important;
  }

  .p22-menu{
    display:block !important;
    flex:0 0 auto !important;
  }

  .p22-phone,
  .p152-header-hours{
    display:none !important;
  }
}


/* Purified v17.1 — calculator accuracy + remote fee fix */
#combinedEstimate .p155-location-fields{display:none!important}
.p155-location-fields.p171-required{border-color:#ffd36b!important;background:linear-gradient(180deg,#fffdf3 0%,#fff 100%)!important;box-shadow:0 10px 24px rgba(255,185,0,.12)!important}
.p155-location-status.p171-required{color:#9a5a00!important;font-weight:950!important}
.p154-minimum-notice{margin:14px 0 8px!important;padding:14px 16px!important;border-radius:18px!important;border:1px solid #ffd36b!important;background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%)!important;color:#071f46!important;box-shadow:0 10px 24px rgba(255,185,0,.12)!important;text-align:left!important}
.p154-minimum-notice strong{display:block!important;color:#075dcc!important;font-weight:950!important;margin-bottom:4px!important}
.p154-minimum-notice span{display:block!important;color:#526985!important;font-weight:850!important;line-height:1.35!important}
.p38-get-price.p154-disabled,.p38-get-price:disabled{opacity:.55!important;filter:grayscale(.18)!important;cursor:not-allowed!important;pointer-events:auto!important}


/* Purified v17.2 — military default off + blocked button notices */
.p172-button-notice{
  margin:10px 0 0 !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%) !important;
  color:#071f46 !important;
  font-weight:850 !important;
  line-height:1.4 !important;
  box-shadow:0 8px 18px rgba(255,185,0,.10) !important;
}

.p172-button-notice strong{
  display:block !important;
  color:#075dcc !important;
  font-weight:950 !important;
  margin-bottom:3px !important;
}

.p172-button-notice span{
  color:#526985 !important;
  font-weight:800 !important;
}

.p38-get-price.p154-disabled,
.p38-get-price[aria-disabled="true"]{
  opacity:.58 !important;
  filter:grayscale(.12) !important;
  cursor:not-allowed !important;
}

.p37-military-card:not(.is-active):not(.is-selected)[aria-pressed="false"]{
  outline:none !important;
  box-shadow:0 18px 38px rgba(7,31,70,.10) !important;
}

.p37-military-card:not(.is-active):not(.is-selected)[aria-pressed="false"] .p168-special-badge{
  background:rgba(12,131,255,.10)!important;
  color:#0a5fd6!important;
}

#combinedEstimate .p155-location-fields{
  display:none !important;
}


/* Purified v17.3 — single notice placement + smooth performance */
html{
  scroll-behavior:smooth !important;
}

section,
[id]{
  scroll-margin-top:112px !important;
}

.p155-location-status[hidden]{
  display:none !important;
}

.p172-button-notice{
  margin:12px 0 10px !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  border:1px solid #ffd36b !important;
  background:linear-gradient(180deg,#fffdf3 0%,#fff9df 100%) !important;
  color:#071f46 !important;
  font-weight:850 !important;
  line-height:1.4 !important;
  box-shadow:0 8px 18px rgba(255,185,0,.10) !important;
}

.p172-button-notice strong{
  display:block !important;
  color:#075dcc !important;
  font-weight:950 !important;
  margin-bottom:3px !important;
}

.p172-button-notice span{
  color:#526985 !important;
  font-weight:800 !important;
}

.p38-get-price.p154-disabled,
.p38-get-price[aria-disabled="true"]{
  opacity:.58 !important;
  filter:grayscale(.12) !important;
  cursor:not-allowed !important;
}

.p37-military-card:not(.is-active):not(.is-selected)[aria-pressed="false"]{
  outline:none !important;
  box-shadow:0 18px 38px rgba(7,31,70,.10) !important;
}

#combinedEstimate .p155-location-fields{
  display:none !important;
}

.p162-lazy-section,
.p150-faq,
.p22-about,
.p22-area,
.p22-reviews,
.p22-contact,
.p120-payment{
  content-visibility:auto;
  contain-intrinsic-size:1px 720px;
}

img{
  max-width:100%;
  height:auto;
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto !important;
  }
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

@media(max-width:767px){
  section,
  [id]{
    scroll-margin-top:88px !important;
  }

  .p172-button-notice{
    font-size:.9rem !important;
    padding:11px 12px !important;
  }
}


/* Purified v17.4 — price source lock build */


/* Purified v17.5 — commercial image, form polish, active discounts */
.p170-commercial-card{
  grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr) minmax(260px,360px) !important;
}

.p175-commercial-photo{
  margin:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 16px 34px rgba(7,31,70,.10) !important;
  background:#fff !important;
}

.p175-commercial-photo img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
}

.p175-commercial-photo figcaption{
  padding:10px 12px !important;
  color:#526985 !important;
  font-weight:800 !important;
  font-size:.85rem !important;
  line-height:1.35 !important;
}

.p175-commercial-discount-note{
  padding:10px 12px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#f3fff7,#ffffff) !important;
  border:1px solid #bfe9cf !important;
  color:#087729 !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  margin:0 0 12px !important;
}

.p38-modal-card{
  background:
    radial-gradient(circle at 0% 0%, rgba(11,114,255,.12), transparent 34%),
    radial-gradient(circle at 100% 10%, rgba(32,198,90,.12), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  border:1px solid #d7ebff !important;
  box-shadow:0 24px 70px rgba(7,31,70,.22) !important;
}

.p38-modal-card h2{
  color:#071f46 !important;
  font-weight:950 !important;
}

.p38-modal-intro{
  padding:14px 16px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid #d7ebff !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

.p38-estimate-box{
  background:linear-gradient(180deg,#ffffff 0%,#f2f9ff 100%) !important;
  border:1px solid #cfe5ff !important;
  border-radius:20px !important;
  box-shadow:0 12px 28px rgba(7,31,70,.08) !important;
}

.p175-returning-card{
  cursor:pointer !important;
}

.p175-returning-card.is-selected,
.p175-returning-card[aria-pressed="true"]{
  outline:4px solid rgba(32,198,90,.32) !important;
  box-shadow:0 0 0 8px rgba(32,198,90,.12),0 22px 42px rgba(7,31,70,.12) !important;
}

@media(max-width:900px){
  .p170-commercial-card{
    grid-template-columns:1fr !important;
  }

  .p175-commercial-photo img{
    aspect-ratio:16/10 !important;
  }
}


/* Purified v17.6 — crop fix, returning-card highlight, lean interactions */
.p170-commercial-card{align-items:start !important;}
.p175-commercial-photo{align-self:start !important;}
.p175-commercial-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:#ffffff !important;
}
.p30-special-grid > article.p36-special-card{cursor:default !important;}
.p175-returning-card{cursor:pointer !important;transition:transform .22s ease, box-shadow .22s ease, outline-color .22s ease !important;}
.p175-returning-card.is-active,
.p175-returning-card.is-selected,
.p175-returning-card[aria-pressed="true"]{outline:4px solid rgba(109,92,255,.38) !important;box-shadow:0 0 0 8px rgba(109,92,255,.12), 0 22px 42px rgba(7,31,70,.14) !important;}
.p175-returning-card.is-active strong,
.p175-returning-card.is-selected strong,
.p175-returning-card[aria-pressed="true"] strong{background:linear-gradient(135deg,#f2edff,#ded2ff) !important;color:#4330a3 !important;}
.p175-returning-card.is-active .p168-special-badge,
.p175-returning-card.is-selected .p168-special-badge,
.p175-returning-card[aria-pressed="true"] .p168-special-badge{background:rgba(109,92,255,.14) !important;color:#5845c5 !important;}
@media (max-width:900px){.p175-commercial-photo img{width:100% !important;height:auto !important;aspect-ratio:auto !important;object-fit:contain !important;object-position:center top !important;}}


/* Purified v17.7 — Military 10% and exclusive discount selection */


/* Purified v17.8 — clean SEO + trust build */
.p178-commercial-trust{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:14px !important;
}
.p178-commercial-trust b{
  width:100% !important;
  color:#071f46 !important;
  font-weight:950 !important;
}
.p178-commercial-trust span{
  display:inline-flex !important;
  align-items:center !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid #d7ebff !important;
  color:#075dcc !important;
  font-weight:850 !important;
  box-shadow:0 6px 14px rgba(7,31,70,.06) !important;
}
.p178-commercial-process{
  margin-top:12px !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#f5fff8,#ffffff) !important;
  border:1px solid #bfe9cf !important;
}
.p178-commercial-process b{
  display:block !important;
  color:#087729 !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}
.p178-commercial-process p{
  margin:0 !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.45 !important;
}

.p178-expect,
.p178-before-after,
.p178-google{
  padding:64px 0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
}
.p178-expect-grid,
.p178-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.p178-expect-grid article,
.p178-gallery-grid article{
  border:1px solid #d7ebff !important;
  border-radius:24px !important;
  background:#fff !important;
  padding:22px !important;
  box-shadow:0 16px 34px rgba(7,31,70,.08) !important;
}
.p178-expect-grid article span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:linear-gradient(145deg,#0b72ff,#075dcc) !important;
  color:#fff !important;
  font-weight:950 !important;
  box-shadow:0 10px 20px rgba(7,93,204,.22) !important;
}
.p178-expect-grid h3,
.p178-gallery-grid strong{
  display:block !important;
  margin:14px 0 8px !important;
  color:#071f46 !important;
  font-weight:950 !important;
}
.p178-expect-grid p,
.p178-gallery-grid span{
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.48 !important;
}
.p178-gallery-grid article{
  min-height:150px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(11,114,255,.11), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fcff 100%) !important;
}
.p178-google-card{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  border:1px solid #d7ebff !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(11,114,255,.12), transparent 35%),
    linear-gradient(180deg,#ffffff 0%,#f7fcff 100%) !important;
  padding:26px !important;
  box-shadow:0 18px 42px rgba(7,31,70,.10) !important;
}
.p178-google-card span{
  display:inline-flex !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(11,114,255,.10) !important;
  color:#075dcc !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  font-size:.78rem !important;
}
.p178-google-card h2{
  margin:10px 0 8px !important;
  color:#071f46 !important;
  font-weight:950 !important;
}
.p178-google-card p{
  margin:0 !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  max-width:760px !important;
}
@media(max-width:900px){
  .p178-expect-grid,
  .p178-gallery-grid{
    grid-template-columns:1fr !important;
  }
  .p178-google-card{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}


/* ==========================================================
   Purified v19.2 — Real Carpet Before & After Gallery
   ========================================================== */
.p178-gallery-grid.p190-ba-gallery{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}
.p190-ba-card{
  padding:0 !important;
  overflow:hidden !important;
  min-height:0 !important;
  background:#fff !important;
}
.p190-ba-card img{
  width:100% !important;
  aspect-ratio:3/2 !important;
  object-fit:cover !important;
  display:block !important;
  border-bottom:1px solid #d7ebff !important;
}
.p190-ba-card strong,
.p190-placeholder-card strong{
  display:block !important;
  margin:16px 18px 6px !important;
  color:#071f46 !important;
  font-weight:950 !important;
}
.p190-ba-card span,
.p190-placeholder-card span{
  display:block !important;
  margin:0 18px 18px !important;
  color:#526985 !important;
  font-weight:800 !important;
  line-height:1.48 !important;
}
.p190-placeholder-card{
  min-height:150px !important;
}
@media(max-width:900px){
  .p178-gallery-grid.p190-ba-gallery{
    grid-template-columns:1fr !important;
  }
}


/* Purified v21.0 Before / After column gallery */
.p210-ba-pairs{display:grid;gap:28px;margin-top:24px}
.p210-ba-pair{background:#fff;border:1px solid rgba(7,93,204,.12);border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(7,31,70,.10)}
.p210-ba-pair h3{margin:0 0 14px;color:#071f46;font-size:clamp(1.25rem,2.2vw,1.65rem)}
.p210-ba-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.p210-ba-columns figure{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#eef8ff;border:1px solid rgba(7,93,204,.12)}
.p210-ba-columns img{width:100%;height:380px;object-fit:cover;display:block}
.p210-ba-label{position:absolute;left:12px;top:12px;z-index:2;color:#fff;font-weight:900;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:8px 12px;font-size:.82rem;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.p210-ba-before{background:#334155}.p210-ba-after{background:#119b35}
.p210-ba-pair p{margin:14px 2px 0;color:#50637d;line-height:1.65;font-weight:650}
.p210-ba-note{margin-top:18px;color:#64748b;font-size:.95rem;line-height:1.6;text-align:center}
@media(max-width:760px){.p210-ba-columns{grid-template-columns:1fr;gap:12px}.p210-ba-columns img{height:320px}.p210-ba-pair{padding:16px;border-radius:22px}.p210-ba-label{font-size:.78rem}}


/* v20.2 featured before/after cards */
.p220-ba-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 30px;align-items:start}
.p220-ba-featured figure{margin:0;background:#fff;border:1px solid rgba(7,93,204,.14);border-radius:26px;box-shadow:0 18px 45px rgba(7,31,70,.10);overflow:hidden}
.p220-ba-featured img{width:100%;height:auto;display:block}
.p220-ba-more-title{margin:8px 0 18px;color:#071f46;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:900;text-align:center}
.p220-ba-legacy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.p220-ba-legacy figure{margin:0;background:#fff;border:1px solid rgba(7,93,204,.14);border-radius:26px;box-shadow:0 18px 45px rgba(7,31,70,.10);overflow:hidden}
.p220-ba-legacy img{width:100%;height:auto;display:block}
@media(max-width:980px){.p220-ba-featured{grid-template-columns:1fr}.p220-ba-legacy{grid-template-columns:1fr}}
