:root{--green:#20302c;--cream:#f7f5ee;--gold:#d99b30;--muted:#626c64;--sage:#e8ebe2;--line:#d9ddd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}.announcement{background:var(--green);color:var(--cream);text-align:center;padding:9px 16px;font-size:13px;letter-spacing:.025em}.announcement span{color:#d8ddd3;margin-left:6px}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:27px 5%;gap:25px}.brand{display:inline-flex;flex-direction:column;line-height:1}.wordmark{font-family:Manrope,sans-serif;font-size:39px;letter-spacing:-2.3px;font-weight:800}.gold-dot{position:relative}.gold-dot:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);top:9px;left:2.8px}.brand-sub{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:3px;font-weight:800;line-height:1.1;text-align:center;margin-top:8px}nav{display:flex;gap:34px;font-size:14px;font-weight:500}nav a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;border:1px solid var(--green);border-radius:8px;padding:15px 25px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#344941;transform:translateY(-1px)}.button.small{padding:12px 21px;font-size:14px}.wrap{max-width:1280px;margin:auto;padding-left:5%;padding-right:5%}.hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding-top:52px;padding-bottom:64px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:700;margin:0 0 21px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(48px,5.8vw,78px);letter-spacing:-4px;line-height:1.08;font-weight:600;margin:0 0 27px}.hero h1 span{position:relative;z-index:0}.hero h1 span:after{content:'';height:9px;background:var(--gold);position:absolute;left:3px;right:0;bottom:5px;z-index:-1;border-radius:50%}.lead{font-size:18px;line-height:1.7;color:var(--muted);margin:0 0 30px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-button{border:0;background:transparent;color:var(--green);padding:9px 0;font-size:15px;font-weight:600}.text-button:hover{text-decoration:underline}.hero-note{font-size:13px;color:var(--muted);margin-top:24px}.hero-visual{position:relative;padding-bottom:40px}.hero-photo{width:100%;aspect-ratio:1.03;background:var(--sage);border-radius:110px 10px 10px 10px;background-size:cover;background-position:center}.photo-label{position:absolute;bottom:67px;left:-24px;display:flex;align-items:center;gap:14px;background:var(--cream);border-radius:8px;padding:18px 23px;box-shadow:0 8px 35px #20302c12;font-size:15px;font-weight:600}.gold-circle{height:31px;width:31px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0}.image-caption{font-size:12px;letter-spacing:.4px;text-align:right;position:absolute;bottom:6px;right:0;color:var(--muted)}.service-strip{display:flex;justify-content:center;align-items:center;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 15px;font-size:12px;letter-spacing:2.5px;font-weight:600}.service-strip b{color:var(--gold)}.section{padding-top:95px;padding-bottom:100px}h2{font-family:Manrope,sans-serif;font-size:clamp(32px,3.2vw,44px);letter-spacing:-1.7px;line-height:1.22;font-weight:600;margin:0}h3{font-family:Manrope,sans-serif;line-height:1.3;letter-spacing:-.5px;font-weight:600;font-size:22px;margin:15px 0 10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading>p{max-width:320px;color:var(--muted);margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{border:1px solid var(--line);border-radius:10px;padding:27px 29px;display:flex;flex-direction:column;min-height:235px}.service-number{font-size:12px;letter-spacing:1px;color:var(--muted)}.service-card p{color:var(--muted);font-size:15px;margin:0 0 22px;max-width:260px}.service-card button{align-self:start;margin-top:auto;border:0;background:none;padding:0 0 4px;border-bottom:1px solid #9ba69b;font:inherit;font-size:14px;font-weight:600;color:var(--green)}.service-card:hover{background:#efeee5;border-color:#adb7a7}.difference{background:var(--green);color:var(--cream)}.difference .eyebrow{color:#dcb268}.difference-top{max-width:650px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.principle{border-top:1px solid #5b6a60;padding-top:25px}.principle p{color:#cbd3ca;font-size:16px;margin-bottom:0}.principle h3{font-size:21px;margin-top:0}.maintenance{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.maintenance-card{background:var(--sage);border-radius:12px;padding:40px}.maintenance-card h3{font-size:26px;margin:0 0 25px}.maintenance-card ul{list-style:none;padding:0;margin:0}.maintenance-card li{padding:15px 0;border-top:1px solid #cbd2c4;display:flex;gap:18px}.maintenance-card li span{font-size:12px;color:#5f705f;padding-top:3px}.maintenance-copy p:not(.eyebrow){color:var(--muted);margin:23px 0 28px}.review-section{padding-top:0}.review-card{margin-top:36px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:100px 1fr;gap:25px;padding:45px;background:#f0eee6}.quote-mark{font-family:Georgia,serif;font-size:100px;line-height:1;color:var(--gold)}.review-card h3{font-size:25px;margin:0 0 12px}.review-card p{max-width:630px;color:var(--muted);margin:0}.placeholder-label{display:inline-block;letter-spacing:1.7px;font-size:11px;font-weight:700;margin-top:23px}.area{background:#e8ebe2}.area-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.area-copy>p:not(.eyebrow){color:var(--muted);max-width:440px;margin-top:25px}.area-location{border-left:1px solid #bdc7b7;padding:18px 0 18px 60px}.area-location h3{font-size:35px;letter-spacing:-1.2px;margin:0}.area-location>p{color:var(--muted);margin-top:7px}.area-location small{display:block;font-size:14px;color:var(--muted);max-width:330px;margin:25px 0}.final-cta{text-align:center;padding:95px 20px}.final-cta .gold-circle{width:23px;height:23px;margin-bottom:24px}.final-cta h2{font-size:clamp(34px,4vw,53px)}.final-cta p{color:var(--muted);margin:20px 0 30px}.final-cta .actions{justify-content:center}footer{background:var(--green);color:var(--cream);padding:45px 5% 25px}.footer-top{max-width:1150px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top p{color:#bdc7bf;font-size:14px}.footer-links{display:flex;gap:25px;font-size:14px}.footer-bottom{max-width:1150px;margin:40px auto 0;border-top:1px solid #4d5e54;padding-top:23px;display:flex;justify-content:space-between;font-size:12px;color:#b8c3bb;gap:20px}dialog{border:0;border-radius:15px;background:var(--cream);color:var(--green);padding:40px;max-width:470px;width:calc(100% - 32px);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#14231ed9}dialog h2{font-size:30px;margin-top:18px}dialog p{color:var(--muted);margin:20px 0 28px}.dialog-close{position:absolute;right:18px;top:13px;font-size:25px;border:0;background:transparent;color:var(--green)}@media(min-width:1450px){header{padding-left:100px;padding-right:100px}}@media(max-width:900px){nav{gap:18px;font-size:13px}.hero{gap:25px}.hero h1{font-size:58px}.hero-photo{aspect-ratio:.85}.lead{font-size:16px}.photo-label{left:-12px;padding:14px;font-size:13px}.service-grid{grid-template-columns:repeat(2,1fr)}.maintenance,.area-inner{gap:40px}.principles{gap:30px}.wordmark{font-size:33px}.gold-dot:before{top:7px;width:6px;height:6px;left:2px}}@media(max-width:650px){.announcement{font-size:11px}.announcement span{display:block;margin:0}header{padding:22px 6%;gap:15px}nav{display:none}.wordmark{font-size:32px}.brand-sub{font-size:11px;letter-spacing:2.5px}header .small{font-size:12px;padding:11px 13px}.wrap{padding-left:6%;padding-right:6%}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:26px}.hero h1{font-size:59px;letter-spacing:-3px}.eyebrow{font-size:11px;letter-spacing:1.7px}.hero-copy .lead{font-size:17px}.hero-photo{aspect-ratio:1.18;border-top-left-radius:80px}.hero-visual{margin-top:0}.photo-label{left:-5px;bottom:61px;padding:14px 17px}.image-caption{font-size:10px}.hero-note{margin-bottom:0}.service-strip{gap:15px;flex-wrap:wrap;font-size:10px;letter-spacing:1.5px}.service-strip span:last-child,.service-strip b:last-of-type{display:none}.section{padding-top:62px;padding-bottom:62px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px;max-width:100%}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:0;padding:24px}.service-card p{max-width:none}.principles{grid-template-columns:1fr;gap:20px;margin-top:34px}.maintenance,.area-inner{grid-template-columns:1fr;gap:30px}.maintenance-card{padding:28px}.maintenance-copy{grid-row:1}.review-section{padding-top:0}.review-card{padding:28px;grid-template-columns:1fr;gap:0}.quote-mark{font-size:70px;height:60px}.area-location{border-left:0;border-top:1px solid #bdc7b7;padding:27px 0 0}.area-location h3{font-size:30px}.final-cta{padding:65px 6%}.footer-top{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap;gap:20px}.footer-bottom{flex-direction:column;margin-top:30px;gap:10px}.desktop{display:none}.actions{gap:20px}.button{padding:14px 22px}.review-card h3{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-photo{background-image:url('hero.png')}

/* Signature maintenance feature */
.maintenance-feature{background:var(--green);color:var(--cream);overflow:hidden}
.maintenance-feature-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-top:80px;padding-bottom:80px}
.maintenance-feature .eyebrow{color:#e3b861;font-size:11px;letter-spacing:1.8px;max-width:410px;line-height:1.8;margin-bottom:28px}
.maintenance-feature h2{font-size:clamp(46px,5.2vw,68px);line-height:1.08;letter-spacing:-2.8px;font-weight:500}
.maintenance-feature h2 span{color:#e4b45b}
.maintenance-intro{font-size:20px;color:var(--cream);margin:29px 0 14px}
.maintenance-description{color:#c7d1c8;max-width:425px;font-size:16px;line-height:1.8;margin:0 0 29px}
.maintenance-button{background:var(--gold);border-color:var(--gold);color:var(--green)}
.maintenance-button:hover{background:#e5ae4c;border-color:#e5ae4c}
.maintenance-footnote{font-size:12px;color:#b9c5bc;margin:21px 0 0;letter-spacing:.2px}
.maintenance-feature-visual{position:relative;margin:0;padding-bottom:35px}
.maintenance-feature-visual img{display:block;width:100%;height:490px;object-fit:cover;border-radius:9px 90px 9px 9px}
.maintenance-feature-visual figcaption{position:absolute;bottom:0;left:-30px;background:var(--cream);color:var(--green);padding:22px 25px;border-radius:9px;display:flex;align-items:center;gap:15px;font-size:15px;font-weight:600}
.maintenance-feature-visual .gold-circle{width:26px;height:26px}
.service-feature-link{align-self:start;margin-top:auto;padding:0 0 4px;border-bottom:1px solid #9ba69b;font-size:14px;font-weight:600}
.review-section{padding-top:95px}
nav{gap:24px}
@media(max-width:1000px){nav{gap:15px}.maintenance-feature-inner{gap:45px}.maintenance-feature-visual img{height:470px}}
@media(max-width:800px){nav a[href="#difference"]{display:none}.maintenance-feature-inner{gap:30px}.maintenance-feature h2{font-size:48px}.maintenance-feature-visual img{height:480px}.maintenance-feature-visual figcaption{left:-15px;padding:18px;font-size:13px}.maintenance-intro{font-size:18px}}
@media(max-width:650px){.maintenance-feature-inner{grid-template-columns:1fr;gap:40px;padding-top:57px;padding-bottom:52px}.maintenance-feature h2{font-size:54px;letter-spacing:-2.3px}.maintenance-feature .eyebrow{font-size:10px;letter-spacing:1.5px;max-width:300px}.maintenance-feature-visual img{height:365px;object-position:center 52%;border-top-right-radius:70px}.maintenance-feature-visual figcaption{left:-5px;bottom:6px;padding:17px 20px;font-size:14px}.maintenance-feature-visual{padding-bottom:29px}.maintenance-intro{font-size:19px;margin-top:26px}.maintenance-description{max-width:none}.review-section{padding-top:62px}}

/* Warm gold accents connect services to the Northwick wordmark. */
#services .services-eyebrow{display:flex;align-items:center;gap:13px}
.services-brand-dot{display:inline-block;width:23px;height:23px;background:var(--gold);border-radius:50%;flex-shrink:0}
.services-dotted-i{position:relative;display:inline-block}
.services-dotted-i:before{content:'';position:absolute;left:50%;transform:translateX(-50%);top:.18em;width:.17em;height:.17em;border-radius:50%;background:var(--gold)}
#services .service-card{background:#fbf8ef;border-top:3px solid var(--gold)}
#services .service-number{color:#94611c;font-weight:600}
#services .service-card:hover{background:#f7edda;border-color:#cfaa63}
#services .service-card button,#services .service-feature-link{border-bottom-color:var(--gold)}

/* One gold dot per wordmark; understated text-only call buttons. */
.wordmark .gold-dot{display:inline-block;letter-spacing:0;margin-right:-.055em;line-height:1}
.wordmark .gold-dot:before{width:.19em;height:.19em;top:.13em;left:50%;transform:translateX(-50%);background:var(--gold)}
.call-button{border:1px solid #abb5a9;border-radius:8px;padding:15px 22px;transition:background .2s,border-color .2s}
.call-button:hover{background:#eeeee3;border-color:var(--green);text-decoration:none}
.technician-section{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}
.technician-visual{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.technician-visual img{display:block;width:100%;height:510px;object-fit:cover;object-position:35% center;border-radius:90px 9px 9px 9px}
.technician-visual figcaption{color:#b8c5ba;font-size:11px;letter-spacing:.4px;margin-top:12px}
.technician-copy h2{font-size:clamp(30px,3vw,40px)}
.technician-principles{margin-top:30px}
.technician-principles .principle{padding-top:17px;margin-top:20px}
.technician-principles h3{font-size:19px;margin:0 0 7px}
.technician-principles p{font-size:15px;line-height:1.7;margin:0}
@media(max-width:900px){.technician-section{gap:35px}.technician-visual img{height:540px}}
@media(max-width:650px){.technician-section{grid-template-columns:1fr;gap:32px}.technician-visual img{height:auto;aspect-ratio:1.1;object-position:32% center;border-top-left-radius:65px}.technician-copy h2{font-size:34px}.call-button{padding:14px 20px}.technician-copy .eyebrow{margin-bottom:20px}}
