:root{--bg:oklch(100% 0 0);--surface:oklch(96.5% .006 260);--surface-strong:oklch(93% .012 252);--ink:oklch(19% .025 260);--muted:oklch(43% .034 260);--primary:oklch(48% .19 10);--primary-dark:oklch(36% .16 10);--accent:oklch(58% .15 245);--accent-dark:oklch(31% .11 248);--safety:oklch(81% .16 86);--line:oklch(86% .014 255);--white:oklch(100% 0 0);--shadow:0 8px 24px oklch(19% .025 260/.1);--radius:14px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Helvetica Neue,Arial,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{z-index:20;background:var(--ink);color:var(--white);border-radius:999px;padding:.75rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(100% 0 0/.95);position:sticky;top:0}.topbar{color:var(--white);background:var(--accent-dark);justify-content:center;align-items:center;gap:.7rem;padding:.45rem 1rem;font-size:.84rem;display:flex}.topbar-separator{background:var(--safety);border-radius:50%;width:4px;height:4px}.nav{justify-content:space-between;align-items:center;gap:1.5rem;width:min(1180px,100% - 32px);margin:0 auto;padding:.9rem 0;display:flex}.brand{align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{background:var(--primary);width:42px;height:42px;color:var(--white);border-radius:10px;place-items:center;font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif;font-size:1.3rem;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif;font-size:1.02rem;line-height:1}.brand small{color:var(--muted);margin-top:.18rem;font-size:.8rem}.nav-links{color:var(--muted);align-items:center;gap:1.25rem;font-size:.95rem;display:flex}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--primary)}.nav-call{background:var(--primary);color:var(--white);border-radius:999px;align-items:center;gap:.45rem;padding:.72rem .95rem;font-weight:700;text-decoration:none;display:inline-flex}.hero{grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(3rem,7vw,6.75rem) 0 clamp(2.5rem,6vw,5rem);display:grid}.hero-kicker,.section-label{width:fit-content;color:var(--primary-dark);background:oklch(96% .035 18);border-radius:999px;margin:0 0 1rem;padding:.42rem .72rem;font-size:.82rem;font-weight:700;display:inline-flex}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;letter-spacing:0;font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif}h1{max-width:11ch;margin-bottom:1.2rem;font-size:clamp(2.8rem,6.5vw,5.85rem);line-height:.93}h2{margin-bottom:1rem;font-size:clamp(2rem,4vw,3.7rem);line-height:1}h3{margin-bottom:.55rem;font-size:1.18rem;line-height:1.2}.hero-text,.section-heading p,.area-copy p,.contact-copy p{max-width:62ch;color:var(--muted);text-wrap:pretty;font-size:1.08rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.85rem;margin:1.7rem 0 1.4rem;display:flex}.button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.88rem 1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{background:var(--primary);color:var(--white)}.button.secondary{color:var(--ink);background:var(--surface-strong)}.button:hover,.nav-call:hover{transform:translateY(-1px)}.response-strip{flex-wrap:wrap;gap:.6rem;display:flex}.response-strip span{color:var(--accent-dark);background:oklch(95% .026 245);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .7rem;font-size:.9rem;font-weight:700;display:inline-flex}.hero-panel{min-height:540px;position:relative}.service-photo{border-radius:var(--radius);height:500px;box-shadow:var(--shadow);background:linear-gradient(oklch(14% .03 255/.08),oklch(13% .03 255/.42)),url(/images/plumber-under-kitchen-sink.jpg) 50%/cover}.dispatch-card,.phone-ticket{background:var(--white);box-shadow:var(--shadow);align-items:center;gap:.9rem;display:flex;position:absolute}.dispatch-card{border-radius:14px;max-width:310px;padding:1rem;bottom:72px;right:-14px}.dispatch-card p{color:var(--muted);margin:.25rem 0 0;line-height:1.4}.status-dot{background:var(--safety);border-radius:50%;flex:none;width:15px;height:15px;box-shadow:0 0 0 6px oklch(81% .16 86/.24)}.phone-ticket{border-radius:14px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.1rem;bottom:18px;left:-18px}.phone-ticket span{color:var(--muted);font-size:.88rem}.phone-ticket a{color:var(--primary);font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif;font-size:1.55rem;font-weight:800;text-decoration:none}.emergency-band{background:var(--accent-dark);color:var(--white);grid-template-columns:.9fr 1.1fr;align-items:start;gap:2rem;padding:clamp(2rem,5vw,3.5rem) max(16px,50vw - 590px);display:grid}.emergency-band .section-label{color:var(--ink);background:var(--safety)}.emergency-band h2{max-width:13ch;margin-bottom:0}.emergency-band ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.emergency-band li{background:oklch(100% 0 0/.09);border-radius:12px;align-items:flex-start;gap:.55rem;padding:1rem;line-height:1.42;display:flex}.section{width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.split-section{grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.section-heading{position:sticky;top:112px}.section-heading.compact{max-width:700px;margin-bottom:2rem;position:static}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.service-card{border-radius:var(--radius);background:var(--surface);padding:1.35rem}.service-card svg{color:var(--primary);margin-bottom:1.1rem}.service-card p,.trust-rows p,.reviews-grid blockquote,.form-note{color:var(--muted);line-height:1.58}.local-section{grid-template-columns:minmax(300px,.85fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.map-card{border-radius:var(--radius);background:var(--accent-dark);box-shadow:var(--shadow);overflow:hidden}.map-grid{background:linear-gradient(90deg, oklch(100% 0 0/.11) 1px, transparent 1px), linear-gradient(0deg, oklch(100% 0 0/.11) 1px, transparent 1px), radial-gradient(circle at 46% 48%, oklch(81% .16 86/.45), transparent 0 8%, transparent 9%), var(--accent-dark);background-size:48px 48px,48px 48px,auto,auto;height:360px;position:relative}.map-pin{background:var(--primary);border-radius:50% 50% 50% 0;width:28px;height:28px;position:absolute;top:46%;left:48%;transform:rotate(-45deg);box-shadow:0 0 0 10px oklch(48% .19 10/.22)}.map-pin:after{content:"";background:var(--white);border-radius:50%;position:absolute;inset:8px}.address-block{color:var(--white);background:oklch(21% .08 250);align-items:flex-start;gap:.8rem;padding:1.1rem;display:flex}.address-block strong,.address-block span{display:block}.address-block span{color:oklch(91% .012 250);margin-top:.2rem}.area-list{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.area-list span{background:var(--surface);color:var(--accent-dark);border-radius:999px;padding:.58rem .75rem;font-weight:700}.why-section{border-top:1px solid var(--line)}.trust-rows{border-top:1px solid var(--line);gap:0;display:grid}.trust-rows article{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);gap:1.2rem;padding:1.5rem 0;display:grid}.trust-rows article>span{color:var(--primary);font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif;font-size:1.2rem;font-weight:800}.reviews-section{background:var(--surface);padding:clamp(4rem,7vw,6rem) max(16px,50vw - 590px)}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.reviews-grid figure{border-radius:var(--radius);background:var(--white);margin:0;padding:1.5rem}.reviews-grid blockquote{margin:0 0 1.1rem;font-size:1.08rem}.reviews-grid figcaption{color:var(--ink);font-weight:800}.contact-section{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(2rem,5vw,4rem);width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0;display:grid}.contact-phone{color:var(--primary);align-items:center;gap:.6rem;margin-top:1rem;font-family:Avenir Next Condensed,Arial Narrow,Arial,system-ui,sans-serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;text-decoration:none;display:inline-flex}.quote-form{border-radius:var(--radius);background:var(--accent-dark);color:var(--white);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1.1rem,3vw,1.6rem);display:grid}.quote-form label{gap:.45rem;font-weight:700;display:grid}.quote-form .full{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:48px;color:var(--ink);background:var(--white);border:0;border-radius:10px;padding:.82rem .9rem}.quote-form textarea{resize:vertical}.quote-form ::placeholder{color:oklch(42% .032 260);opacity:1}.quote-form .button{margin-top:.2rem}.form-note{color:oklch(90% .014 250);grid-column:1/-1;margin:0;font-size:.9rem}.footer{color:var(--white);background:var(--ink);justify-content:space-between;gap:1.5rem;padding:1.6rem max(16px,50vw - 590px);display:flex}.footer div{gap:.25rem;display:grid}.footer span{color:oklch(88% .012 260)}.footer a{font-weight:800;text-decoration:none}:focus-visible{outline:3px solid var(--safety);outline-offset:3px}@media (width<=880px){.topbar{flex-wrap:wrap}.nav{align-items:flex-start}.nav-links{display:none}.hero,.emergency-band,.split-section,.local-section,.contact-section{grid-template-columns:1fr}.hero{padding-top:2.5rem}h1{max-width:100%;font-size:clamp(2.55rem,15vw,4.4rem)}.hero-panel{min-height:auto}.service-photo{height:380px}.dispatch-card,.phone-ticket{margin-top:.75rem;position:relative;inset:auto}.section-heading{position:static}.emergency-band ul,.service-grid,.reviews-grid{grid-template-columns:1fr}}@media (width<=560px){.nav{gap:.8rem;width:min(100% - 24px,1180px)}.brand small,.nav-call span{display:none}.hero,.section,.contact-section{width:min(100% - 24px,1180px)}.hero-actions .button,.quote-form{width:100%}.quote-form{grid-template-columns:1fr}.trust-rows article{grid-template-columns:1fr;gap:.35rem}.footer{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.button:hover,.nav-call:hover{transform:none}}
