@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/InstrumentSans-Variable.woff2") format("woff2");font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Libre Caslon Display";src:url("/assets/fonts/LibreCaslonDisplay-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("/assets/fonts/LibreCaslonText-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#151a1f;--paper:#f7f7f3;--white:#fff;--gold:#d79a00;--gold-dark:#8a5d00;--gold-light:#fff3cf;--line:#d9d9d2;--muted:#626c74;--font-body:"Instrument Sans",Arial,sans-serif;--font-display:"Libre Caslon Display",Georgia,serif;--font-heading:"Libre Caslon Text",Georgia,serif;--motion-reveal:650ms;--motion-line:720ms;--ease-premium:cubic-bezier(.22,1,.36,1);--shell:min(1160px,calc(100% - 40px));--shadow:0 18px 50px rgba(21,26,31,.12),0 3px 12px rgba(21,26,31,.06)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:10px 14px;background:var(--gold);color:#111;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,12,14,.9);color:var(--white);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}
.site-header::before{content:"";position:absolute;inset:0;background:#0a0c0e;opacity:0;transition:opacity 280ms ease;pointer-events:none}
.site-header.is-condensed::before{opacity:1}
.header-inner{position:relative;z-index:1;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand-logo-mark{display:block;width:210px;height:auto}
.footer-brand .brand-logo-mark{width:228px}
.header-inner>.brand,.site-nav{transition:transform 320ms cubic-bezier(.22,1,.36,1)}
.site-header.is-condensed .header-inner>.brand{transform:translateY(-1px) scale(.94)}
.site-header.is-condensed .site-nav{transform:translateY(-1px) scale(.96)}
.scroll-progress{position:absolute;z-index:2;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(var(--scroll-progress,0));transform-origin:left center}
.site-nav{display:flex;align-items:center;gap:25px}
.site-nav a{text-decoration:none;font-size:14px;font-weight:500}
.site-nav a:not(.nav-cta){position:relative}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold);opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity 240ms ease,transform 320ms cubic-bezier(.22,1,.36,1)}
.site-nav a:not(.nav-cta):hover::after,.site-nav a:not(.nav-cta):focus-visible::after,.site-nav a[aria-current="page"]::after{opacity:1;transform:scaleX(1)}
.site-nav a:hover,.site-nav a:focus-visible{color:#ffd15a}
.site-nav a[aria-current="page"]{color:#ffd15a}
.nav-cta{border:1px solid var(--gold);padding:9px 13px}
.menu-button{display:none;min-width:48px;min-height:44px;background:transparent;color:#fff;border:1px solid #555;padding:8px 10px}
.hero{position:relative;min-height:min(680px,78vh);display:grid;align-items:end;background:#101418;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;background:#101418 url("/assets/projects/kitchen-main.jpg") center 52%/cover no-repeat}
.hero-sequence-ready .hero-media,.hero-sequence-ready .hero-interior-showcase,.hero-sequence-ready .hero-area-showcase,.hero-sequence-ready .hero-contact-showcase{transform:scale(1.035);transition:transform 1200ms var(--ease-premium)}
.hero-sequence-ready.is-visible .hero-media,.hero-sequence-ready.is-visible .hero-interior-showcase,.hero-sequence-ready.is-visible .hero-area-showcase,.hero-sequence-ready.is-visible .hero-contact-showcase{transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,1) 0%,rgba(5,7,9,.98) 58%,rgba(5,7,9,.68) 100%)}
.hero-content{position:relative;padding-block:110px 74px;max-width:1160px}
.hero-sequence-ready .hero-content>*{opacity:0;transform:translateY(18px);transition:opacity var(--motion-reveal) var(--ease-premium),transform var(--motion-reveal) var(--ease-premium)}
.hero-sequence-ready.is-visible .hero-content>*{opacity:1;transform:translateY(0)}
.hero-sequence-ready .hero-content>:nth-child(1){transition-delay:60ms}
.hero-sequence-ready .hero-content>:nth-child(2){transition-delay:125ms}
.hero-sequence-ready .hero-content>:nth-child(3){transition-delay:190ms}
.hero-sequence-ready .hero-content>:nth-child(4){transition-delay:255ms}
.hero-sequence-ready .hero-content>:nth-child(5){transition-delay:320ms}
.eyebrow{margin:0 0 8px;color:var(--gold-dark);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0}
.hero .eyebrow,.dark .eyebrow{color:var(--gold)}
.hero h1{max-width:900px;margin:0;font-family:var(--font-display);font-size:clamp(42px,5.3vw,68px);line-height:1.04;font-weight:400;letter-spacing:0}
.hero-copy{max-width:680px;margin:22px 0 28px;font-size:19px;color:#eef0f1}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.button{position:relative;display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:11px 18px;border:1px solid transparent;text-decoration:none;font-weight:600;cursor:pointer;transition:transform 260ms cubic-bezier(.22,1,.36,1)}
.button::after{content:"";position:absolute;inset:-4px;border:1px solid var(--gold);opacity:0;transform:scale(.98);pointer-events:none;transition:opacity 220ms ease,transform 300ms cubic-bezier(.22,1,.36,1)}
.button:hover::after,.button:focus-visible::after{opacity:.78;transform:scale(1)}
.button.primary{background:var(--gold);color:#111}
.button.secondary{background:rgba(10,12,14,.55);border-color:#fff;color:#fff}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button:disabled{opacity:.65;cursor:wait;transform:none}
.button:focus-visible,.icon-link:focus-visible,.site-nav a:focus-visible,.area-list a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffd15a;outline-offset:3px}
.trust-line{margin:22px 0 0;color:#d4d8db;font-size:14px}
.hero-home{min-height:min(720px,calc(100vh - 76px));align-items:center;background:#0a0c0e}
.hero-home .hero-showcase{position:absolute;inset:0 0 0 47%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(190px,.85fr);gap:5px;background:#161a1d}
.hero-showcase img{width:100%;height:100%;display:block;object-fit:cover}
.hero-showcase-main{object-position:center 47%}
.hero-showcase-pair{display:grid;grid-template-rows:1fr 1fr;gap:5px;min-width:0}
.hero-showcase-pair img:first-child{object-position:center 54%}
.hero-showcase-pair img:last-child{object-position:center 48%}
.hero-home .hero-overlay{background:linear-gradient(90deg,#080a0c 0%,#080a0c 37%,rgba(8,10,12,.94) 47%,rgba(8,10,12,.18) 67%,rgba(8,10,12,0) 100%)}
.hero-home .hero-content{padding-block:88px 66px}
.hero-home .hero-content>*{position:relative;z-index:1}
.hero-home h1{max-width:700px;font-size:clamp(48px,5.15vw,72px);line-height:1.01}
.hero-home .hero-copy{max-width:610px;color:#e2e5e7}
.hero-proof{display:flex;flex-wrap:wrap;gap:0;margin:30px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.24);max-width:640px;list-style:none;color:#d4d8db;font-size:13px;text-transform:uppercase}
.hero-proof li{display:flex;align-items:center}
.hero-proof li:not(:last-child)::after{content:"";width:3px;height:3px;margin:0 14px;background:var(--gold)}
.hero-services{align-items:center;background:#080a0c}
.hero-services .hero-interior-showcase{position:absolute;inset:0 0 0 50%;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(190px,.82fr);gap:5px;background:#161a1d;transform-origin:right center}
.hero-interior-showcase img{width:100%;height:100%;display:block;object-fit:cover}
.hero-services .hero-interior-showcase-main{object-position:center 48%}
.hero-interior-showcase-pair{display:grid;grid-template-rows:.78fr 1.22fr;gap:5px;min-width:0}
.hero-interior-showcase-pair img:first-child{object-position:center 47%}
.hero-interior-showcase-pair img:last-child{object-position:center 48%}
.hero-services .hero-overlay{background:linear-gradient(90deg,#080a0c 0%,#080a0c 39%,rgba(8,10,12,.96) 49%,rgba(8,10,12,.24) 68%,rgba(8,10,12,0) 100%)}
.hero-services .hero-content{padding-block:96px 72px}
.hero-services .hero-content>*{position:relative;z-index:1}
.hero-services h1{max-width:690px}
.hero-services .hero-copy{max-width:610px}
.hero-areas{align-items:center;background:#080a0c}
.hero-areas .hero-area-showcase{position:absolute;inset:0 0 0 48%;overflow:hidden;background:#161a1d;transform-origin:right center}
.hero-area-exterior{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%}
.hero-area-interiors{position:absolute;right:0;bottom:0;width:54%;height:38%;display:grid;grid-template-columns:1fr 1fr;gap:5px;border-top:5px solid #080a0c;border-left:5px solid #080a0c;background:#161a1d}
.hero-area-interiors img{width:100%;height:100%;display:block;object-fit:cover}
.hero-area-interiors img:first-child{object-position:center 53%}
.hero-area-interiors img:last-child{object-position:center 48%}
.hero-areas .hero-overlay{background:linear-gradient(90deg,#080a0c 0%,#080a0c 38%,rgba(8,10,12,.97) 48%,rgba(8,10,12,.35) 67%,rgba(8,10,12,0) 100%)}
.hero-areas .hero-content{padding-block:96px 72px}
.hero-areas .hero-content>*{position:relative;z-index:1}
.hero-areas h1{max-width:720px}
.hero-areas .hero-copy{max-width:620px}
.hero-contact{align-items:center;background:#080a0c}
.hero-contact .hero-contact-showcase{position:absolute;inset:0 52% 0 0;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(180px,.82fr);gap:5px;background:#161a1d;transform-origin:left center}
.hero-contact-showcase img{width:100%;height:100%;display:block;object-fit:cover}
.hero-contact .hero-contact-showcase-main{object-position:center 52%}
.hero-contact-showcase-pair{display:grid;grid-template-rows:1fr 1fr;gap:5px;min-width:0}
.hero-contact-showcase-pair img:first-child{object-position:center 48%}
.hero-contact-showcase-pair img:last-child{object-position:center 48%}
.hero-contact .hero-overlay{background:linear-gradient(90deg,rgba(8,10,12,0) 0%,rgba(8,10,12,.2) 31%,rgba(8,10,12,.97) 51%,#080a0c 62%,#080a0c 100%)}
.hero-contact .hero-content{width:var(--shell);padding-block:96px 72px;padding-left:min(55%,650px)}
.hero-contact .hero-content>*{position:relative;z-index:1}
.hero-contact h1{max-width:600px;font-size:clamp(42px,4.6vw,64px)}
.hero-contact .hero-copy{max-width:560px}
.reveal-ready .scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--motion-reveal) var(--ease-premium),transform var(--motion-reveal) var(--ease-premium);transition-delay:calc(var(--reveal-order,0) * 65ms);will-change:opacity,transform}
.reveal-ready .scroll-reveal.is-visible{opacity:1;transform:translateY(0);will-change:auto}
.band{padding-block:88px}
.band.light{background:var(--paper)}
.band.dark{background:#11161a;color:#fff}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.split h2,.section-head h2,.form-heading h2,.band h2{margin:0;font-family:var(--font-heading);font-size:clamp(30px,4vw,50px);line-height:1.12;font-weight:700;letter-spacing:0}
.split>p{margin:0;color:var(--muted);font-size:18px}
.dark .split>p{color:#c9ced2}
.section-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:42px}
.section-head h2{grid-column:1/-1}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.service-row h3{font-family:var(--font-heading);font-size:30px;font-weight:700;margin:0 0 5px}
.service-row p{margin:0;max-width:680px;color:var(--muted)}
.home-services-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:58px;align-items:start}
.service-preview-section .service-row{position:relative;padding-left:18px;border-left:3px solid transparent;border-bottom:0}
.service-preview-section .service-row.is-active{border-left-color:var(--gold)}
.service-preview-section .service-row.is-active h3{color:var(--gold-dark)}
.service-row::after,.faq details::before,.area-list a::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);transform:scaleX(1);transform-origin:left center}
.service-row::after,.area-list a::after{bottom:0}
.faq details{position:relative;border-top:0}
.faq details::before{top:0}
.reveal-ready .service-row,.reveal-ready .area-list a{border-bottom-color:transparent}
.reveal-ready .service-row::after,.reveal-ready .faq details::before,.reveal-ready .area-list a::after{transform:scaleX(0);transition:transform var(--motion-line) var(--ease-premium);transition-delay:calc(80ms + var(--reveal-order,0) * 65ms)}
.reveal-ready .service-row.is-visible::after,.reveal-ready .faq details.is-visible::before,.reveal-ready .area-list a.is-visible::after{transform:scaleX(1)}
.home-service-preview{position:absolute;top:0;right:0;width:calc((100% - 58px) * .46);margin:0;background:#101418;color:#fff;box-shadow:var(--shadow);transform:translateY(var(--service-preview-y,0));transition:transform 500ms cubic-bezier(.22,1,.36,1)}
.home-service-preview-media{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:#101418}
.home-service-preview img{width:100%;height:100%;display:block;object-fit:contain;opacity:1;transition:opacity 180ms ease}
.home-service-preview img.is-changing{opacity:.18}
.home-service-preview figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:14px 18px;border-top:1px solid #394047}
.home-service-preview figcaption span{color:#aeb5ba;font-size:11px;text-transform:uppercase}
.home-service-preview figcaption strong{font-family:var(--font-heading);font-size:17px;font-weight:700;text-align:right}
.icon-link{position:relative;font-weight:600;color:#735100;text-decoration:none;white-space:nowrap}
.icon-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity 220ms ease,transform 320ms cubic-bezier(.22,1,.36,1)}
.icon-link span{display:inline-block;transition:transform 300ms cubic-bezier(.22,1,.36,1)}
.icon-link:hover::after,.icon-link:focus-visible::after{opacity:.75;transform:scaleX(1)}
.icon-link:hover span,.icon-link:focus-visible span{transform:translateX(5px)}
.proof-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.proof-grid h2{font-size:46px}
.proof-media{aspect-ratio:16/10;border:1px solid #394047;box-shadow:var(--shadow);overflow:hidden}
.proof-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%}
.proof-media img.project-depth-image{transform:translate3d(0,var(--project-depth-y,0),0) scale(1.05);will-change:transform}
.faq{max-width:900px}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:18px}
.faq p{color:var(--muted)}
.lead-form{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);padding:clamp(24px,5vw,52px);box-shadow:var(--shadow)}
.form-heading{margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label,.consent{position:relative;display:grid;gap:6px;font-weight:600}
.form-grid .full{grid-column:1/-1}
.form-grid label>span{transition:color 220ms ease}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #aeb4b7;border-bottom:2px solid #7b848a;background:#fff;padding:11px 12px;border-radius:0;transition:border-color 220ms ease,background-color 220ms ease,box-shadow 280ms var(--ease-premium)}
.form-grid label.is-field-active>span{color:var(--gold-dark)}
.form-grid label.is-field-active input,.form-grid label.is-field-active select,.form-grid label.is-field-active textarea{border-color:var(--gold-dark);background:#fffdf7;box-shadow:0 10px 24px rgba(21,26,31,.08)}
.form-grid label.is-field-complete:not(.is-field-active)::after{content:"";position:absolute;right:10px;top:31px;width:7px;height:12px;border-right:2px solid var(--gold-dark);border-bottom:2px solid var(--gold-dark);transform:rotate(45deg);pointer-events:none}
.form-grid label.full.is-field-complete:not(.is-field-active)::after{right:14px}
.form-grid label.full:has(textarea).is-field-complete:not(.is-field-active)::after{top:34px}
.consent{display:flex;margin:22px 0;font-size:14px;font-weight:400}
.consent input{width:18px;height:18px;flex:0 0 auto}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:26px;margin:12px 0 0}
.service-area-module{background:#eef0ec}
.service-area-heading{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:end}
.service-area-heading>p:last-child{grid-column:2;grid-row:1/3;margin:0;color:var(--muted);font-size:17px}
.service-area-tool-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);min-height:520px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.service-map-panel{position:relative;min-width:0;border-right:1px solid var(--line)}
.service-map{position:relative;width:100%;height:100%;min-height:520px;background:#dfe5df;isolation:isolate}
.service-map .leaflet-pane,.service-map .leaflet-control{z-index:1}
.service-map .leaflet-top,.service-map .leaflet-bottom{z-index:2}
.service-map-fallback{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted);z-index:0}
.service-map.is-ready .service-map-fallback{display:none}
.service-map-legend{position:absolute;left:14px;bottom:28px;z-index:3;display:flex;align-items:center;gap:9px;max-width:260px;padding:10px 12px;background:rgba(255,255,255,.94);border:1px solid #b8bdb8;box-shadow:0 6px 18px rgba(21,26,31,.12);color:#23292d;font-size:12px;pointer-events:none}
.service-map-legend span{width:18px;height:18px;border:2px solid var(--gold-dark);background:rgba(215,154,0,.2);border-radius:50%;flex:0 0 auto}
.service-map-reset{position:absolute;right:14px;top:14px;z-index:3;min-height:42px;background:#fff;border-color:#555;color:#111;padding:8px 12px;width:auto}
.service-checker{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,48px);background:#101418;color:#fff}
.service-checker h3,.county-directory-heading h3{margin:0;font-family:var(--font-heading);font-size:clamp(28px,3vw,38px);line-height:1.1}
.service-checker>p:not(.eyebrow):not(.service-area-caveat){color:#c7cdd1}
.service-checker-form{margin-top:22px}
.service-checker-form label{display:block;margin-bottom:7px;font-weight:600}
.service-checker-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.service-checker-controls input{min-width:0;width:100%;min-height:48px;border:1px solid #aeb4b7;background:#fff;color:#111;padding:10px 12px}
.service-checker-controls .button{min-width:86px}
.service-checker-result{display:none;margin-top:18px;padding:14px 16px;border-left:4px solid currentColor;background:#fff;color:#111;font-weight:600}
.service-checker-result.is-visible{display:block}
.service-checker-result.is-yes{border-color:#26734d;color:#164c32;background:#eaf6ef}
.service-checker-result.is-no{border-color:#a23a2d;color:#76271f;background:#fff0ed}
.service-checker-result.is-info{border-color:#7b848a;color:#344047;background:#eef1f2}
.service-area-caveat{margin:18px 0 0;color:#9ea7ad;font-size:12px}
.county-directory{margin-top:38px;border-top:1px solid #bfc3bd}
.county-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:30px 0 22px}
.county-directory details{border-top:1px solid #bfc3bd}
.county-directory details:last-child{border-bottom:1px solid #bfc3bd}
.county-directory summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:66px;padding:12px 4px;cursor:pointer;list-style:none}
.county-directory summary::-webkit-details-marker{display:none}
.county-directory summary span:first-child{font-family:var(--font-heading);font-size:24px;font-weight:700}
.county-directory summary span:last-child{color:var(--muted);font-size:13px;text-align:right}
.county-directory summary::after{content:"+";font-size:26px;line-height:1;color:var(--gold-dark)}
.county-directory details[open] summary::after{content:"−"}
.town-chip-list{display:flex;flex-wrap:wrap;gap:9px;padding:4px 4px 24px}
.town-chip{min-height:42px;padding:8px 13px;border:1px solid #8e9690;background:#fff;color:#20262a;font:inherit;font-weight:600;cursor:pointer;transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,transform 260ms var(--ease-premium)}
.town-chip:hover,.town-chip:focus-visible{background:#101418;border-color:#101418;color:#fff;transform:translateY(-2px)}
.area-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.area-list a{position:relative;display:flex;justify-content:space-between;padding:28px 8px 28px 14px;border-bottom:1px solid var(--line);font-family:var(--font-heading);font-size:30px;font-weight:700;text-decoration:none}
.area-list a::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:center;transition:transform 320ms var(--ease-premium)}
.area-list a span:last-child{transition:transform 320ms var(--ease-premium)}
.area-list a:hover::before,.area-list a:focus-visible::before{transform:scaleY(1)}
.area-list a:hover span:first-child,.area-list a:focus-visible span:first-child{color:var(--gold-dark)}
.area-list a:hover span:last-child,.area-list a:focus-visible span:last-child{transform:translateX(6px)}
.area-list a:nth-child(odd){margin-right:30px}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:58px 38px}
.project{border-bottom:1px solid var(--line);padding-bottom:32px}
.project h2{font-size:32px}
.project-image{aspect-ratio:4/3;margin-bottom:22px;overflow:hidden;background:#ecece7}
.case-study-card .project-image{display:block;aspect-ratio:16/9;background:#15191c}
.case-study-card .project-image img{width:100%;height:100%;display:block;object-fit:contain}
.case-study-card h2 a{text-decoration:none}
.case-study-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.case-study-meta span{padding:7px 10px;border:1px solid #53595d;color:#dfe3e5;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.case-study-panels{display:grid;gap:26px}
.case-study-panels figure{margin:0}
.case-study-panels picture,.case-study-panels img{display:block;width:100%}
.case-study-panels img{height:auto;border:1px solid var(--line);background:#15191c}
.case-study-panels figcaption{padding-top:9px;color:var(--muted);font-size:12px}
.case-study-source{margin-top:18px;padding-top:18px;border-top:1px solid #444b50;color:#aeb5ba;font-size:13px}
.center-action{display:flex;justify-content:center;margin-top:38px}
.project-image img{width:100%;height:100%;display:block;object-fit:cover}
.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article-list article{padding:26px;border:1px solid var(--line);border-top:4px solid var(--gold)}
.article-list h2{font-size:26px}
.muted{color:var(--muted);font-size:14px}
.contact-layout{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:start}
.contact-layout aside a{display:inline-flex;min-height:44px;align-items:center;overflow-wrap:anywhere}
.contact-layout .lead-form{width:100%;margin:0;transition:border-color 320ms ease,box-shadow 420ms var(--ease-premium)}
.contact-layout .lead-form:focus-within{border-color:#bbb39d;box-shadow:0 24px 65px rgba(21,26,31,.16),0 3px 12px rgba(21,26,31,.06)}
.contact-guide{position:sticky;top:110px;background:#101418;color:#fff;padding:34px 30px;border-top:4px solid var(--gold);box-shadow:var(--shadow)}
.contact-guide h2{font-size:34px;margin-bottom:24px}
.contact-guide a{overflow-wrap:anywhere}
.contact-direct{display:grid;border-top:1px solid #394047}
.contact-layout .contact-direct a{display:grid;gap:2px;min-height:68px;align-content:center;border-bottom:1px solid #394047;text-decoration:none;transition:padding-left 280ms var(--ease-premium),color 220ms ease}
.contact-direct a span{color:#aeb5ba;font-size:11px;text-transform:uppercase}
.contact-direct a strong{font-size:15px;font-weight:600}
.contact-direct a:hover,.contact-direct a:focus-visible{padding-left:8px;color:#ffd15a}
.contact-license{margin:18px 0 28px;color:#aeb5ba;font-size:13px}
.contact-stages{display:grid;gap:0;margin:0 0 24px;padding:0;list-style:none;border-top:1px solid #394047}
.contact-stages li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;min-height:52px;border-bottom:1px solid #394047;color:#818a90;transition:color 260ms ease,padding-left 340ms var(--ease-premium)}
.contact-stages li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:center;transition:transform 340ms var(--ease-premium)}
.contact-stages li span{font-size:11px}
.contact-stages li strong{font-size:14px}
.contact-layout[data-active-contact-stage="details"] [data-contact-stage-marker="details"],.contact-layout[data-active-contact-stage="project"] [data-contact-stage-marker="project"],.contact-layout[data-active-contact-stage="consent"] [data-contact-stage-marker="consent"]{padding-left:10px;color:#fff}
.contact-layout[data-active-contact-stage="details"] [data-contact-stage-marker="details"]::before,.contact-layout[data-active-contact-stage="project"] [data-contact-stage-marker="project"]::before,.contact-layout[data-active-contact-stage="consent"] [data-contact-stage-marker="consent"]::before{transform:scaleY(1)}
.contact-reference{display:grid;gap:5px}
.contact-reference a{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;color:#e8eaeb;font-size:13px;text-decoration:none}
.contact-reference a span{transition:transform 280ms var(--ease-premium)}
.contact-reference a:hover,.contact-reference a:focus-visible{color:#ffd15a}
.contact-reference a:hover span,.contact-reference a:focus-visible span{transform:translateX(5px)}
.contact-layout .form-status{border-left:3px solid transparent;padding-left:0;transition:border-color 220ms ease,padding-left 280ms var(--ease-premium),color 220ms ease}
.contact-layout .lead-form.is-sending .form-status,.contact-layout .lead-form.is-success .form-status,.contact-layout .lead-form.is-error .form-status{padding-left:12px}
.contact-layout .lead-form.is-sending .form-status{border-color:#7b848a}
.contact-layout .lead-form.is-success .form-status{border-color:var(--gold-dark);color:#594000}
.contact-layout .lead-form.is-error .form-status{border-color:#a23a2d;color:#7b2b21}
.site-footer{background:#0a0c0e;color:#e8eaeb;padding:72px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:70px}
.footer-grid h2{font-size:15px;color:var(--gold)}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-grid a{text-decoration:none}
.footer-grid p{margin:0;color:#abb2b8}
.legal{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #30363a;margin-top:60px;padding-top:22px;color:#8d969d;font-size:13px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:980px){
.header-inner{min-height:64px}
.header-inner>.brand .brand-logo-mark{width:180px}
.menu-button{display:block}
.site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:#0a0c0e;padding:20px;flex-direction:column;align-items:stretch}
.site-header.is-condensed .site-nav{transform:none}
.site-nav[data-open]{display:flex}
.site-nav a{display:flex;min-height:44px;align-items:center;padding:8px}
}

@media(max-width:760px){:root{--shell:min(calc(100% - 28px),680px)}
body{font-size:15px}
.header-inner{min-height:64px}
.brand-logo-mark{width:159px}
.footer-brand .brand-logo-mark{width:186px}
.menu-button{display:block}
.site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:#0a0c0e;padding:20px;flex-direction:column;align-items:stretch}
.site-header.is-condensed .site-nav{transform:none}
.site-nav[data-open]{display:flex}
.site-nav a{display:flex;min-height:44px;align-items:center;padding:8px}
.hero{min-height:680px}
.hero-media{background-position:center 42%}
.hero-overlay{background:linear-gradient(0deg,rgba(5,7,9,1) 0%,rgba(5,7,9,.98) 72%,rgba(5,7,9,.86) 100%)}
.hero-content{padding-block:215px 50px}
.hero h1{font-size:43px}
.hero-copy{font-size:17px}
.actions{display:grid}
.button{width:100%}
.band{padding-block:62px}
.split,.proof-grid,.contact-layout{grid-template-columns:1fr;gap:34px}
.section-head{display:block}
.service-row{grid-template-columns:1fr;gap:18px}
.service-row h3{font-size:26px}
.home-services-layout{display:block}
.service-preview-section .service-row{padding-left:0;border-left:0}
.home-service-preview{display:none}
.icon-link{white-space:normal}
.proof-grid h2{font-size:35px}
.form-grid{grid-template-columns:1fr}
.form-grid .full{grid-column:auto}
.area-list{grid-template-columns:1fr}
.service-area-heading{display:block}
.service-area-heading>p:last-child{margin-top:18px}
.service-area-tool-grid{grid-template-columns:1fr;min-height:0}
.service-map-panel{border-right:0;border-bottom:1px solid var(--line)}
.service-map{height:430px;min-height:430px}
.service-checker{padding:30px 20px}
.service-checker-controls{grid-template-columns:1fr}
.service-checker-controls .button{width:100%}
.county-directory-heading{display:block}
.county-directory-heading h3{margin-top:5px}
.county-directory summary{align-items:flex-start;flex-wrap:wrap;gap:5px 16px}
.county-directory summary span:last-child{width:calc(100% - 38px);text-align:left}
.county-directory summary::after{position:absolute;right:18px}
.county-directory summary{position:relative;padding-right:46px}
.area-list a:nth-child(odd){margin-right:0}
.project-grid,.article-list{grid-template-columns:1fr}
.contact-layout aside{position:static}
.contact-guide{padding:28px 22px}
.contact-guide h2{font-size:30px}
.footer-grid{grid-template-columns:1fr;gap:36px}
.footer-grid a{display:flex;min-height:44px;align-items:center}
.legal{flex-direction:column}
.lead-form{padding:24px 18px}
.hero-home{display:block;min-height:0;background:#080a0c}
.hero-home .hero-showcase{position:relative;inset:auto;height:300px;grid-template-columns:1.35fr .85fr}
.hero-home .hero-overlay{display:none}
.hero-home .hero-content{padding-block:46px 48px}
.hero-home h1{font-size:37px;line-height:1.02}
.hero-home .hero-copy{margin-block:18px 24px}
.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:26px;padding-top:18px;font-size:11px}
.hero-proof li:not(:last-child)::after{display:none}
.hero-services{display:block;min-height:0}
.hero-services .hero-interior-showcase{position:relative;inset:auto;height:300px;grid-template-columns:1.3fr .7fr}
.hero-services .hero-overlay{display:none}
.hero-services .hero-content{padding-block:44px 48px}
.hero-services h1{font-size:37px;line-height:1.02}
.hero-services .hero-copy{margin-block:18px 24px}
.hero-areas{display:block;min-height:0}
.hero-areas .hero-area-showcase{position:relative;inset:auto;height:320px;display:block}
.hero-areas .hero-area-exterior{height:215px}
.hero-areas .hero-area-interiors{position:static;width:auto;height:105px;border-top:5px solid #080a0c;border-left:0}
.hero-areas .hero-overlay{display:none}
.hero-areas .hero-content{padding-block:44px 48px}
.hero-areas h1{font-size:37px;line-height:1.02}
.hero-areas .hero-copy{margin-block:18px 24px}
.hero-contact{display:block;min-height:0}
.hero-contact .hero-contact-showcase{position:relative;inset:auto;height:300px;grid-template-columns:1.3fr .7fr}
.hero-contact .hero-overlay{display:none}
.hero-contact .hero-content{width:var(--shell);padding:44px 0 48px}
.hero-contact h1{font-size:37px;line-height:1.02}
.hero-contact .hero-copy{margin-block:18px 24px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
.button::after,.icon-link::after,.icon-link span,.site-nav a:not(.nav-cta)::after{transition:none}
.form-grid label>span,.form-grid input,.form-grid select,.form-grid textarea,.contact-layout .lead-form,.contact-direct a,.contact-stages li,.contact-stages li::before,.contact-reference a span,.contact-layout .form-status{transition:none}
.town-chip{transition:none}
.reveal-ready .scroll-reveal{opacity:1;transform:none;transition:none}
.reveal-ready .service-row::after,.reveal-ready .faq details::before,.reveal-ready .area-list a::after{transform:scaleX(1);transition:none}
.hero-sequence-ready .hero-media,.hero-sequence-ready .hero-content>*{opacity:1;transform:none;transition:none}
.area-list a::before,.area-list a span:last-child{transition:none}
.proof-media img.project-depth-image{transform:none;will-change:auto}
.site-header::before{transition:none}
.site-header.is-condensed .header-inner>.brand,.site-header.is-condensed .site-nav{transform:none}
}
