:root{--c:#f5f3f3;--c2:#e6dfe0;--k:#000;--a:#c42b42}
*{box-sizing:border-box;margin:0}
body{font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;color:#111;background:#fff}
h1,h2,h3,h4{font-weight:800;color:var(--k);line-height:1.15;letter-spacing:-.02em}
a{color:#c42b42}
:focus-visible{outline:3px solid var(--k);outline-offset:2px}
.w{max-width:1100px;margin:auto;padding:0 20px}
header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 0 #e5e5e5}
header .w{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 20px;max-width:1280px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--k);font:800 1.15rem/1.05 system-ui}
.logo svg{width:40px;height:46px}
.logo em{display:block;font-style:normal;color:var(--a)}
nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
nav>a,.m>a{color:var(--k);text-decoration:none;font-weight:500;padding:8px 0;display:block;font-size:.97rem}
.cl{display:inline-flex!important;align-items:center;gap:10px;background:var(--k);color:#fff!important;padding:12px 24px!important;border-radius:50px;font-weight:700!important}
.hh{position:relative;background:var(--c);overflow:hidden}
.hh .l{position:relative;z-index:2;width:56%;padding:60px 20px 56px max(20px,calc(50vw - 640px))}
.bd{display:inline-block;background:var(--c2);border-radius:40px;padding:8px 20px;font-weight:700;font-size:.9rem;margin-bottom:22px}
.hh h1{font-size:clamp(2.4rem,5.2vw,4.4rem);margin-bottom:18px}
.hh p{font-size:1.2rem;max-width:30em;margin-bottom:26px;color:#262626}
.pill{display:inline-flex;align-items:center;gap:14px;border-radius:50px;padding:17px 32px;font-weight:700;font-size:1.08rem;text-decoration:none;margin:0 0 14px}
.dk{background:var(--k);color:#fff}
.ol{border:2px solid var(--k);color:var(--k)}
.hero{background:var(--c);color:var(--k);padding:52px 0 60px}
.hero .w{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.hero.s{padding:44px 0}
.s .w{display:block}
.hero h1{font-size:2.6rem;margin-bottom:14px}
.hero p{max-width:54ch}
.tel{display:block;font:800 2.6rem system-ui;color:var(--k);text-decoration:none;margin:16px 0 4px}
.hero small{color:#444}
form{background:#fff;padding:24px;border-radius:14px;display:grid;gap:10px;border:1px solid #e0e0e0;box-shadow:0 10px 30px #0001}
form h2{font-size:1.3rem}
input,select,textarea{padding:12px;border:1px solid #9a9a9a;border-radius:8px;font:inherit;width:100%}
button,.btn{background:var(--k);color:#fff;border:0;padding:14px 28px;font:700 1rem system-ui;border-radius:50px;cursor:pointer;text-decoration:none;display:inline-block}
section{padding:56px 0}
section.t{background:var(--c)}
h2{font-size:2rem;margin-bottom:8px}
.sub{max-width:62ch;margin-bottom:26px}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.g>div{background:#fff;border:1px solid #e0e0e0;border-top:4px solid var(--k);border-radius:10px;padding:18px}
.g h3{font-size:1.1rem;margin-bottom:4px}
.g h3 a{color:var(--k);text-decoration:none}
.ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ind a{background:var(--k);color:#fff;text-align:center;padding:22px 10px;text-decoration:none;font-weight:600;border-radius:10px}
.st{background:var(--k);color:var(--c);padding:42px 0}
.st .w{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;text-align:center}
.st b{display:block;font:800 2.8rem system-ui;color:#fff}
.sp{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.bx{background:var(--k);color:#fff;padding:28px;border-radius:14px}
.bx h3{color:var(--c);margin-bottom:10px}
.bx li{margin:0 0 8px 18px}
.tags span{display:inline-block;background:var(--c);border:1px solid #d8c9cb;color:var(--k);padding:4px 14px;margin:0 8px 8px 0;border-radius:30px;font-size:.93rem}
h3.k{margin:26px 0 10px;font-size:1.15rem}
details{border-bottom:1px solid #e0e0e0;padding:14px 4px}
summary{font-weight:800;color:var(--k);cursor:pointer}
details p{margin-top:8px;max-width:70ch}
.cta{background:var(--k);color:#fff;text-align:center;padding:50px 20px}
.cta h2{color:#fff}
.cta p{margin-bottom:16px;color:#d4d4d4}
.cta .btn{background:var(--c);color:var(--k)}
footer{background:#000;color:#b8b8b8;padding:40px 0 20px;font-size:.93rem}
.ft{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
footer h4{color:var(--c);margin-bottom:8px;font-size:1rem}
footer a{color:#b8b8b8;display:block;text-decoration:none;margin-bottom:5px}
footer .logo{color:#fff}
.cp{margin-top:26px;border-top:1px solid #2a2a2a;padding-top:14px;text-align:center;font-size:.85rem}
.call{display:none}
@media(max-width:800px){.hero .w,.sp,.ft{grid-template-columns:1fr}
.hh .l{width:100%;padding:40px 20px}
.hero h1{font-size:2rem}
.tel{font-size:2.1rem}
.mg{display:none!important}
nav{gap:14px}
body{padding-bottom:54px}
.call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--k);color:#fff;text-align:center;padding:15px;font-weight:700;text-decoration:none;z-index:50}}
.m{position:static}
.m>a{padding:24px 0}
.mg{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e5e5e5;box-shadow:0 18px 34px #0003;z-index:40}
.mg:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.m:hover .mg,.m:focus-within .mg{display:block}
.mg .in{max-width:1100px;margin:auto;padding:24px 20px 28px;display:grid;grid-template-columns:270px 1fr 320px;gap:36px;align-items:start}
.mg .ls a{display:flex;align-items:center;gap:14px;padding:11px 12px;border-bottom:1px solid #ececec;color:#262626;text-decoration:none;font-weight:500}
.mg .ls a:hover,.mg .ls a:focus{background:var(--c)}
.mg h3{font-size:1.9rem;margin-bottom:14px}
.mg p{max-width:36ch;color:#262626}
.mg .btn{padding:11px 20px;margin:0 8px 8px 0}
.mg .o2{background:none;border:2px solid var(--k);color:var(--k)}
.mg .ls a{font-size:.94rem}
.ab p{max-width:70ch;margin-bottom:14px}
.kn{display:inline-block;margin-top:auto;align-self:flex-start;background:var(--k);color:#fff;text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;padding:13px 24px;border-radius:50px}
.kn:hover{background:#9e2236}
.ars h2,.ars .sub{text-align:center;margin-left:auto;margin-right:auto}
.ars h2{text-transform:uppercase;font-size:2.4rem}
.wc{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.wc h2{text-transform:uppercase;font-size:2.4rem;margin-bottom:16px}
.wc p{margin-bottom:14px}
@media(max-width:900px){.wc{grid-template-columns:1fr}}
.hr{position:relative;color:#fff;padding:96px 0 84px;background:#000 center/cover no-repeat}
.hr:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 12%,#000c 52%,#0003)}
.hr .w{position:relative}
.ey{display:block;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c42b42;margin-bottom:10px}
.hr .ey{color:var(--c)}
.hr h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);text-transform:uppercase;max-width:16ch;margin-bottom:16px}
.hr p{color:#e8e8e8;max-width:56ch;font-size:1.1rem}
.btn.cb{background:var(--c);color:var(--k);padding:16px 30px}
.sp2{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.tx h2{text-transform:uppercase;font-size:2rem;margin-bottom:14px}
.tx p{margin-bottom:12px}
.fs{display:grid;grid-template-columns:1fr 2.2fr;gap:36px;align-items:center}
.fs h2{text-transform:uppercase;font-size:1.8rem;margin-bottom:10px}
.dk{background:var(--k)}
.dk h2,.dk .sub{color:#fff}
.dk h2{text-transform:uppercase}
.fa{margin-top:24px;border-top:1px solid #2a2a2a;padding-top:14px;font-size:.9rem}
footer .fa a{display:inline-block;margin:0 14px 4px 0}
@media(max-width:900px){.sp2,.fs{grid-template-columns:1fr;gap:28px}
.hr{padding:60px 0}}
.tx h2:after{content:"";display:block;width:72px;height:6px;border-radius:4px;background:#c42b42;margin-top:12px}
.cn{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.cn a{background:#fff;border:1.5px solid var(--k);border-radius:40px;padding:9px 18px;font-weight:700;font-size:.9rem;color:var(--k);text-decoration:none}
.cn a:hover{background:var(--k);color:#fff}
.bg3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bc{display:flex;flex-direction:column;background:#fff;border:1.5px solid #000;border-radius:28px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.bc:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0002}
.chip{position:absolute;left:16px;top:16px;background:var(--c);color:var(--k);font-weight:800;font-size:.78rem;padding:6px 14px;border-radius:30px}
.bb{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.bb h3{font-size:1.2rem;margin-bottom:10px}
.bb p{font-size:.95rem;color:#3d3d3d;margin-bottom:18px}
.rm{margin-top:auto;font-weight:800;color:var(--k)}
.ft2{display:grid;grid-template-columns:1.1fr 1fr;border:1.5px solid var(--k);border-radius:28px;overflow:hidden;background:#fff}
.tx2{padding:38px;align-self:center}
.ch{display:flex;align-items:center;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.ch h2{margin:0;font-size:1.7rem}
.ch .kn{margin-left:auto}
.pl{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.ar2 .lead{font-size:1.2rem;line-height:1.7}
.ar2 .cover{width:100%;border-radius:22px;margin:24px 0;aspect-ratio:16/9;object-fit:cover;display:block}
.ar2 h2{font-size:1.6rem;margin:30px 0 12px}
.ar2 p{margin-bottom:12px}
.kt{background:var(--c);border-radius:22px;padding:26px 28px;margin:26px 0}
.kt h2{margin-top:0}
.sd{position:sticky;top:96px;display:grid;gap:20px}
.cc{background:var(--k);color:#fff;border-radius:22px;padding:26px}
.cc h3{color:var(--c)}
.cc p{margin:8px 0 16px;color:#d9d9d9}
.cc .btn{background:var(--c);color:var(--k);display:block;text-align:center}
.sc{border:1.5px solid var(--k);border-radius:22px;padding:22px}
.rl{background:#fff;border:1px solid #e0e0e0;border-radius:22px;padding:22px}
.rl a{display:block;color:var(--k);font-weight:700;text-decoration:none;padding:9px 0;border-bottom:1px solid #e5e5e5;line-height:1.35}
.rl a:last-child{border:0}
.crumb{font-size:.88rem;margin-bottom:14px;color:#d4d4d4}
.crumb a{color:#fff}
.meta{margin-top:16px;font-size:.9rem;color:#d4d4d4;display:flex;gap:22px;flex-wrap:wrap}
.hr .chip{position:static;display:inline-block;margin-bottom:14px}
.hr.po h1{font-size:clamp(1.9rem,4vw,3rem);max-width:24ch;text-transform:none}
@media(max-width:900px){.bg3{grid-template-columns:repeat(2,1fr)}
.ft2,.pl{grid-template-columns:1fr}
.sd{position:static}}
@media(max-width:560px){.bg3{grid-template-columns:1fr}
.ch .kn{margin-left:0}}
.ar2 figure{margin:28px 0}
.ar2 figcaption{font-size:.88rem;color:#555;margin-top:8px}
.ar2 h2[id]{scroll-margin-top:100px}
.bl{margin:0 0 16px 22px}
.bl li{margin-bottom:9px}
.co{background:var(--k);color:#fff;border-radius:18px;padding:20px 24px;margin:24px 0;font-weight:600;line-height:1.55}
.toc{background:#fff;border:1.5px solid var(--k);border-radius:20px;padding:20px 24px;margin:24px 0}
.toc ol{margin:8px 0 0 20px}
.toc li{margin-bottom:4px}
.toc a{color:var(--k);font-weight:600}
footer .logo em{color:#c42b42}
footer .logo svg{flex:none}
.fmap{display:block;width:100%;height:170px;border:0;border-radius:12px;margin-top:16px;background:#111}
h1{text-transform:uppercase}
h2{text-transform:capitalize}
.hr.po h1{text-transform:uppercase}
p a.ih{display:inline;padding:0;font:inherit;font-weight:inherit;color:#c42b42;text-decoration:underline}
.hr p a.ih{color:#fff}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,svg{max-width:100%}
body{overflow-wrap:break-word}
.nb{display:none;width:46px;height:46px;border:0;border-radius:10px;background:transparent;padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;-webkit-tap-highlight-color:transparent}
.nb span{display:block;width:24px;height:2.5px;background:var(--k);border-radius:2px;transition:transform .25s,opacity .2s}
.nb[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nb[aria-expanded=true] span:nth-child(2){opacity:0}
.nb[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:1100px){header .w{flex-wrap:nowrap;padding:6px 16px}
.nb{display:flex;margin-left:auto}
header nav{display:none;position:fixed;left:0;right:0;top:var(--hh,60px);bottom:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;flex-wrap:nowrap;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px 28px;border-top:1px solid #e5e5e5;z-index:60}
header nav.open{display:flex}
header nav>a,header .m>a{padding:16px 4px;font-size:1.05rem;border-bottom:1px solid #ededed;width:100%}
header .m{position:static;width:100%}
header .m>a{display:flex;justify-content:space-between;align-items:center}
header .m:hover .mg,header .m:focus-within .mg{display:none!important}
header .m.open>.mg{display:block!important;position:static;box-shadow:none;border:0;background:#fff;border-radius:10px;margin:4px 0 8px}
header .mg:before{display:none}
header .mg .in{display:block!important;padding:8px 8px 14px;max-width:none}
header .mg .ls{display:block!important}
header .mg .ls a{padding:13px 10px}
header .mg .in>div:not(.ls){padding:12px 10px 0}
header .mg h3{font-size:1.3rem;margin-bottom:8px}
header .mg p{max-width:none}
header nav .cl{justify-content:center;margin-top:18px;padding:15px 24px!important;width:100%}
body.nav-open{overflow:hidden}}
@media(max-width:700px){body{font-size:16px}
section{padding:40px 0}
h2{font-size:1.6rem}
.hh h1{font-size:clamp(2rem,9vw,2.6rem)}
.hh p{font-size:1.05rem}
.hh .l{padding:36px 16px 40px!important}
.pill{padding:15px 24px;font-size:1rem}
.st b{font-size:2.2rem}
.w{padding:0 16px}
form{padding:18px}
input,select,textarea{font-size:16px}
.logo{font-size:1rem}
.logo svg{width:34px;height:40px}
.cta{padding:40px 16px}
.kn{padding:12px 20px}}
@media(max-width:380px){.logo{font-size:.92rem}
.hero h1{font-size:1.75rem}
.tel{font-size:1.8rem}}
@media(min-width:1101px){.nb{display:none!important}}
@media(max-width:800px){header nav{bottom:54px}}
.hh{--R:max(20px,calc(50vw - 640px));min-height:660px;display:flex;align-items:center;color:#fff;background:linear-gradient(120deg,#000 0%,#0b0b0b 55%,#3a0b15 100%)}
.hh:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 520px at 88% 15%,rgba(196,43,66,.42),transparent 60%),radial-gradient(620px 420px at 5% 105%,rgba(196,43,66,.16),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px}
.hh .l{padding-top:80px;padding-bottom:76px}
.hh.np .l{width:68%}
.hh h1{color:#fff;letter-spacing:-.02em;line-height:1.05}
.hh p{color:#d4d4d4}
.hh .bd{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#ffb8c2;letter-spacing:.08em;font-size:.82rem}
.hh .bd:before{content:"";width:9px;height:9px;border-radius:50%;background:#ef5468;box-shadow:0 0 0 4px rgba(239,84,104,.3)}
.hh .pill.dk{background:#fff;color:#000;box-shadow:0 10px 28px rgba(0,0,0,.3)}
.hh .pill.ol{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.hh .pill:hover{transform:translateY(-2px)}
@media(max-width:900px){.hh{min-height:0;display:block}
.hh .l{padding:40px 20px}
.hh.np .l{width:100%}}
.hr{background:linear-gradient(120deg,#000 0%,#0b0b0b 55%,#3a0b15 100%);padding:84px 0 78px;overflow:hidden}
.hr:before{background:radial-gradient(700px 420px at 90% 8%,rgba(196,43,66,.42),transparent 60%),radial-gradient(520px 360px at 0 110%,rgba(196,43,66,.16),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px}
.hr .w{z-index:2}
.hr .ey{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#ffb8c2;padding:7px 16px;border-radius:40px;letter-spacing:.08em;margin-bottom:18px}
.btn.cb{background:#fff;color:#000;box-shadow:0 10px 28px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s}
.btn.cb:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.4)}
@media(max-width:900px){.hr{padding:48px 0}}
section:has(details) h2:after,.ars h2:after{content:"";display:block;width:72px;height:6px;border-radius:4px;background:#c42b42;margin:12px auto 0}
.dk h2:after{background:#ef5468}
section:has(details) h2{text-align:center}
details{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:0;margin:0 auto 12px;max-width:860px;box-shadow:0 3px 10px rgba(0,0,0,.05);overflow:hidden;transition:border-color .2s}
details[open]{border-color:#c42b42}
summary{list-style:none;padding:18px 62px 18px 22px;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#f5f3f3;color:#000;display:grid;place-items:center;font-weight:800;font-size:1.2rem}
details[open] summary:after{content:"\2212";background:#c42b42;color:#fff}
details p{padding:0 22px 18px;margin:0}
.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#c42b42,#9e2236);padding:68px 20px}
.cta:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 300px at 85% 0,rgba(196,43,66,.42),transparent 60%),radial-gradient(500px 300px at 5% 110%,rgba(255,255,255,.14),transparent 60%)}
.cta>*{position:relative}
.cta h2{font-size:2.3rem}
.cta .btn{background:#fff;color:#000;padding:16px 36px;font-size:1.1rem;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .2s}
.cta .btn:hover{transform:translateY(-2px)}
@media(min-width:1101px){header nav .mg{max-height:calc(100vh - 100px);overflow-y:auto}
.mg .ls a{padding:8px 10px;font-size:.88rem;gap:10px}}

/* ===== Plain layout: bullets instead of icons, illustrations and cards ===== */

/* menu: simple bullets */
.mg .ls a{gap:10px}
.mg .ls a:before{content:"\2022";flex:none;color:var(--k);font-size:1.2em;line-height:1}
.cl{gap:0}

/* hero, homepage: text only */
.hh .l{width:70%}
.ic3{list-style:disc;margin:24px 0 0 22px;padding:0;font-weight:600}
.ic3 li{margin-bottom:6px}
.hh .ic3{color:#e8e8e8}
.hh .ic3 li::marker{color:#ef5468}
@media(max-width:900px){.hh .l{width:100%}}

/* hero, sub pages: text only */
.hr .w>h1{max-width:22ch}
.hr .w>p{max-width:60ch}
.bd3{list-style:disc;margin:20px 0 26px 22px;padding:0;font-weight:600;font-size:.98rem;color:#e8e8e8}
.bd3 li{margin-bottom:4px}
.bd3 li::marker{color:#ef5468}

/* text + image sections become single-column text */
.sp2{display:block}
.sp2 .tx{max-width:860px}
.wc{display:block}
.wc>div{max-width:860px}

/* check lists / process steps */
.ckl{list-style:disc;margin:18px 0 0 22px;padding:0}
.ckl li{margin:0;padding-bottom:8px;font-weight:600;line-height:1.45;break-inside:avoid-column}
.ckl li::marker{color:var(--a)}
.ckl:not(.n){columns:2;column-gap:44px}
.ckl.n li{font-weight:400}
.ckl.n b{display:block;color:var(--k);font-weight:800}
.ckl.n span{display:block;color:#3d3d3d}
.ck{margin:18px 0 24px}
.ck ul{list-style:disc;margin:0 0 0 22px;padding:0}
.ck li{margin:0 0 8px;font-weight:700}
.ck li::marker{color:var(--a)}

/* "Complete plumbing solutions" */
.fi{list-style:disc;margin:0;padding:0 0 0 22px;columns:2;column-gap:44px}
.fi li{break-inside:avoid-column;margin:0;padding-bottom:14px}
.fi li::marker{color:var(--a)}
.fi b{display:block;color:var(--k);font-size:1.02rem}
.fi p{font-size:.93rem;line-height:1.5;color:#3d3d3d;margin:2px 0 0}

/* service + commercial lists (was card grids) */
.bk{list-style:disc;margin:0 0 0 22px;padding:0;columns:2;column-gap:56px}
.bk li{break-inside:avoid-column;margin:0;padding:0 0 10px 2px}
.bk li::marker{color:var(--a)}
.bk h3{font-size:1.05rem;margin:0;line-height:1.35;text-transform:none}
.bk h3 a{color:var(--k);text-decoration:none}
.bk h3 a:hover,.bk h3 a:focus{text-decoration:underline}
.nh{margin-top:26px}
.nh h3{font-size:1.25rem;margin-bottom:6px}
.nh p{margin-bottom:14px}
section:has(.bk) h2{text-transform:uppercase}
section:has(.bk) h2:after{content:"";display:block;width:72px;height:6px;border-radius:4px;background:#c42b42;margin:12px 0 0}
section.dk:has(.bk) h2:after{background:#ef5468}
.dk .bk h3 a,.dk .nh h3{color:#fff}
.dk .nh p{color:#d9d9d9}
.dk .bk li::marker{color:#ef5468}
.dk .nh .kn{background:#fff;color:var(--k)}

/* areas */
.ar{list-style:disc;margin:8px auto 0;padding:0 0 0 22px;columns:3;column-gap:40px;max-width:760px}
.ar li{margin:0;padding-bottom:10px;break-inside:avoid-column}
.ar li::marker{color:var(--a)}
.ar a{color:var(--k);font-weight:700;text-decoration:none}
.ar a:hover,.ar a:focus{text-decoration:underline}

/* FAQ: plain list, no boxes */
details{background:none;border:0;border-bottom:1px solid #e5e5e5;border-radius:0;box-shadow:none;margin:0 auto}
details[open]{border-color:#e5e5e5}
summary{padding:16px 40px 16px 0}
summary:after{right:4px;width:auto;height:auto;background:none;border-radius:0;color:var(--k)}
details[open] summary:after{background:none;color:var(--k)}
details p{padding:0 0 16px}

@media(max-width:900px){.ar{columns:2}}
@media(max-width:700px){.bk,.fi,.ckl:not(.n){columns:1}}
@media(max-width:560px){.ar{columns:1}}

/* Service cards: plumbing + commercial services lists */
.bk{list-style:none;margin:0;padding:0;columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bk li{position:relative;display:flex;align-items:center;gap:14px;margin:0;padding:15px 18px;background:#fff;border:1px solid #e3e3e3;border-radius:16px}
.bk li::before{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:#c42b42 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.bk li:hover{border-color:#c42b42}
.bk h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.bk h3 a:focus-visible{outline:0}
.bk li:has(a:focus-visible){outline:3px solid var(--k);outline-offset:2px}
.dk .bk h3 a{color:var(--k)}
.dk .bk li:has(a:focus-visible){outline-color:#fff}
@media(max-width:960px){.bk{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bk{grid-template-columns:1fr}}

/* Alignment: hero + footer */
@media(min-width:1100px){.hh .l{padding-left:calc(50vw - 530px);width:calc(70% + 50vw - 550px)}}
.fa{border-top:0;padding-top:0}
.fa:before{content:"";display:block;height:1px;background:#2a2a2a;margin-bottom:14px}

/* Centered sections (hero sections stay as they are) */
section{text-align:center}
.sp2 .tx,.wc>div{margin-left:auto;margin-right:auto}
.sub{margin-left:auto;margin-right:auto}
.ars h2:after,.dk h2:after,.tx h2:after,section.dk:has(.bk) h2:after,section:has(.bk) h2:after,section:has(details) h2:after{margin-left:auto;margin-right:auto}
.ckl,.ck ul{text-align:left;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;padding-left:22px}
.bk li,details{text-align:left}
details{max-width:860px;margin-left:auto;margin-right:auto}
.fs{grid-template-columns:1fr;gap:28px;justify-items:center}
.fs>div{max-width:62ch}
.fs h2{font-size:2rem;margin-bottom:14px}
.fs h2:after{content:"";display:block;width:72px;height:6px;border-radius:4px;background:#c42b42;margin:12px auto 0}
.fi{list-style:none;columns:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:24px 40px;padding:0;width:100%}
.fi li{flex:0 1 calc(33.333% - 27px);min-width:220px;padding:0;text-align:center}
.ar{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:8px 0 0;max-width:none;padding:0;list-style:disc inside}
.ar li{padding-bottom:0;text-align:center}
@media(max-width:900px){.ar{grid-template-columns:repeat(2,minmax(0,1fr))}.fi li{flex-basis:calc(50% - 20px)}}
@media(max-width:600px){.fi li{flex-basis:100%}}
@media(max-width:560px){.ar{grid-template-columns:1fr}}

/* Horizontal bullets */
.bd3,.ic3{display:flex;flex-wrap:wrap;gap:6px 28px;margin-left:0;padding:0;list-style:disc inside}
.bd3 li,.ic3 li{margin:0}
.ckl:not(.n),.ck ul{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));justify-content:center;gap:8px 48px;columns:auto;width:auto;padding:0;list-style:disc outside}
.ckl:not(.n) li,.ck li{margin:0 0 0 22px;padding:0}
.ck ul{margin-bottom:18px}
.ckl.n{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px;width:100%;padding:0}
.ckl.n li{margin-left:22px;padding-bottom:0}
.sp2 .tx:has(.ckl.n){max-width:1060px}
.sp2 .tx:has(.ckl.n)>p{max-width:860px;margin-left:auto;margin-right:auto}
@media(max-width:759px){.ckl:not(.n),.ck ul{grid-template-columns:minmax(0,max-content);gap:8px}}
@media(max-width:999px){.ckl.n{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.ckl.n{grid-template-columns:1fr}}
@media(max-width:1100px){header nav{padding-bottom:84px}}


/* ===== Newark Plumbing Solutions: red / white / black ===== */
header{background:#fff;box-shadow:0 1px 0 #e5e5e5}
.cl{background:#c42b42}
.cl:hover{background:#000}
.kn,.btn{background:#c42b42}
.kn:hover,.btn:hover{background:#000}
.dk .nh .kn{background:#fff;color:#000}
.dk .nh .kn:hover{background:#c42b42;color:#fff}
.hh .pill.dk:hover{background:#c42b42;color:#fff}
.btn.cb{background:#fff;color:#000}
.btn.cb:hover{background:#c42b42;color:#fff}
.cta{background:linear-gradient(120deg,#c42b42,#9e2236)}
.cta:before{background:radial-gradient(600px 300px at 85% 0,rgba(255,255,255,.18),transparent 60%)}
.cta h2,.cta p{color:#fff}
.cta .btn{background:#fff;color:#000}
.cta .btn:hover{background:#000;color:#fff}
footer{background:#000;border-top:4px solid #c42b42}
footer .logo em{color:#ef5468}
footer a:hover{color:#fff}
.call{background:#c42b42}
.hh:before,.hr:before{background:radial-gradient(900px 520px at 88% 15%,rgba(196,43,66,.5),transparent 60%),radial-gradient(620px 420px at 5% 105%,rgba(196,43,66,.2),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/54px 54px}
.mg .ls a:before{color:#c42b42}
.mg .ls a:hover,.mg .ls a:focus{background:#f5f3f3}
nav>a:hover,.m>a:hover{color:#c42b42}
.logo{align-items:center}
.fmap{background:#111}
::selection{background:#c42b42;color:#fff}


/* ===== Complete plumbing solutions: refined cards ===== */
section.t:has(.fi){background:linear-gradient(180deg,#f7f5f5,#efecec);padding:72px 0}
.fs{gap:40px}
.fs>div{max-width:64ch}
.fs>div p{font-size:1.05rem;color:#3d3d3d}
.fi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;width:100%;padding:0;margin:0;list-style:none}
.fi li{flex:none;min-width:0;position:relative;background:#fff;border:1px solid #ece7e8;border-radius:20px;padding:76px 20px 26px;text-align:center;box-shadow:0 6px 22px rgba(0,0,0,.05);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.fi li:after{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#c42b42}
.fi li:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(196,43,66,.18);border-color:#c42b42}
.fi li:before{content:"";position:absolute;left:50%;top:20px;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:#c42b42 center/26px no-repeat;box-shadow:0 0 0 6px rgba(196,43,66,.12)}
.fi li:nth-child(1):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.fi li:nth-child(2):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4v8a5 5 0 0 0 5 5h9'/%3E%3Cpath d='M3 4h4M17 14v6'/%3E%3C/svg%3E")}
.fi li:nth-child(3):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3C/svg%3E")}
.fi li:nth-child(4):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c1 4 5 5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-3-1-5 1-9z'/%3E%3C/svg%3E")}
.fi li:nth-child(5):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a4 4 0 0 0 5 5l-9 9a2.1 2.1 0 0 1-3-3l9-9a4 4 0 0 0-2-2z'/%3E%3C/svg%3E")}
.fi b{font-size:1.1rem;color:#000;margin-bottom:6px}
.fi p{font-size:.95rem;line-height:1.55;color:#4a4a4a;margin:0}
@media(max-width:1100px){.fi{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.fi{grid-template-columns:repeat(2,minmax(0,1fr))}.fi li{padding:72px 14px 22px}}
@media(max-width:480px){.fi{grid-template-columns:1fr}}
