/* Plumber Notting Hill owner-review refresh. Existing production hero remains unchanged. */
.nhx{--nhx-green:#061711;--nhx-deep:#0b251b;--nhx-mid:#173d2d;--nhx-copper:#b97850;--nhx-gold:#cfb37a;--nhx-paper:#fbfaf7;--nhx-cream:#f2eee7;--nhx-line:#d8d4cc;background:var(--nhx-paper);color:var(--ink);line-height:1.72;overflow:hidden}
.nhx *{min-width:0}.nhx-shell{width:min(calc(100% - 7rem),1180px);margin-inline:auto}.nhx-section{padding-block:clamp(4.5rem,7vw,7.5rem)}
.nhx h2,.nhx h3{font-family:var(--display);font-weight:500;letter-spacing:-.045em}.nhx h2{font-size:clamp(2.35rem,4vw,4.35rem);line-height:1.04;margin:0;color:var(--green-960);text-wrap:balance}.nhx h3{font-size:1.42rem;line-height:1.18;margin:0}.nhx p{margin:0 0 1.15rem}.nhx p:last-child{margin-bottom:0}
.nhx-eyebrow{font-size:.65rem!important;line-height:1.5!important;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:var(--nhx-copper);margin:0 0 1.05rem!important}.nhx-prose{color:#59655f}.nhx-prose--lead>p:first-child{font-family:var(--display);font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.5;color:#23382e}
.nhx-chapters{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--nhx-line);background:white;font-size:.72rem;font-weight:700}.nhx-chapters>span{font-size:.57rem;text-transform:uppercase;letter-spacing:.14em;color:#707a74}.nhx-chapters a:hover{color:var(--nhx-copper)}
.nhx-intro{background:var(--nhx-paper)}.nhx-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:start;margin-bottom:3.4rem}
.nhx-visual{position:relative;margin:0 auto;background:var(--nhx-deep);box-shadow:0 24px 70px #03120d1f;overflow:hidden}.nhx-visual--wide{width:min(calc(100% - 7rem),1080px)}.nhx-visual--medium{width:min(calc(100% - 7rem),1020px)}.nhx-visual>img{display:block;width:100%;height:auto}.nhx-visual::after{content:"";position:absolute;inset:0;pointer-events:none}.nhx-visual--left::after{background:linear-gradient(90deg,#061711c9 0,#0617119c 31%,transparent 56%)}.nhx-visual--right::after{background:linear-gradient(270deg,#061711d1 0,#0617119c 34%,transparent 59%)}
.nhx-overlay{position:absolute;z-index:2;bottom:7%;width:min(39%,420px);color:#ecf1ed}.nhx-visual--left .nhx-overlay{left:4.5%}.nhx-visual--right .nhx-overlay{right:4.5%}.nhx-overlay>span,.nhx-picture figcaption>span{display:block;color:#efb487;font-size:.62rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem}.nhx-overlay h3{font-size:clamp(1.8rem,2.7vw,3rem);color:white;margin-bottom:.85rem}.nhx-overlay p{font-size:.91rem;line-height:1.62;color:#e2ebe4}.nhx-inline-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:.5rem;color:#efb487!important;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.nhx-scope{background:var(--nhx-green);color:#e7eee9}.nhx-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end;margin-bottom:3rem}.nhx-heading>p{color:#627069;max-width:520px;padding-bottom:.45rem}.nhx-heading--light h2{color:white}.nhx-heading--light>p{color:#c5d2ca}.nhx-heading--light .nhx-eyebrow{color:#efb487}.nhx-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;border-left:1px solid #ffffff25}.nhx-service-grid article{padding:2rem;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25;min-height:270px}.nhx-service-grid article>span,.nhx-property-grid article>span,.nhx-steps li>span{display:block;color:var(--nhx-gold);font-size:.65rem;font-weight:750;letter-spacing:.14em;margin-bottom:2rem}.nhx-service-grid h3{color:white;margin-bottom:.9rem}.nhx-service-grid p{color:#cad6ce;font-size:.9rem;line-height:1.67}
.nhx-firstfix{background:var(--nhx-cream)}.nhx-story-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}.nhx-story-grid--reverse{grid-template-columns:1.15fr .85fr}.nhx-story-copy>p:not(.nhx-eyebrow){color:#59655f}.nhx-story-copy h2{font-size:clamp(2.2rem,3.4vw,3.7rem);margin-bottom:1.6rem}.nhx-picture{margin:0;background:var(--nhx-green);box-shadow:0 20px 55px #03120d17}.nhx-picture img{display:block;width:100%;height:auto}.nhx-picture figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;background:var(--nhx-green);color:white}.nhx-picture figcaption>span{margin:0}.nhx-picture figcaption strong{font-family:var(--display);font-size:.92rem;font-weight:500}
.nhx-property{background:var(--nhx-paper)}.nhx-property-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--nhx-line);border-left:1px solid var(--nhx-line);margin-bottom:3.6rem}.nhx-property-grid article{padding:1.8rem;border-right:1px solid var(--nhx-line);border-bottom:1px solid var(--nhx-line)}.nhx-property-grid article>span{color:var(--nhx-copper);margin-bottom:1.4rem}.nhx-property-grid h3{font-size:1.25rem;margin-bottom:.75rem}.nhx-property-grid p{font-size:.88rem;color:#5c6862}
.nhx-pressure-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,7vw,7rem);align-items:start;margin:-.4rem 0 3.4rem}.nhx-pressure-copy h3{font-size:clamp(1.6rem,2.4vw,2.45rem);color:var(--nhx-mid)}.nhx-pressure-copy>div{color:#5c6862}
.nhx-project{background:var(--nhx-deep);color:white}.nhx-project-intro{max-width:900px;text-align:center;margin-bottom:3rem}.nhx-project-intro h2{color:white}.nhx-project .nhx-eyebrow{color:#efb487}
.nhx-project-summary{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);margin-top:2rem;text-align:left;color:#cbd7d0;font-size:.94rem}
.nhx-process{background:var(--nhx-paper)}.nhx-picture--process{width:min(100%,960px);margin:0 auto 0}.nhx-picture--process img{aspect-ratio:3/2;object-fit:cover}.nhx-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--nhx-line);border-left:1px solid var(--nhx-line)}.nhx-steps li{padding:1.55rem 1.25rem;border-right:1px solid var(--nhx-line);border-bottom:1px solid var(--nhx-line)}.nhx-steps li>span{color:var(--nhx-copper);margin-bottom:1rem}.nhx-steps h3{font-size:1.1rem;margin-bottom:.65rem}.nhx-steps p{font-size:.82rem;color:#5d6963;line-height:1.62}
.nhx-coordination{background:var(--nhx-cream)}.nhx-related{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--nhx-line);border-left:1px solid var(--nhx-line);margin-top:2rem}.nhx-related a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-right:1px solid var(--nhx-line);border-bottom:1px solid var(--nhx-line);font-size:.73rem;font-weight:750}.nhx-related a:hover{background:#e6e0d7}.nhx-related b{color:var(--nhx-copper)}
.nhx-occupied{background:var(--nhx-green);color:#dce6df}.nhx-occupied-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem)}.nhx-occupied h2{color:white}.nhx-occupied .nhx-eyebrow{color:#efb487}.nhx-occupied-grid>div:last-child{color:#cbd7d0}
.nhx-faq{background:var(--nhx-paper)}.nhx-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem);align-items:start}.nhx-faq-grid>div:first-child{position:sticky;top:110px}.nhx-faq-grid>div:first-child>p:not(.nhx-eyebrow){color:#5c6962}.nhx-phone{display:inline-block;margin-top:1rem;font-family:var(--display);font-size:1.4rem;color:var(--nhx-mid)}.nhx-faq-list{border-top:1px solid var(--nhx-line)}.nhx-faq-list details{border-bottom:1px solid var(--nhx-line);padding:1.25rem 0}.nhx-faq-list summary{cursor:pointer;font-family:var(--display);font-size:1.12rem;line-height:1.4;color:var(--nhx-mid)}.nhx-faq-list details p{padding-top:.85rem;color:#5d6963;font-size:.9rem;max-width:720px}
.nhx-final{background:var(--nhx-deep);color:#dfe8e2;padding-block:clamp(5rem,8vw,8rem);text-align:center}.nhx-final-inner{max-width:920px}.nhx-final h2{color:white;font-size:clamp(2.7rem,4.8vw,5rem)}.nhx-final-inner>p:not(.nhx-eyebrow){max-width:760px;margin-inline:auto;color:#c9d6ce}.nhx-final .nhx-eyebrow{color:#efb487}.nhx-final-actions{display:flex;justify-content:center;align-items:center;gap:1.2rem 1.7rem;flex-wrap:wrap;margin-top:2rem}.nhx-button{background:var(--nhx-copper);border-color:var(--nhx-copper);color:#061711}.nhx-button:hover{background:#d3986f;border-color:#d3986f}.nhx-final-actions>a:last-child{color:white;font-size:.78rem;font-weight:700}
.nhx a:focus-visible,.nhx summary:focus-visible{outline:3px solid var(--nhx-copper);outline-offset:4px}
@media(max-width:1099px){.nhx-shell,.nhx-visual--wide,.nhx-visual--medium{width:calc(100% - 3.5rem)}.nhx-intro-grid,.nhx-heading,.nhx-story-grid,.nhx-story-grid--reverse,.nhx-pressure-copy,.nhx-occupied-grid,.nhx-faq-grid{grid-template-columns:1fr;gap:2.5rem}.nhx-heading{align-items:start}.nhx-visual{display:flex;flex-direction:column}.nhx-visual::after{display:none}.nhx-overlay,.nhx-visual--left .nhx-overlay,.nhx-visual--right .nhx-overlay{position:static;width:100%;max-width:none;padding:2rem;background:var(--nhx-green)}.nhx-service-grid{grid-template-columns:repeat(2,1fr)}.nhx-service-grid article{min-height:0}.nhx-story-grid--reverse .nhx-picture{order:2}.nhx-picture figcaption{align-items:flex-start;flex-direction:column}.nhx-steps{grid-template-columns:repeat(3,1fr)}.nhx-steps li:nth-child(4),.nhx-steps li:nth-child(5){grid-column:span 1}.nhx-faq-grid>div:first-child{position:static}.nhx-project-summary{grid-template-columns:1fr;text-align:left}}
@media(max-width:760px){.nhx-shell,.nhx-visual--wide,.nhx-visual--medium{width:calc(100% - 2rem)}.nhx-section{padding-block:4rem}.nhx h2{font-size:2.3rem}.nhx-chapters{justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding-inline:1rem}.nhx-chapters>span{display:none}.nhx-service-grid,.nhx-property-grid,.nhx-steps,.nhx-related{grid-template-columns:1fr}.nhx-service-grid article{padding:1.55rem}.nhx-service-grid article>span{margin-bottom:1.2rem}.nhx-property-grid{margin-bottom:2.4rem}.nhx-overlay{padding:1.6rem 1.25rem}.nhx-overlay h3{font-size:2rem}.nhx-steps li{padding:1.4rem}.nhx-steps li:nth-child(4),.nhx-steps li:nth-child(5){grid-column:auto}.nhx-picture--process{width:100%}.nhx-final-actions{align-items:stretch;flex-direction:column}.nhx-final-actions>a{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
