:root{--ink:#101b2c;--ink-2:#192941;--blue:#0e4a76;--blue-bright:#176da0;--orange:#f15a35;--yellow:#f4bd3c;--cream:#f5f0e6;--paper:#fbfaf7;--white:#fff;--muted:#647080;--line:#ccd2d6;--slab:"Roboto Slab",Georgia,serif;--sans:"Archivo",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.frame{width:min(1220px,calc(100% - 48px));margin-inline:auto}.topline{height:34px;padding:0 24px;background:var(--ink);color:#dbe5ec;display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.topline a{color:var(--yellow);font-weight:700}.header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none}.wordmark>span{width:45px;height:45px;display:grid;place-items:center;background:var(--orange);color:var(--white);font-family:var(--slab);font-size:25px}.wordmark strong{max-width:190px;font-family:var(--slab);font-size:18px;line-height:1.15}.wordmark i{color:var(--orange);font-style:normal}.header nav{display:flex;gap:27px}.header nav a{text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.call-chip{padding-left:25px;border-left:1px solid var(--line);text-decoration:none}.call-chip small{display:block;color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.call-chip b{font-size:17px}.hero{position:relative;min-height:680px;overflow:hidden;background:var(--ink);color:var(--white)}.hero>img,.hero-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero>img{object-position:center}.hero-wash{background:linear-gradient(90deg,rgba(8,17,31,.12),rgba(8,17,31,.28) 48%,rgba(8,17,31,.95) 80%)}.hero-grid{position:relative;min-height:680px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{grid-column:2;padding:75px 0 75px 40px}.kicker{margin:0 0 20px;color:#f7c75d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.kicker span{display:inline-block;width:30px;height:2px;margin-right:8px;background:currentColor;vertical-align:middle}.kicker.dark{color:var(--blue)}h1,h2{margin:0;font-family:var(--slab);line-height:1.02;letter-spacing:0}h1{font-size:72px}.hero-copy>p:not(.kicker){max-width:610px;margin:25px 0 0;color:#d9e0e8;font-size:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{min-height:54px;padding:14px 23px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.btn.hot{background:var(--orange);color:var(--white)}.btn.line{border:1px solid rgba(255,255,255,.6)}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.dispatch-panel{position:absolute;right:0;bottom:0;left:0;transform:translateY(50%);margin:auto;width:min(1160px,calc(100% - 96px));min-height:142px;padding:22px 28px;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:150px 1fr 220px;gap:28px;align-items:center;box-shadow:10px 10px 0 var(--yellow)}.dispatch-panel>p{font-family:var(--slab);font-size:24px;line-height:1.1}.dispatch-panel ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 22px;list-style:none}.dispatch-panel li{color:#586472;font-size:12px}.dispatch-panel li span{display:block;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dispatch-panel>a{padding:16px;background:var(--ink);color:var(--white);text-decoration:none;font-size:12px;font-weight:700}.dispatch-panel>a b{float:right;color:var(--yellow)}.signal-bar{padding:98px 0 22px;background:var(--ink);color:var(--white)}.signal-bar .frame{display:flex;align-items:center;justify-content:space-between;gap:22px}.signal-bar strong,.signal-bar span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.signal-bar strong{color:var(--yellow)}.signal-bar span{color:#bcc7d1}.services{padding-block:110px}.section-title{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}.section-title h2,.system h2,.protection h2,.keller-note h2,.process h2,.faq h2,.closing h2{font-size:57.6px}.section-title>p{margin:0;color:var(--muted);font-size:17px}.service-board{margin-top:60px;border-top:2px solid var(--ink)}.service-board article{min-height:138px;display:grid;grid-template-columns:74px 1fr 180px;gap:28px;align-items:center;border-bottom:1px solid var(--line)}.service-num{font-family:var(--slab);font-size:28px;color:var(--orange)}.service-board h3{margin:0 0 5px;font-family:var(--slab);font-size:25px}.service-board p{margin:0;color:var(--muted)}.service-board a{padding:12px 0;border-bottom:2px solid var(--orange);text-align:right;text-decoration:none;font-size:12px;font-weight:800;text-transform:uppercase}.system{padding:110px 0;background:var(--blue);color:var(--white)}.system-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.system-copy>p:not(.kicker){max-width:520px;margin:28px 0;color:#d5e3ec}.system-copy .btn{margin-top:15px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}.diagnostic-grid article{min-height:210px;padding:30px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}.diagnostic-grid span{color:var(--yellow);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.diagnostic-grid h3{margin:32px 0 10px;font-family:var(--slab);font-size:23px}.diagnostic-grid p{margin:0;color:#d1e0e9}.protection{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center;padding-block:120px}.protection figure{margin:0;position:relative}.protection figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.protection figcaption{position:absolute;right:0;bottom:0;left:0;padding:14px 20px;background:rgba(16,27,44,.92);color:var(--white);font-size:12px}.protection-copy ol{margin:40px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.protection-copy li{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.protection-copy li>b{font-family:var(--slab);color:var(--orange);font-size:22px}.protection-copy span{color:var(--muted)}.protection-copy strong{display:block;color:var(--ink);font-size:17px}.keller-note{padding:90px 0;background:var(--ink);color:var(--white)}.keller-note .frame{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.keller-note>div>p{margin:0;color:#cbd4dc}.process{padding-block:110px}.process>header{display:flex;align-items:end;justify-content:space-between;gap:50px}.process-line{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.process-line article{min-height:230px;padding:30px;border-right:1px solid var(--line)}.process-line article:last-child{border-right:0}.process-line b{color:var(--orange);font-family:var(--slab);font-size:22px}.process-line h3{margin:40px 0 8px;font-family:var(--slab);font-size:23px}.process-line p{margin:0;color:var(--muted)}.faq{padding:105px 0;background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:110px}.faq-grid>div:first-child>p:last-child{color:#65717c}.faq-list{border-top:1px solid #c8c2b7}details{border-bottom:1px solid #c8c2b7}summary{padding:22px 0;display:flex;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-family:var(--slab);font-size:21px}summary::-webkit-details-marker{display:none}summary span{color:var(--orange);font-family:var(--sans);font-size:25px}details[open] summary span{transform:rotate(45deg)}details p{margin:0;padding:0 40px 23px 0;color:#626d77}.closing{padding:78px 0;background:var(--orange);color:var(--white)}.closing .frame{display:flex;align-items:center;justify-content:space-between;gap:60px}.closing p{margin:0 0 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.closing h2{max-width:780px}.closing .btn{background:var(--ink);white-space:nowrap}footer{min-height:170px;display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:center}footer>p{color:var(--muted)}.footer-call{font-family:var(--slab);font-size:22px;color:var(--blue)}.mobile-call{display:none}
@media(max-width:940px){.header nav{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{grid-column:1;width:70%;margin-left:auto}.dispatch-panel{grid-template-columns:1fr 2fr}.dispatch-panel>a{grid-column:1/-1}.signal-bar{padding-top:142px}.section-title,.system-grid,.protection,.faq-grid{grid-template-columns:1fr;gap:55px}.keller-note .frame{grid-template-columns:1fr;gap:35px}.service-board article{grid-template-columns:64px 1fr 160px}.mobile-call{display:block;position:fixed;z-index:30;right:12px;bottom:12px;left:12px;box-shadow:0 12px 35px rgba(16,27,44,.28)}.mobile-call a{min-height:62px;padding:10px 18px;background:var(--yellow);display:flex;align-items:center;justify-content:space-between;text-decoration:none}.mobile-call span{font-size:12px;font-weight:700}.mobile-call b{font-size:17px}body{padding-bottom:82px}}
@media(max-width:650px){.frame{width:min(100% - 30px,1220px)}.topline{justify-content:center}.topline span{display:none}.header{height:72px}.wordmark strong{font-size:15px}.wordmark>span{width:38px;height:38px}.call-chip{padding-left:12px}.call-chip small{display:none}.call-chip b{font-size:13px}.hero,.hero-grid{min-height:720px}.hero>img{object-position:25% center}.hero-wash{background:linear-gradient(90deg,rgba(8,17,31,.72),rgba(8,17,31,.93))}.hero-copy{width:100%;padding:70px 0 220px}.hero-actions{flex-direction:column;align-items:stretch}.dispatch-panel{width:calc(100% - 30px);padding:20px;grid-template-columns:1fr;gap:10px;box-shadow:6px 6px 0 var(--yellow)}.dispatch-panel>p{margin:0}.dispatch-panel ul{grid-template-columns:1fr 1fr;gap:8px}.dispatch-panel>a{grid-column:auto}.signal-bar{padding-top:200px}.signal-bar .frame{flex-wrap:wrap;justify-content:flex-start}.services,.system,.protection,.process,.faq{padding-block:78px}.section-title{display:block}.section-title>p{margin-top:24px}.section-title h2,.system h2,.protection h2,.keller-note h2,.process h2,.faq h2,.closing h2{font-size:40px}.service-board article{grid-template-columns:42px 1fr;gap:12px;padding:24px 0}.service-board a{grid-column:2;text-align:left;width:max-content}.diagnostic-grid{grid-template-columns:1fr}.protection{gap:42px}.keller-note{padding:70px 0}.process-line{grid-template-columns:1fr}.process-line article{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.process-line article:last-child{border-bottom:0}.process-line h3{margin-top:20px}.closing .frame{align-items:flex-start;flex-direction:column}.closing{padding:65px 0}footer{display:flex;min-height:250px;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}footer>p{margin:0}.mobile-call{right:7px;bottom:7px;left:7px}.mobile-call a{flex-direction:column;justify-content:center;gap:0}}
@media(max-width:650px){.hero{overflow:visible;z-index:1}.dispatch-panel{z-index:2}.signal-bar{position:relative;z-index:0;padding-top:190px}}
@media(max-width:650px){.hero-actions,.closing .btn,.dispatch-panel{display:none}.hero,.hero-grid{min-height:620px}.hero-copy{width:100%;margin-left:0;padding:28px 0}.hero h1{font-size:50px}.signal-bar{padding-top:24px}.protection figure img{height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

.h1-location{display:block;margin-top:14px;font-family:inherit;font-size:16px;line-height:1.25;font-weight:700;letter-spacing:0;text-transform:uppercase}

/* Contextual service photography: exterior plumbing access */
.process{padding-inline:clamp(24px,5vw,70px);background-image:linear-gradient(100deg,rgba(16,27,44,.96),rgba(16,27,44,.72)),url("/__site-assets/plumber-kellertx.com/images/keller-yard-service-bg.jpg?v=2&cfv=assetfix-20260513d-1788359667946");background-position:center;background-size:cover;color:#fff}
.process .kicker{color:var(--yellow)}.process-line{border-color:rgba(255,255,255,.55)}.process-line article{background:rgba(255,255,255,.93);color:var(--ink)}

/* Company-first conversion upgrade */
.conversion-proof{padding:clamp(58px,7vw,96px) max(20px,calc((100% - 1180px)/2));background:#101b2c;color:#fff}.conversion-proof__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(34px,6vw,80px);align-items:center}.conversion-proof__eyebrow{margin:0 0 12px;color:#f15a35;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.conversion-proof h2{margin:0 0 18px;color:#fff;font-size:clamp(36px,4.4vw,58px);line-height:1.02}.conversion-proof p{max-width:720px;margin:0;color:#e5ecec;font-size:17px;line-height:1.65}.conversion-proof ul{margin:0;padding:0;list-style:none;border-top:1px solid #ffffff44}.conversion-proof li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff44;font-weight:800}.conversion-proof li span{color:#f15a35}.conversion-proof a{grid-column:2;justify-self:start;display:inline-flex;padding:14px 20px;background:#f15a35;color:#101b2c;font-weight:900;text-decoration:none}.conversion-proof--editorial{border-block:8px double #f15a35}.conversion-proof--ledger{box-shadow:inset 12px 0 #f15a35}.conversion-proof--lab{background:linear-gradient(135deg,#101b2c,#10282c)}.conversion-proof--dispatch{border-top:10px solid #f15a35}.conversion-proof--desert{background:linear-gradient(110deg,#101b2c,#6e352c)}.conversion-proof--map{border-bottom:12px solid #f15a35}.conversion-proof--field{outline:1px solid #ffffff22;outline-offset:-18px}.conversion-proof--bright{border-top:12px solid #f15a35}.conversion-proof--classic{background:linear-gradient(90deg,#101b2c,#3d4857)}
@media(max-width:700px){.conversion-proof{padding:52px 20px}.conversion-proof__inner{grid-template-columns:1fr;gap:28px}.conversion-proof h2{font-size:34px}.conversion-proof p{font-size:16px}.conversion-proof a{grid-column:1;width:100%;justify-content:center;min-height:54px;align-items:center}h1,.hero h1,.ca-hero h1{font-size:min(40px,10.25vw)!important;line-height:1.02!important}}
@media(max-width:650px){.hero,.hero-grid{min-height:590px}}
/* Mobile readability guard: keep long display headings scannable without changing this site's visual identity. */
@media (max-width: 600px) {
  h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10.25vw, 42px) !important;
    line-height: 1.04 !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  h2 {
    max-width: 100% !important;
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal;
    word-break: normal;
  }
}
