*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#142033;background:#f5f6f7}a{text-decoration:none;color:inherit}.topline{height:34px;background:#071d3a;color:#fff;padding:0 5%;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.05em}.topline a{color:#fff}header{height:84px;background:#fff;border-bottom:1px solid #e2e5e8;padding:0 5%;display:flex;align-items:center;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center}.logo{width:132px;height:54px;object-fit:cover;object-position:center;display:block;border-radius:12px}nav{display:flex;gap:26px;margin-left:auto;margin-right:28px}nav a{font-size:13px;font-weight:800}nav a:hover{color:#b52d2d}.header-call{background:#c92c2c;color:#fff;padding:13px 17px;font-weight:900;font-size:13px;border-radius:2px}.hamb{display:none;border:0;background:none;font-size:25px;color:#142033}.hero{height:575px;position:relative;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;background-image:url('assets/main-head.webp');background-size:cover;background-position:center 45%}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,47,.94),rgba(5,24,47,.68) 55%,rgba(5,24,47,.15))}.hero-content{position:relative;padding:112px 7%;max-width:820px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:900;color:#a82b2b}.eyebrow.light{color:#f2b0b0}.hero h1{font:600 68px/1.03 Georgia,serif;letter-spacing:-.045em;margin:20px 0}.hero h1 span{color:#ef5252}.hero p{font-size:17px;line-height:1.65;max-width:640px;color:#e2e7ed}.hero-actions{display:flex;gap:10px}.btn{display:inline-block;padding:15px 22px;font-size:12px;font-weight:900;margin-top:20px}.red{background:#c92c2c;color:#fff}.outline{border:1px solid rgba(255,255,255,.8);color:#fff}.trust-strip{background:#071d3a;color:#fff;padding:25px 7%;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.trust-strip div{display:flex;flex-direction:column;gap:5px}.trust-strip strong{font-size:13px}.trust-strip span{font-size:12px;color:#cbd5e1}.intro,.section-title{padding:85px 7% 40px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.intro h2,.section-title h2,.cta-band h2,.faq-section h2{font:600 50px/1.04 Georgia,serif;letter-spacing:-.04em;margin:15px 0}.intro-text,.section-title>p{font-size:16px;color:#657080;line-height:1.75}.quick-grid{padding:0 7% 85px;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.quick{background:#fff;border:1px solid #dfe3e7;padding-bottom:18px;display:block}.quick img{width:100%;height:185px;object-fit:cover;display:block}.quick b{display:block;font-size:16px;margin:17px 18px 8px}.quick span{font-size:12px;font-weight:900;margin:0 18px;color:#a72a2a}.catalog{background:#fff;padding-bottom:95px}.catalog-grid{padding:0 7%;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.topic{background:#fff;border:1px solid #dfe3e7;box-shadow:0 10px 30px rgba(12,25,42,.06);overflow:hidden}.topic>img{width:100%;height:235px;object-fit:cover;display:block}.topic-body{padding:23px}.topic h3{font:600 28px/1.1 Georgia,serif;margin:10px 0}.topic p{font-size:14px;line-height:1.65;color:#687385;min-height:65px}.explore{font-size:12px;font-weight:900;color:#a72a2a;display:inline-block;margin:7px 0 16px}details{border-top:1px solid #e5e8eb;padding:13px 0}summary{cursor:pointer;font-size:13px;font-weight:800;line-height:1.45}details p{margin:9px 0 0;min-height:0!important;font-size:13px}.articles{background:#f5f6f7;padding-bottom:85px}.article-grid{padding:0 7%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-card{background:#fff;border:1px solid #dfe3e7;padding:28px;min-height:215px}.article-card span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#a72a2a}.article-card h3{font:600 27px/1.15 Georgia,serif;margin:14px 0 10px}.article-card p{font-size:14px;color:#687385;line-height:1.6}.article-card strong{font-size:12px;color:#a72a2a}.cta-band{background:#071d3a;color:#fff;padding:70px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{margin:12px 0 8px;color:#fff}.cta-band p{color:#cbd5e1}.faq-section{background:#fff;padding-bottom:85px}.faq-grid{padding:0 7%;max-width:1000px}.faq-grid details{border-top:1px solid #dfe3e7}.faq-grid details p{color:#687385;line-height:1.7}.faq-grid a{color:#b52d2d;font-weight:800}footer{background:#06172d;color:#dbe3ed}.footer-main{padding:55px 7%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{width:132px;height:54px;object-fit:cover;object-position:center;display:block;margin-bottom:12px;border:0;border-radius:12px}.footer-main p,.footer-main span{font-size:13px;color:#aebbd0;line-height:1.65}.footer-main>div{display:flex;flex-direction:column;gap:10px}.footer-main b{color:#fff;font-size:13px}.footer-main a{font-size:13px}.disclaimer{margin:0 7%;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px;line-height:1.65;color:#91a1b7}.copyright{margin:0 7%;padding:20px 0 30px;font-size:11px;color:#71829a}.contact-hero{background:#071d3a;color:#fff;padding:70px 7%}.contact-hero h1{font:600 58px/1.05 Georgia,serif;margin:15px 0}.contact-hero h1 span{color:#ef5252}.contact-hero p{color:#cbd5e1;max-width:650px}.contact-wrap{padding:70px 7%;display:grid;grid-template-columns:1.3fr .7fr;gap:50px;background:#f5f6f7}.form-panel,.contact-side{background:#fff;border:1px solid #dfe3e7;padding:30px}.form-panel h2{font:600 38px Georgia,serif;margin:12px 0 25px}.form-panel label{display:block;font-size:12px;font-weight:800;margin:15px 0}.form-panel input,.form-panel select,.form-panel textarea{width:100%;margin-top:7px;border:1px solid #ccd3dc;padding:13px;font:inherit;background:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.submit{border:0;cursor:pointer}.form-note{font-size:11px;color:#687385;line-height:1.5}.contact-side img{width:100%;height:250px;object-fit:cover;display:block;border-radius:10px}.contact-side h3{font:600 36px Georgia,serif;margin:15px 0}.contact-side p{color:#687385;line-height:1.6}.contact-side a{color:#a72a2a;font-weight:900}@media(max-width:900px){nav{gap:15px}.header-call{display:none}.catalog-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.contact-wrap{grid-template-columns:1fr}}@media(max-width:650px){.topline{padding:0 4%;font-size:9px}header{height:72px;padding:0 4%}.logo{width:122px;height:50px}.hamb{display:block;margin-left:auto;margin-right:10px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;margin:0;padding:18px 4%;flex-direction:column;gap:0;box-shadow:0 12px 20px rgba(0,0,0,.08)}nav.mobile-open{display:flex}nav a{padding:12px 0;border-bottom:1px solid #eef0f2}.hero{height:535px}.hero-content{padding:80px 6%}.hero h1{font-size:46px}.hero p{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.btn{margin-top:12px}.trust-strip{grid-template-columns:1fr;padding:22px 6%;gap:16px}.intro,.section-title{padding:60px 6% 28px;display:block}.intro h2,.section-title h2,.cta-band h2,.faq-section h2{font-size:40px}.intro-text,.section-title>p{margin-top:22px}.quick-grid{padding:0 6% 60px;grid-template-columns:1fr 1fr;gap:12px}.quick img{height:145px}.quick b{font-size:14px;margin:13px}.quick span{margin:0 13px}.catalog-grid,.article-grid{padding:0 6%;grid-template-columns:1fr}.catalog{padding-bottom:65px}.topic>img{height:220px}.cta-band{padding:55px 6%;display:block}.footer-main{padding:45px 6%;grid-template-columns:1fr;gap:30px}.disclaimer,.copyright{margin-left:6%;margin-right:6%}.contact-hero{padding:55px 6%}.contact-hero h1{font-size:45px}.contact-wrap{padding:45px 6%}.two{grid-template-columns:1fr}}


/* PlumberFixi v6 UX/performance refinements */
.site-header, header {
  background: rgba(255,255,255,.86) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-header.scrolled, header.scrolled {
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.10);
}
.problem-grid, .problems-grid, .category-grid { gap: 14px !important; }
.problem-card, .category-card, .service-card {
  border-radius: 18px !important;
  overflow: hidden;
  min-height: 0 !important;
  transition: transform .22s ease, box-shadow .22s ease;
}
.problem-card:hover, .category-card:hover, .service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(15,23,42,.12);
}
.problem-card img, .category-card img, .service-card img {
  aspect-ratio: 16/10;
  object-fit: cover;
  display:block;
  width:100%;
}
.call-button, .phone-button, a[href^="tel:"] {
  border-radius: 999px !important;
}
.help-popup {
  position: fixed;
  right: 16px;
  bottom: 18px;
  z-index: 1000;
  width: min(360px, calc(100vw - 32px));
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(15,23,42,.18);
  padding: 16px;
  transform: translateY(140%);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
}
.help-popup.show { transform: translateY(0); opacity: 1; }
.help-popup button {
  border:0; background:transparent; cursor:pointer; font-size:20px;
  float:right; line-height:1;
}
.help-popup .popup-title { font-weight:800; margin:0 28px 6px 0; }
.help-popup .popup-text { margin:0 0 10px; color:#475569; font-size:14px; line-height:1.5; }
.help-popup .popup-call {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; padding:10px 14px; text-decoration:none;
  font-weight:800;
}
.learn-more {
  display:inline-flex; margin-top:10px; font-weight:800; text-decoration:none;
}
@media (max-width: 700px) {
  .problem-grid, .problems-grid, .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .problem-card, .category-card, .service-card { border-radius:16px !important; }
}
@media (max-width: 440px) {
  .problem-grid, .problems-grid, .category-grid { grid-template-columns: 1fr 1fr !important; gap:10px !important; }
}

/* v7: five homeowner problem sections */
.homeowner-topics .topic {
  border-radius: 20px;
  overflow: hidden;
}
.homeowner-topics .topic-body {
  padding: 20px;
}
.homeowner-topics .topic-body p {
  line-height: 1.65;
}
.homeowner-topics details {
  border-top: 1px solid rgba(15,23,42,.10);
  padding: 12px 0;
}
.homeowner-topics details summary {
  cursor: pointer;
  font-weight: 750;
}
.homeowner-topics .explore {
  margin-top: 12px;
}

/* v8: production header + image reliability refinements */
header{
  background:rgba(255,255,255,.86) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(15,23,42,.06);
}
header.scrolled{
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 8px 28px rgba(15,23,42,.12);
}
.header-call{
  border-radius:999px !important;
  white-space:nowrap;
}
.quick-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.quick{
  border-radius:18px;
  overflow:hidden;
}
.quick img{
  aspect-ratio:4/3;
  height:auto;
  min-height:0;
  object-fit:cover;
}
.about-band{
  background:#fff;
  border-top:1px solid #e2e5e8;
  border-bottom:1px solid #e2e5e8;
}
.about-inner{
  padding:70px 7%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
  align-items:center;
}
.about-inner h2{
  font:600 45px/1.05 Georgia,serif;
  letter-spacing:-.04em;
  margin:15px 0;
}
.about-inner p{
  color:#657080;
  line-height:1.75;
  font-size:15px;
}
.topic>img{
  background:#e9eef3;
}
img{
  background:#e9eef3;
}
@media(max-width:900px){
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .header-call{display:inline-flex !important;}
  .about-inner{grid-template-columns:1fr;gap:20px;}
}
@media(max-width:650px){
  header{
    height:72px;
    padding:0 4%;
    gap:8px;
  }
  .logo{width:118px;}
  .header-call{
    margin-left:auto;
    padding:9px 11px !important;
    font-size:11px !important;
  }
  .hamb{margin-left:0 !important;margin-right:0 !important;}
  .quick-grid{grid-template-columns:1fr 1fr;}
  .quick img{height:135px;}
  .about-inner{padding:55px 6%;}
  .about-inner h2{font-size:36px;}
}
@media(max-width:380px){
  .logo{width:105px;}
  .header-call{font-size:10px !important;padding:8px 9px !important;}
}

.quick-no-image{min-height:252px;display:flex;flex-direction:column;justify-content:flex-start}
.quick-no-image-art{height:185px;background:linear-gradient(135deg,#071d3a 0%,#102f53 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.quick-no-image-art:before,.quick-no-image-art:after{content:"";position:absolute;border:2px solid rgba(239,82,82,.55);border-radius:50%}
.quick-no-image-art:before{width:120px;height:120px}
.quick-no-image-art:after{width:62px;height:62px}
.quick-no-image-art span{position:relative;z-index:2;color:#fff;font-size:13px;font-weight:900;letter-spacing:.18em}
.topic-no-image-art{height:235px;background:linear-gradient(135deg,#071d3a 0%,#17385d 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.topic-no-image-art:before,.topic-no-image-art:after{content:"";position:absolute;border:3px solid rgba(239,82,82,.45);border-radius:50%}
.topic-no-image-art:before{width:170px;height:170px}
.topic-no-image-art:after{width:90px;height:90px}
.topic-no-image-art span{position:relative;z-index:2;color:#fff;font-size:18px;font-weight:900;letter-spacing:.16em}
.contact-side-art{height:250px;background:linear-gradient(135deg,#071d3a 0%,#17385d 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#fff}
.contact-side-art:before{content:"";position:absolute;width:180px;height:180px;border:3px solid rgba(239,82,82,.5);border-radius:50%}
.contact-side-art span,.contact-side-art strong{position:relative;z-index:2}
.contact-side-art span{font-size:13px;letter-spacing:.18em;font-weight:800}
.contact-side-art strong{font:600 44px Georgia,serif;color:#ef5252;margin-top:4px}
@media(max-width:650px){.quick-no-image{min-height:203px}.quick-no-image-art{height:145px}.topic-no-image-art{height:220px}}

.topic-art{height:235px;display:flex;align-items:center;justify-content:flex-start;padding:0 28px;position:relative;overflow:hidden;color:#fff}
.topic-art span{position:relative;z-index:2;font-size:16px;font-weight:900;letter-spacing:.18em}
.topic-art:after{content:"";position:absolute;width:230px;height:230px;border:2px solid rgba(255,255,255,.2);border-radius:50%;right:-50px;top:-70px}
.toilet-art{background:linear-gradient(135deg,#1b3b5d,#315d7d)}
.sink-art{background:linear-gradient(135deg,#17384f,#2b6b82)}
.drain-art{background:linear-gradient(135deg,#162c47,#49647d)}
.heater-art{background:linear-gradient(135deg,#3c3c3c,#8b6541)}
@media(max-width:650px){.topic-art{height:220px}}

/* v9 visual polish: compact rounded logo, translucent chrome, scroll reveals, category focus */
:root{--navy:#071d3a;--red:#c92c2c;--ink:#142033}
.topline{background:rgba(7,29,58,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.10)}
header{height:76px !important;background:rgba(255,255,255,.62) !important;border-bottom:1px solid rgba(15,23,42,.08) !important;backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 4px 18px rgba(15,23,42,.045) !important}
header.scrolled{background:rgba(255,255,255,.54) !important;box-shadow:0 10px 30px rgba(15,23,42,.11) !important}
.brand{width:132px;height:58px;justify-content:center;flex:0 0 auto}
.logo{width:122px !important;height:54px !important;object-fit:cover !important;object-position:center !important;border-radius:13px;display:block;box-shadow:0 5px 15px rgba(7,29,58,.16)}
nav{gap:24px}
.header-call{box-shadow:0 6px 18px rgba(201,44,44,.18)}
.footer-logo{width:126px !important;height:54px !important;border-radius:13px;object-fit:cover !important;box-shadow:0 5px 15px rgba(0,0,0,.14)}
.hero-image{transform:scale(1.015);filter:saturate(1.04) contrast(1.02);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero:hover .hero-image{transform:scale(1.035)}
.hero-content{animation:heroRise .75s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.reveal-group>*{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-group.is-visible>*{opacity:1;transform:translateY(0)}
.reveal-group.is-visible>*:nth-child(2){transition-delay:.07s}.reveal-group.is-visible>*:nth-child(3){transition-delay:.14s}.reveal-group.is-visible>*:nth-child(4){transition-delay:.21s}.reveal-group.is-visible>*:nth-child(5){transition-delay:.28s}
.quick,.topic,.article-card{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s cubic-bezier(.2,.7,.2,1),border-color .35s ease;will-change:transform}
.quick{box-shadow:0 8px 22px rgba(15,23,42,.055)}
.quick:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(15,23,42,.13)}
.topic{position:relative}
.topic::after{content:"";position:absolute;left:12%;right:12%;bottom:-12px;height:20px;background:rgba(7,29,58,.14);filter:blur(12px);opacity:0;transition:opacity .45s ease,transform .45s ease;transform:scaleX(.75)}
.topic.active{border-color:rgba(201,44,44,.22);box-shadow:0 18px 42px rgba(7,29,58,.13),0 0 0 2px rgba(201,44,44,.045)}
.topic.active::after{opacity:1;transform:scaleX(1)}
.topic.active>img{filter:saturate(1.04) contrast(1.02)}
.quick.active{border-color:rgba(201,44,44,.25);box-shadow:0 16px 32px rgba(7,29,58,.13),0 0 0 2px rgba(201,44,44,.045)}
.quick.active img{filter:saturate(1.06) contrast(1.02)}
.catalog-grid .topic{opacity:0;transform:translateY(34px)}
.catalog-grid.is-visible .topic{opacity:1;transform:translateY(0);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .35s ease}
.catalog-grid.is-visible .topic:nth-child(2){transition-delay:.08s}.catalog-grid.is-visible .topic:nth-child(3){transition-delay:.16s}.catalog-grid.is-visible .topic:nth-child(4){transition-delay:.24s}.catalog-grid.is-visible .topic:nth-child(5){transition-delay:.32s}
@media (max-width:900px){.brand{width:120px}.logo{width:112px !important}.footer-logo{width:120px !important}}
@media (max-width:650px){header{height:70px !important}.brand{width:112px;height:52px}.logo{width:104px !important;height:48px !important;border-radius:11px}.footer-logo{width:112px !important;height:48px !important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content,.reveal-group>* ,.catalog-grid .topic{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.hero-image{transition:none}.topic::after{transition:none}}


/* Article guide */
.article-page{background:#f5f6f7}.article-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:460px;background:#071d3a;color:#fff}.article-hero-copy{padding:85px 7%;align-self:center}.article-hero h1{font:600 58px/1.04 Georgia,serif;letter-spacing:-.04em;max-width:760px;margin:16px 0}.article-dek{font-size:18px;line-height:1.65;color:#d8e0ea;max-width:680px}.article-meta{margin-top:25px;font-size:12px;color:#aebbd0}.article-hero>img{width:100%;height:100%;min-height:460px;object-fit:cover}.article-layout{max-width:1180px;margin:0 auto;padding:70px 30px 90px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px}.article-layout article{background:#fff;padding:48px;border:1px solid #e1e5e9;box-shadow:0 16px 45px rgba(15,23,42,.06)}.article-layout h2{font:600 36px/1.12 Georgia,serif;letter-spacing:-.03em;margin:42px 0 15px}.article-layout h3{font:700 20px/1.3 Arial,sans-serif;margin:28px 0 8px}.article-layout p{font-size:16px;line-height:1.8;color:#4f5d6e}.article-layout ul{padding-left:22px;color:#4f5d6e;line-height:1.8}.answer-box{border-left:4px solid #c92c2c;background:#fff5f5;padding:20px 22px;font-size:17px;line-height:1.65;color:#243143;margin-bottom:35px}.price-table-wrap{overflow:auto;margin:25px 0}.price-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.price-table-wrap th,.price-table-wrap td{text-align:left;padding:14px;border-bottom:1px solid #e1e5e9;font-size:14px;vertical-align:top}.price-table-wrap th{background:#071d3a;color:#fff}.small-note,.source-note{font-size:12px!important;color:#718096!important}.question-card{background:#f5f6f7;border:1px solid #dfe3e7;border-radius:14px;padding:22px;margin:28px 0}.article-sidebar{display:flex;flex-direction:column;gap:18px}.side-card{background:#fff;border:1px solid #dfe3e7;padding:25px;box-shadow:0 12px 30px rgba(15,23,42,.06);position:sticky;top:105px}.side-card+.side-card{position:static}.side-card h3{font:600 30px Georgia,serif;margin:12px 0}.side-card p{font-size:14px;line-height:1.65;color:#687385}.side-link{display:block;padding:13px 0;border-top:1px solid #e4e8ec;font-size:13px;font-weight:800;color:#26354a}.article-page .cta-band{margin-top:0}@media(max-width:800px){.article-hero{grid-template-columns:1fr}.article-hero>img{min-height:300px;max-height:380px;grid-row:1}.article-hero-copy{padding:55px 6%}.article-hero h1{font-size:46px}.article-layout{grid-template-columns:1fr;padding:45px 6%}.article-layout article{padding:28px 22px}.article-sidebar{display:none}}
/* Article upgrades: pricing transparency + homeowner FAQ */
.article-alert{background:linear-gradient(135deg,#fff8e8,#fff);border:1px solid #f1dca8;border-left:5px solid #d79a24;padding:20px 22px;margin-bottom:18px;border-radius:12px;color:#394555;font-size:15px;line-height:1.7;box-shadow:0 10px 28px rgba(40,34,20,.05)}
.answer-box span{display:block;margin-top:8px;font-size:12px;color:#7a5b28;font-weight:700}
.cost-map{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 38px}
.cost-map>div{background:#071d3a;color:#fff;border-radius:12px;padding:18px;min-height:145px;box-shadow:0 10px 24px rgba(7,29,58,.1)}
.cost-map span{display:block;color:#ef7777;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:12px}
.cost-map b{font-size:15px}.cost-map p{font-size:12px!important;line-height:1.55!important;color:#cbd5e1!important;margin:8px 0 0}
.range-note{background:#eef5fb;border:1px solid #d7e5f2;border-radius:12px;padding:18px 20px;margin:22px 0;color:#40536a;font-size:14px;line-height:1.7}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.decision-grid>div{background:#fff;border:1px solid #dfe3e7;border-radius:12px;padding:20px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.decision-grid b{font-size:15px}.decision-grid ul{margin-bottom:0}
.faq-list{margin-top:20px;border-bottom:1px solid #dfe3e7}.faq-list details{background:#fff;padding:0;border-top:1px solid #dfe3e7}.faq-list summary{list-style:none;padding:18px 42px 18px 2px;position:relative;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:8px;top:14px;font-size:22px;color:#b52d2d;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 38px 20px 2px;margin:0!important;max-width:850px}
@media(max-width:800px){.cost-map{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}}

/* v7 article responsive pass: iPhone, Android, tablet and desktop */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.article-page,.article-page *{box-sizing:border-box}
.article-hero-copy,.article-layout article,.article-sidebar{min-width:0}
.article-hero>img{display:block;max-width:100%}
.article-dek,.article-layout p,.article-layout li,.question-card,.range-note,.article-alert,.answer-box{overflow-wrap:anywhere}
.price-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}
.price-table-wrap table{min-width:600px}

@media (min-width:901px){
  .article-hero{min-height:520px}
  .article-hero-copy{padding:80px clamp(32px,7vw,90px)}
  .article-layout{padding-left:30px;padding-right:30px}
}

@media (max-width:900px){
  .article-hero{grid-template-columns:1fr;min-height:0}
  .article-hero>img{grid-row:1;width:100%;height:min(56vw,360px);min-height:260px;max-height:360px;object-fit:cover}
  .article-hero-copy{grid-row:2;padding:42px 6vw 46px}
  .article-hero h1{font-size:clamp(38px,7vw,52px);line-height:1.05}
  .article-dek{font-size:16px;line-height:1.6}
  .article-layout{width:100%;grid-template-columns:1fr;gap:28px;padding:36px 5vw 65px}
  .article-layout article{width:100%;padding:clamp(22px,4vw,34px)}
  .article-sidebar{display:none}
  .article-layout h2{font-size:clamp(30px,5vw,38px)}
  .cost-map{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:600px){
  .topline{height:30px;padding:0 16px}
  header{padding:0 16px}
  .article-hero>img{height:260px;min-height:260px}
  .article-hero-copy{padding:34px 20px 38px}
  .article-hero h1{font-size:clamp(34px,10vw,44px);letter-spacing:-.035em;margin:12px 0}
  .article-dek{font-size:15px;line-height:1.58}
  .article-meta{font-size:11px;line-height:1.55}
  .article-layout{padding:26px 14px 52px}
  .article-layout article{padding:20px 17px;border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
  .article-layout h2{font-size:29px;line-height:1.12;margin:34px 0 13px}
  .article-layout h3{font-size:18px}
  .article-layout p,.article-layout li{font-size:15px;line-height:1.72}
  .article-layout ul{padding-left:20px}
  .article-alert,.answer-box,.range-note{padding:16px 15px;font-size:14px;line-height:1.62}
  .cost-map{grid-template-columns:1fr;gap:10px;margin:20px 0 30px}
  .cost-map>div{min-height:0;padding:16px}
  .decision-grid{grid-template-columns:1fr;gap:12px}
  .decision-grid>div{padding:17px}
  .price-table-wrap{margin:18px -2px 22px;width:calc(100% + 4px);box-shadow:inset -10px 0 12px -14px rgba(0,0,0,.35)}
  .price-table-wrap table{min-width:560px}
  .price-table-wrap th,.price-table-wrap td{padding:11px 10px;font-size:12px;line-height:1.45}
  .question-card{padding:17px;margin:20px 0}
  .faq-list summary{padding:16px 34px 16px 0;font-size:14px;line-height:1.5}
  .faq-list details p{padding:0 20px 17px 0;font-size:14px;line-height:1.65}
  .side-link{font-size:12px}
}

@media (max-width:380px){
  .brand{width:100px!important}
  .logo{width:94px!important;height:44px!important}
  .article-hero>img{height:225px;min-height:225px}
  .article-hero-copy{padding-left:16px;padding-right:16px}
  .article-layout{padding-left:10px;padding-right:10px}
  .article-layout article{padding:18px 14px}
  .article-hero h1{font-size:32px}
  .article-dek{font-size:14px}
  .article-layout p,.article-layout li{font-size:14px}
}

@media (prefers-reduced-motion:reduce){.article-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* PlumberFixi V7 homeowner-first refinements */
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:20px !important;}
.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:22px !important;}
.quick{min-width:0;}
.quick b{font-size:17px;}
.topic h3{font-size:27px;}
.brand{display:flex;align-items:center;width:150px;height:58px;overflow:hidden;}
.logo{width:142px !important;height:56px !important;object-fit:contain !important;object-position:center !important;border-radius:8px !important;background:#fff;}
.footer-logo{width:142px !important;height:56px !important;object-fit:contain !important;background:#fff;border-radius:8px !important;}
.why-call{margin-top:30px;padding:24px;border:1px solid #dfe3e7;border-radius:18px;background:#f8fafc;}
.why-call h3{font:600 28px/1.15 Georgia,serif;margin:9px 0 12px;color:#142033;}
.why-call p{color:#687385;line-height:1.7;margin:0 0 10px;}
.why-call ul{margin:12px 0 0;padding-left:20px;color:#536174;line-height:1.75;}
.why-call li{margin:5px 0;}
.site-tools{
  position:fixed;right:14px;top:42%;z-index:1200;width:54px;
  background:rgba(255,255,255,.96);border:1px solid #dfe3e7;border-radius:16px;
  box-shadow:0 12px 35px rgba(15,23,42,.16);padding:8px 6px;
  display:flex;flex-direction:column;gap:5px;align-items:center;
  backdrop-filter:blur(12px);
}
.site-tools .tools-label{font-size:8px;font-weight:900;letter-spacing:.12em;color:#687385;}
.site-tools button{width:40px;height:30px;border:0;border-radius:8px;background:#f1f4f7;color:#142033;font-weight:800;cursor:pointer;}
.site-tools button:hover{background:#e4e9ee;}
.site-tools .theme-row{display:flex;gap:4px;}
.site-tools .theme-row button{width:18px;height:28px;font-size:13px;padding:0;}
.site-tools .auto-btn{font-size:10px;}
body.text-small{font-size:94%;}
body.text-large{font-size:108%;}
body.text-large h1{line-height:1.02;}
body.dark-theme{background:#0b1220;color:#e7edf5;}
body.dark-theme header,.dark-theme .topline,.dark-theme .catalog,.dark-theme .quick,
body.dark-theme .topic,.dark-theme .article-card,.dark-theme .form-panel,.dark-theme .contact-side,
body.dark-theme .faq-section,.dark-theme .about-band{background:#111a2b !important;color:#e7edf5 !important;border-color:#26344b !important;}
body.dark-theme .intro-text,body.dark-theme .section-title>p,body.dark-theme .topic p,
body.dark-theme .contact-side p,body.dark-theme .form-panel p,body.dark-theme .why-call p,
body.dark-theme .why-call ul,body.dark-theme .quick span{color:#aebbd0 !important;}
body.dark-theme .why-call{background:#0e1727;border-color:#2a3a52;}
body.dark-theme .why-call h3,body.dark-theme h2,body.dark-theme h3,body.dark-theme h1{color:#f4f7fb;}
body.dark-theme footer{background:#06101f !important;}
body.dark-theme .site-tools{background:rgba(17,26,43,.96);border-color:#2b3b54;}
body.dark-theme .site-tools button{background:#1d2a3d;color:#e7edf5;}
body.dark-theme .site-tools .tools-label{color:#aebbd0;}
@media(max-width:900px){
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .site-tools{right:8px;top:auto;bottom:12px;flex-direction:row;width:auto;border-radius:14px;padding:6px;}
  .site-tools .tools-label{display:none;}
}
@media(max-width:650px){
  .brand{width:118px;height:52px;}
  .logo{width:112px !important;height:50px !important;}
  .quick-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .topic h3{font-size:22px;}
  .topic-body{padding:17px;}
  .topic p{font-size:14px;}
  .why-call{padding:18px;}
  .why-call h3{font-size:24px;}
}

/* PlumberFixi final visual system — light/dark separation + responsive polish */
:root{color-scheme:light;--pf-bg:#f5f6f7;--pf-surface:#fff;--pf-text:#142033;--pf-muted:#687385;--pf-border:#dfe3e7;--pf-navy:#071d3a;--pf-red:#c92c2c}
body.dark-theme{color-scheme:dark;--pf-bg:#08111f;--pf-surface:#101b2d;--pf-text:#f4f7fb;--pf-muted:#b6c2d2;--pf-border:#2a3a51;--pf-navy:#050e1b;--pf-red:#ef5350}

/* Use a transparent light logo on light surfaces and the original navy logo in dark mode. */
.logo,.footer-logo{content:url('assets/plumberfixi-logo-light.png');background:transparent!important;object-fit:contain!important;object-position:left center!important;mix-blend-mode:normal}
body.dark-theme .logo,body.dark-theme .footer-logo{content:url('assets/plumberfixi-logo-cropped.jpg');background:#001938!important;object-fit:contain!important;object-position:center!important}
.brand{width:175px!important;height:62px!important;flex:0 0 175px;overflow:visible!important}
.logo{width:165px!important;height:60px!important;border-radius:0!important}
.footer-logo{width:165px!important;height:60px!important;border-radius:0!important}
header{background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
header nav a,.hamb{color:var(--pf-text)!important}
header nav a:hover{color:var(--pf-red)!important}

/* Fully separated dark palette — no white cards/text-on-white collisions. */
body.dark-theme,
body.dark-theme .articles{background:var(--pf-bg)!important;color:var(--pf-text)!important}
body.dark-theme .intro,
body.dark-theme .section-title{background:var(--pf-bg)!important}
body.dark-theme .quick,
body.dark-theme .topic,
body.dark-theme .article-card,
body.dark-theme .form-panel,
body.dark-theme .contact-side,
body.dark-theme .side-card,
body.dark-theme .decision-grid>div,
body.dark-theme .question-card,
body.dark-theme .faq-list details,
body.dark-theme .article-layout article{background:var(--pf-surface)!important;color:var(--pf-text)!important;border-color:var(--pf-border)!important}
body.dark-theme .quick b,
body.dark-theme .topic h3,
body.dark-theme .article-card h3,
body.dark-theme .form-panel h2,
body.dark-theme .contact-side h3,
body.dark-theme .side-card h3,
body.dark-theme .article-layout h2,
body.dark-theme .article-layout h3,
body.dark-theme .article-layout strong{color:#f4f7fb!important}
body.dark-theme .intro-text,
body.dark-theme .section-title>p,
body.dark-theme .topic p,
body.dark-theme .article-card p,
body.dark-theme .contact-side p,
body.dark-theme .form-note,
body.dark-theme .form-panel p,
body.dark-theme .side-card p,
body.dark-theme .article-layout p,
body.dark-theme .article-layout li,
body.dark-theme .source-note,
body.dark-theme .small-note{color:#b6c2d2!important}
body.dark-theme details{border-color:var(--pf-border)!important}
body.dark-theme summary{color:#eef3f8!important}
body.dark-theme .faq-section{background:var(--pf-bg)!important;color:var(--pf-text)!important}
body.dark-theme .faq-grid details{background:var(--pf-surface)!important;border-color:var(--pf-border)!important}
body.dark-theme .faq-grid details p{color:#b6c2d2!important}
body.dark-theme .range-note{background:#142438!important;border-color:#29425e!important;color:#d5e0ec!important}
body.dark-theme .article-alert{background:#2a2416!important;border-color:#705d2b!important;color:#f0e6cf!important}
body.dark-theme .answer-box{background:#142033!important;border-color:#2d4058!important;color:#e8eef6!important}
body.dark-theme .price-table-wrap table{background:#101b2d!important;color:#eef3f8!important}
body.dark-theme .price-table-wrap th{background:#18263a!important;color:#fff!important}
body.dark-theme .price-table-wrap td{border-color:#2a3a51!important;color:#dce5ef!important}
body.dark-theme .article-layout blockquote{background:#142033!important;border-color:#3b516d!important;color:#dce5ef!important}
body.dark-theme .form-panel input,
body.dark-theme .form-panel select,
body.dark-theme .form-panel textarea{background:#0c1626!important;color:#f4f7fb!important;border-color:#33465f!important}
body.dark-theme .form-panel input::placeholder,
body.dark-theme .form-panel textarea::placeholder{color:#8190a4!important}
body.dark-theme .why-call{background:#0d1829!important;border-color:#2b3e57!important}
body.dark-theme .why-call h3{color:#f4f7fb!important}
body.dark-theme .why-call p,body.dark-theme .why-call ul{color:#b6c2d2!important}
body.dark-theme .side-link{color:#dce6f0!important;border-color:var(--pf-border)!important}
body.dark-theme .side-link:hover{color:#ff7774!important}
body.dark-theme .site-tools{background:#101b2d!important;border-color:#2a3a51!important}
body.dark-theme .site-tools button{background:#1a2a40!important;color:#f2f6fa!important;border:1px solid #2c4059!important}
body.dark-theme .site-tools button:hover{background:#243750!important}
body.dark-theme .site-tools .tools-label{color:#aebbd0!important}
body.dark-theme .header-call,.dark-theme .red{background:#d83b3b!important;color:#fff!important}
body.dark-theme .outline{border-color:#93a5bb!important;color:#fff!important}
body.dark-theme .topline{background:#030b16!important}
body.dark-theme .catalog{background:var(--pf-bg)!important}
body.dark-theme .cta-band{background:#030d1b!important}
body.dark-theme footer{background:#030a13!important}
body.dark-theme .disclaimer{border-color:#1e2b3d!important;color:#8fa1b7!important}
body.dark-theme .copyright{color:#72849b!important}

/* Mobile: keep controls reachable without covering important content. */
@media(max-width:700px){
  .brand{width:135px!important;height:54px!important;flex-basis:135px}
  .logo{width:128px!important;height:52px!important}
  .footer-logo{width:145px!important;height:55px!important}
  header{min-height:70px}
  .site-tools{right:8px!important;bottom:10px!important;top:auto!important;max-width:calc(100vw - 16px);overflow:auto}
  .site-tools button{min-width:36px;height:30px}
  .hero-content{padding-top:70px}
}
@media(max-width:420px){
  .brand{width:118px!important;height:50px!important;flex-basis:118px}
  .logo{width:112px!important;height:48px!important}
  .topline{font-size:8px}
  .hero h1{font-size:40px}
  .quick-grid,.catalog-grid{grid-template-columns:1fr!important}
  .quick img{height:190px}
  .topic>img{height:205px}
  .site-tools{gap:3px;padding:5px}
  .site-tools button{min-width:34px;width:34px;height:29px}
}

/* Contact-page service-line note */
.service-line-note{margin:18px 0 0;padding:13px 15px;border-left:4px solid var(--pf-red);background:#f8fafc;color:#536174;font-size:12px;line-height:1.55;border-radius:0 10px 10px 0}
body.dark-theme .service-line-note{background:#111e31!important;color:#b9c5d4!important;border-color:#ef5350}
