:root{--paper:#ecebe5;--ink:#222622;--muted:#6a6d65;--line:#c3c5ba;--accent:#d5e771;--dark:#222921;--gutter:clamp(22px,4.5vw,90px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),summary{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #657a12;outline-offset:6px}img{max-width:100%;display:block}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.055em}p{line-height:1.6}.eyebrow,.micro,.card-type,.project-number,.service-no,.process-number,.contact-location,.form-note,footer small{font:11px/1.5 'Courier New',monospace;letter-spacing:.07em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;flex-shrink:0}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:16px;z-index:100}.skip:focus{top:0}.header{height:112px;padding:0 var(--gutter);display:flex;align-items:center;border-bottom:1px solid var(--line);gap:40px;position:relative;z-index:12;background:var(--paper)}.brand{margin-right:auto}.logo-window{display:block;width:158px;height:76px;position:relative;overflow:hidden;mix-blend-mode:multiply}.logo-window img{width:245px;max-width:none;position:absolute;left:-43px;top:-60px}.desktop-nav{display:flex;gap:35px;font-size:13px}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{opacity:.55}.header-cta{display:flex;justify-content:space-between;gap:42px;align-items:center;font-size:13px;padding:15px 21px;background:var(--ink);color:var(--paper)}.header-cta span{font-size:20px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{display:grid;grid-template-columns:.88fr 1.12fr;padding:44px var(--gutter) 0;gap:38px;min-height:670px}.hero-copy{display:flex;flex-direction:column;padding-top:12px}.hero h1{font-size:clamp(66px,6.5vw,120px);line-height:.98;margin:38px 0 35px;letter-spacing:-.07em}.hero h1>span{color:#73786b}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-bottom:52px;font-size:16px}.circle-link{border:1px solid var(--line);width:53px;height:53px;display:grid;place-items:center;border-radius:50%;font-size:24px;transition:background .2s}.circle-link:hover{background:var(--accent)}.hero-visual{min-width:0}.hero-photo{background:#d8d8ca;position:relative;width:100%;padding:0;overflow:hidden;display:block;height:550px}.hero-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.hero-photo:hover>img{transform:scale(1.025)}.photo-open{position:absolute;bottom:19px;right:19px;background:var(--paper);padding:11px 16px;font-size:12px;display:flex;gap:32px;align-items:center}.photo-open>span{font-size:20px}.hero-caption{display:flex;justify-content:space-between;gap:20px;padding:18px 0}.micro{font-size:10px;color:var(--muted)}.hero-caption p{font-size:13px;margin-top:4px}.hero-controls{display:flex;gap:12px;align-items:center}.hero-controls button{font:11px 'Courier New',monospace;background:none;padding:12px 1px;color:#8b8e84;border-bottom:1px solid transparent}.hero-controls button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.section-pad{padding:110px var(--gutter)}.intro{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;margin-top:50px;border-top:1px solid var(--line)}h2{font-size:clamp(38px,4vw,66px);line-height:1.06}.intro>div{max-width:770px}.intro>div>p{max-width:570px;margin:30px 0;color:var(--muted);font-size:16px}.text-link{font-size:13px;display:inline-flex;gap:65px;border-bottom:1px solid var(--ink);padding-bottom:11px}.text-link span{font-size:20px}.work{padding-top:36px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-top h2{margin-top:25px}.section-top>p{font-size:14px;color:var(--muted);padding-bottom:5px}.filter-row{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:45px 0 35px}.filter-row button{padding:16px 0;background:none;font-size:12px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.filter-row button.active{color:var(--ink);border-bottom-color:var(--ink)}.filter-row button>span{font-size:9px;margin-left:5px;vertical-align:super}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:44px 30px}.project-card{text-align:left;background:none;padding:0;min-width:0}.project-card.large{grid-column:span 7}.project-card.narrow{grid-column:span 5}.project-card[hidden]{display:none}.project-grid.filtered .project-card{grid-column:span 6}.image-wrap{display:block;position:relative;height:450px;overflow:hidden;background:#d4d4c9}.image-wrap img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.project-card[data-project=partition] .image-wrap img{object-position:48% center}.project-card[data-project=clifton] .image-wrap img{object-position:center 39%}.project-card:hover img{transform:scale(1.035)}.image-arrow{display:grid;place-items:center;background:var(--paper);width:43px;height:43px;position:absolute;bottom:16px;right:16px;font-size:25px;transition:background .2s}.project-card:hover .image-arrow{background:var(--accent)}.project-number{position:absolute;top:15px;left:15px;background:var(--paper);padding:5px 8px;font-size:10px}.card-meta{display:flex;justify-content:space-between;gap:10px;padding-top:19px;align-items:flex-start}.card-meta strong{font-weight:400;display:block;font-size:23px;letter-spacing:-.04em}.card-meta>span>span{display:block;color:var(--muted);font-size:12px;margin-top:7px}.card-type{font-size:9px;color:var(--muted);padding-top:7px}.work-foot{border-top:1px solid var(--line);margin-top:50px;padding-top:25px;color:var(--muted);font-size:13px}.work-foot a{color:var(--ink);margin-left:8px}.services{background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.service-intro h2{margin:35px 0}.service-intro>p:last-child{max-width:300px;color:#b3b9aa;font-size:14px}.service-list details{border-bottom:1px solid #51574d}.service-list details:first-child{border-top:1px solid #51574d}.service-list summary{display:flex;align-items:center;list-style:none;gap:22px;padding:30px 0;font-size:24px;letter-spacing:-.03em}.service-list summary::-webkit-details-marker{display:none}.service-no{color:#a8b296;font-size:10px}.plus{margin-left:auto;font-size:27px;transition:transform .2s}.service-list details[open] .plus{transform:rotate(45deg);color:var(--accent)}.service-content{padding:0 0 28px 36px}.service-content p{font-size:14px;max-width:400px;color:#bdc2b7}.service-content ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;list-style:none;padding:0;margin:25px 0 0;font-size:12px;line-height:1.5}.service-content li:before{content:'—';margin-right:8px;color:#9dad7b}.approach-heading{display:flex;gap:80px;justify-content:space-between;align-items:flex-end;margin:30px 0 65px}.approach-heading p{max-width:340px;font-size:15px;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-grid article{border-top:1px solid var(--line);padding-top:24px}.process-number{color:var(--muted);font-size:11px}.process-grid h3{font-size:28px;margin:40px 0 17px}.process-grid p{font-size:14px;max-width:310px;color:var(--muted)}.contact{background:var(--accent);display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding-top:85px;padding-bottom:85px}.contact h2{font-size:clamp(60px,6.6vw,110px);margin:30px 0;letter-spacing:-.065em}.punct{color:#78832f}.contact-title>p:not(.eyebrow):not(.contact-location){font-size:14px;line-height:1.7}.phone{display:inline-flex;font-size:32px;letter-spacing:-.045em;border-bottom:1px solid #8b983d;gap:36px;margin:36px 0 13px;padding-bottom:9px}.phone span{font-size:30px}.contact-location{font-size:10px}.contact form{border-top:1px solid #909e47;padding-top:24px}.form-heading{display:flex;justify-content:space-between;font-size:20px;margin-bottom:29px;letter-spacing:-.025em}form label{font-size:11px;display:block;margin-bottom:24px}form input,form select,form textarea{display:block;width:100%;border:0;border-bottom:1px solid #9caa58;border-radius:0;background:none;padding:12px 0 13px;color:var(--ink);font-size:14px;outline-offset:3px;resize:vertical}form input::placeholder,form textarea::placeholder{color:#64712f;opacity:1;font-size:13px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.submit{background:var(--ink);color:var(--paper);padding:20px 23px;width:100%;display:flex;justify-content:space-between;font-size:13px}.submit span{font-size:21px}.form-note{font-size:9px;letter-spacing:0;margin-top:13px;text-transform:none;opacity:.75}.enquiry-result{margin-top:20px;font-size:13px}.enquiry-result textarea{font-size:12px;min-height:130px}.copy-button{margin-top:15px;border:1px solid var(--ink);background:none;padding:10px}.enquiry-result span{margin-left:15px;font-size:12px}footer{padding:55px var(--gutter) 32px;display:grid;grid-template-columns:1.1fr 1fr auto;gap:35px;align-items:start}footer strong{font-weight:900;font-size:24px;letter-spacing:-1.2px}footer>div>span{display:block;font-size:9px;letter-spacing:2px;margin-top:9px}footer p,footer>a{font-size:12px;color:var(--muted)}footer small{grid-column:1/-1;font-size:9px;color:var(--muted);margin-top:26px}dialog{border:0;padding:30px;max-width:1350px;width:calc(100% - 64px);max-height:92vh;background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#0e140ed9;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}.close-dialog{background:none;font-size:12px;padding:8px 0 8px 14px;display:flex;align-items:center;gap:22px}.close-dialog span{font-size:27px}.dialog-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:45px}.dialog-image{min-width:0}.dialog-image>img{width:100%;height:500px;object-fit:contain;background:#dfdfd6}.gallery-controls{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.gallery-controls button{background:none;padding:7px 20px;font-size:23px}.gallery-controls span{font:11px 'Courier New',monospace}.dialog-image>p{font:11px/1.5 'Courier New',monospace;margin:14px 0 20px;color:var(--muted)}.dialog-copy h2{font-size:44px;margin:22px 0}.dialog-copy>p:not(.eyebrow){font-size:15px;color:var(--muted)}.dialog-copy h3{font-size:18px;letter-spacing:-.02em;margin:35px 0 18px}.dialog-copy ul{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.8}.dialog-copy li{border-bottom:1px solid var(--line);padding:10px 0}.dialog-cta{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper);font-size:12px;padding:18px 22px;margin:35px 0 20px}.dialog-cta span{font-size:21px}@media(min-width:1650px){.hero-photo{height:660px}.hero{min-height:790px}}@media(max-width:1100px){.header{gap:25px}.desktop-nav{gap:20px}.hero{gap:25px}.hero h1{font-size:72px}.hero-photo{height:510px}.hero-bottom{font-size:14px}.services{gap:45px}.contact{gap:45px}.image-wrap{height:370px}.card-type{display:none}.dialog-layout{gap:25px}.dialog-image>img{height:420px}}@media(max-width:760px){html{scroll-padding-top:30px}.header{height:96px;gap:18px}.logo-window{width:130px;height:66px}.logo-window img{width:210px;left:-37px;top:-51px}.desktop-nav{display:none}.header-cta{margin-left:auto;padding:10px 13px;font-size:11px;gap:18px}.header-cta span{font-size:18px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:12px 0 12px 8px;background:none}.menu-toggle span{width:20px;height:1px;background:var(--ink)}.mobile-nav{position:absolute;top:96px;left:0;width:100%;background:var(--paper);padding:20px var(--gutter) 30px;border-bottom:1px solid var(--line);z-index:11}.mobile-nav a{display:block;padding:15px 0;font-size:23px;letter-spacing:-.04em}.hero{display:flex;flex-direction:column;padding-top:24px;gap:8px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:9px}.hero h1{font-size:clamp(57px,11vw,83px);margin:29px 0 24px;line-height:.98}.hero h1>br:nth-of-type(2){display:none}.hero h1>span{display:block;margin-top:3px}.hero-bottom{padding-bottom:23px}.hero-bottom p br{display:none}.hero-bottom p{max-width:230px;font-size:13px}.circle-link{height:42px;width:42px}.hero-photo{height:430px}.hero-caption{padding-top:15px}.hero-caption p{font-size:12px}.hero-controls{gap:10px}.hero-controls button{font-size:10px}.photo-open{bottom:14px;right:14px;padding:9px 12px;font-size:10px;gap:23px}.section-pad{padding:65px var(--gutter)}.intro{display:block;margin-top:45px}.intro>div{margin-top:30px}.intro>div>p{font-size:14px;margin:25px 0}.intro h2{font-size:40px}.section-top{display:block}.section-top h2{font-size:44px;margin-top:23px}.section-top>p{margin-top:22px;font-size:13px}.filter-row{gap:23px;overflow-x:auto;margin:26px 0}.filter-row button{font-size:11px;padding-top:12px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card.large,.project-card.narrow,.project-grid.filtered .project-card{grid-column:auto}.image-wrap{height:385px}.card-meta strong{font-size:23px}.card-meta>span>span{font-size:12px}.work-foot{font-size:12px;margin-top:35px}.work-foot a{display:block;margin:8px 0 0}.services{display:block}.service-intro h2{font-size:45px;max-width:370px;margin:30px 0 24px}.service-intro>p:last-child{max-width:320px}.service-list{margin-top:42px}.service-list summary{font-size:22px;gap:14px;padding:25px 0}.service-content{padding-left:25px}.service-content ul{font-size:11px}.approach-heading{display:block;margin:30px 0 40px}.approach-heading h2{font-size:41px}.approach-heading p{margin-top:25px;font-size:14px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{display:grid;grid-template-columns:35px 1fr;gap:0 18px;padding-top:22px}.process-number{padding-top:6px}.process-grid h3{margin:0 0 13px;font-size:27px}.process-grid p{grid-column:2;max-width:none;font-size:13px}.contact{display:block}.contact h2{font-size:66px}.phone{font-size:29px;margin-top:27px}.contact form{margin-top:45px}.contact-title>p:not(.eyebrow):not(.contact-location){font-size:13px}.contact-title>p br{display:none}footer{grid-template-columns:1fr auto;padding-top:40px;gap:30px}footer p{grid-row:2;grid-column:1/-1}footer>a{grid-column:2;grid-row:1;font-size:11px}footer small{margin-top:0}.dialog-layout{display:block}dialog{padding:20px;width:calc(100% - 24px);max-height:94vh}.dialog-top{padding-bottom:12px;margin-bottom:20px}.dialog-top .eyebrow{font-size:8px}.dialog-image>img{height:340px}.dialog-copy h2{font-size:36px}.dialog-copy{padding-top:15px}.dialog-copy>p:not(.eyebrow){font-size:14px}.dialog-copy h3{margin-top:24px}.gallery-controls button{font-size:21px}}@media(max-width:380px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero-photo{height:360px}.image-wrap{height:330px}.hero h1{font-size:55px}.filter-row{gap:19px}.phone{font-size:26px}.service-list summary{font-size:20px}.field-pair{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.project-grid:not(.filtered) .project-card:last-child{grid-column:1/-1}.project-card[data-project=queens] .image-wrap img{object-position:45% center}

/* Charcoal gallery with warm, light reading sections. */
body{background:#151716;color:#efeee8}
.header,.hero,.work,footer,dialog{--paper:#151716;--ink:#efeee8;--muted:#afb2a9;--line:#454941;background:var(--paper);color:var(--ink)}
.header .logo-window{mix-blend-mode:screen}.header .logo-window img{filter:invert(1)}
.hero h1>span{color:#a5aa9e}.hero-controls button{color:#a5aa9e}.hero-photo,.image-wrap{background:#242824}
.header-cta,.photo-open,.image-arrow,.project-number,.dialog-cta{background:#efeee8;color:#20241f}
.circle-link:hover,.project-card:hover .image-arrow{color:#20241f}
.intro,.approach{background:#ecebe5;color:#222622}.intro{margin-top:50px}
.services{background:#20251f;color:#efeee8}.contact{background:#e6e5dc;color:#222622}
.contact form,.phone{border-color:#a9ac9e}form input,form select,form textarea{border-color:#a9ac9e}form input::placeholder,form textarea::placeholder{color:#64695e}.punct{color:#7b8569}
.dialog-image>img{background:#222621}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#99ad62}
.project-grid:not(.filtered) .project-card:last-child{grid-column:auto}
.project-card[data-project=nightcat] .image-wrap img{object-position:center}

/* Softer graphite and warm grey surfaces. */
body{background:#343735;color:#eeede7}
.header,.hero,footer{--paper:#343735;--ink:#eeede7;--muted:#c0c3ba;--line:#62665f;background:var(--paper)}
.work,dialog{--paper:#3c403d;--ink:#eeede7;--muted:#c4c7bd;--line:#696e65;background:var(--paper)}
.hero h1>span{color:#b8beb0}.hero-controls button{color:#c0c5b8}.hero-photo,.image-wrap{background:#484d47}
.services{background:#454a43}.dialog-image>img{background:#343934}dialog::backdrop{background:#252a26b8}
.project-card[data-project=clifton] .image-wrap img{object-position:center}

/* Preserve the full wide photographs in these project cards. */
.project-card[data-project=splashback] .image-wrap img,.project-card[data-project=clifton] .image-wrap img{object-fit:contain;object-position:center}
.gallery-controls button[hidden]{display:none}

/* Architectural editorial grid: strong type, measured rules, numbered work. */
:root{--gutter:clamp(24px,5vw,96px)}
.header{height:124px;border-bottom-color:#70756d}.desktop-nav{font:10px/1.5 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;gap:38px}
.header-cta{background:transparent;color:#eeede7;border:1px solid #8a8f83;padding:14px 18px}.header-cta:hover{background:#eeede7;color:#343735}
.hero{grid-template-columns:1fr 1fr;gap:5vw;padding-top:42px;min-height:740px;padding-bottom:25px}
.hero h1{font-weight:700;font-size:clamp(68px,7.3vw,126px);letter-spacing:-.075em;line-height:.91;margin-top:43px;margin-bottom:45px}
.hero h1>span{color:#c0c6b7}.hero-photo{height:620px}.hero-bottom{padding-bottom:28px;font-size:14px}.hero .eyebrow{font-size:9px;letter-spacing:.09em}
.photo-open{left:18px;right:18px;bottom:18px;justify-content:space-between;padding:15px 18px;background:#eeede7ed;letter-spacing:.02em}
.hero-caption{border-top:1px solid #73796d;margin-top:12px;padding-top:13px}.hero-caption p{font-size:12px}
.studio-strip{display:flex;justify-content:space-between;gap:25px;padding:22px var(--gutter);border-top:1px solid #73796d;border-bottom:1px solid #73796d;font:9px/1.5 'Courier New',monospace;letter-spacing:.1em;color:#d5d8ce}.studio-strip a{display:flex;gap:35px}.studio-strip a span{font-size:15px}
.intro{margin-top:0;padding-top:100px;padding-bottom:100px;border-top:0}.intro h2{font-weight:500;letter-spacing:-.06em}.intro .eyebrow{padding-top:8px}.intro>div>p{font-size:15px;max-width:540px}
.work{padding-top:90px}.section-top{border-top:1px solid #777e70;padding-top:25px}.section-top h2{font-size:clamp(66px,8.3vw,132px);line-height:.88;letter-spacing:-.075em;font-weight:600;margin-top:36px}.heading-stop{color:#b8c49e}
.work-index{text-align:right;display:flex;flex-direction:column;font:9px/1.6 'Courier New',monospace;letter-spacing:.08em}.work-index strong{font:400 clamp(48px,6.2vw,98px)/1 Arial,sans-serif;letter-spacing:-.075em;margin:15px 0;color:#b7bead;white-space:nowrap}
.filter-row{margin-top:60px;gap:35px}.filter-row button{font:10px/1.5 'Courier New',monospace;text-transform:uppercase;letter-spacing:.07em}
.project-grid{gap:55px 35px}.project-card{border-bottom:1px solid #777e70;padding-bottom:24px}.image-wrap{height:480px}.project-card.narrow .image-wrap{height:390px}.project-card.narrow{align-self:end}.project-number{position:static;display:block;background:none;color:#b8c49e;font:12px/1.4 'Courier New',monospace;padding:0;margin-top:20px}.image-wrap{overflow:visible;margin-bottom:42px}.image-wrap img{overflow:hidden}.image-arrow{bottom:17px;right:17px;border-radius:0}.card-meta{padding-top:0}.card-meta strong{font-size:27px;letter-spacing:-.045em}.card-type{font-size:8px}.card-meta>span>span{font:10px/1.5 'Courier New',monospace;margin-top:10px}.project-card:hover img{transform:none;filter:brightness(1.035)}
.project-grid.filtered .project-card .image-wrap{height:440px}.project-card[data-project=splashback]{grid-column:1/-1!important}.project-card[data-project=splashback] .image-wrap{height:520px}
.services{border-top:1px solid #78816e}.service-intro h2{font-weight:500;letter-spacing:-.06em}.service-list summary{font-size:25px;padding:31px 0}.service-no{width:24px}.service-list details{border-color:#858d7d}.service-list details:first-child{border-color:#858d7d}
.approach h2{font-weight:500}.process-grid h3{font-weight:500}.contact{border-top:1px solid #929887}.contact h2{font-weight:600}footer{border-top:1px solid #747b6e}
@media(min-width:1650px){.hero-photo{height:720px}.hero{min-height:840px}}
@media(max-width:1100px){.hero{min-height:650px}.hero h1{font-size:77px}.hero-photo{height:530px}.image-wrap{height:390px}.project-card.narrow .image-wrap{height:330px}.card-meta strong{font-size:24px}}
@media(max-width:760px){.header{height:96px}.header-cta{font-size:10px;padding:10px}.hero{padding-top:28px;gap:22px;padding-bottom:10px;min-height:0}.hero h1{font-size:clamp(61px,12vw,91px);line-height:.93;margin:30px 0}.hero h1>span{display:block}.hero h1>span br{display:none}.hero-photo{height:470px}.hero-bottom{padding-bottom:0}.studio-strip{font-size:8px;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}.studio-strip>span:nth-child(2){display:none}.intro{margin-top:0}.section-top{display:flex;align-items:flex-end;gap:15px}.section-top h2{font-size:65px;margin-top:28px}.work-index{font-size:7px}.work-index strong{font-size:40px}.work{padding-top:60px}.filter-row{margin-top:35px;gap:23px}.filter-row button{font-size:9px}.project-grid{gap:35px}.image-wrap,.project-card.narrow .image-wrap,.project-grid.filtered .project-card .image-wrap{height:365px}.project-card[data-project=splashback] .image-wrap{height:300px}.project-card{padding-bottom:22px}.card-meta strong{font-size:25px}.hero-caption p{font-size:11px}.service-list summary{font-size:22px}.project-card[data-project=splashback]{grid-column:auto!important}}
@media(max-width:380px){.hero h1{font-size:59px}.hero-photo{height:390px}.section-top h2{font-size:56px}.work-index strong{font-size:34px}.image-wrap,.project-card.narrow .image-wrap{height:330px}}

/* Warm-white architectural palette. */
:root{--paper:#f8f7f3;--ink:#252823;--muted:#65695f;--line:#c3c6bb;--accent:#d9dfc6;--dark:#efeee7}
body{background:#f8f7f3;color:#252823}
.header,.hero,.work,footer,dialog{--paper:#f8f7f3;--ink:#252823;--muted:#65695f;--line:#c3c6bb;background:var(--paper);color:var(--ink)}
.header{border-color:#c3c6bb}.header .logo-window{mix-blend-mode:multiply}.header .logo-window img{filter:none}
.header-cta{color:#252823;border-color:#92998a}.header-cta:hover{background:#252823;color:#f8f7f3}
.hero h1>span{color:#7b846f}.hero-controls button{color:#747b6a}.hero-caption{border-color:#b7bdb0}.hero-photo,.image-wrap{background:#ecece4}
.photo-open{background:#f8f7f3ed;color:#252823}.image-arrow{background:#252823;color:#f8f7f3}.project-card:hover .image-arrow{background:#d9dfc6;color:#252823}
.studio-strip{color:#50584a;border-color:#b7bdb0}.intro,.approach{background:#efeee7;color:#252823}
.section-top,.filter-row,.project-card,.work-foot{border-color:#b7bdb0}.heading-stop{color:#7b846f}.work-index strong{color:#7b846f}.project-number{color:#687559}
.services{background:#e9ebe1;color:#252823;border-color:#b7bdb0}.service-intro>p:last-child,.service-content p{color:#5b6453}.service-list details,.service-list details:first-child{border-color:#b1baa5}.service-no{color:#687559}.service-content li:before{color:#687559}.service-list details[open] .plus{color:#687559}
.contact{background:#e1e5d5;color:#252823;border-color:#b1baa5}.punct{color:#687559}footer{border-color:#b7bdb0}
.dialog-image>img{background:#eeeee7}.dialog-cta,.submit{background:#252823;color:#f8f7f3}dialog::backdrop{background:#252823a8}

.maintenance{background:#efeee7;color:#252823;border-top:1px solid #b7bdb0}.maintenance-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.maintenance h2{font-size:clamp(48px,5.6vw,88px);font-weight:600;line-height:.96;letter-spacing:-.065em;margin-top:32px}.maintenance-intro{max-width:430px}.maintenance-intro p{font-size:15px;color:#5f6657;margin-bottom:18px}.maintenance-intro .text-link{margin-top:12px}.maintenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px}.maintenance-card{background:none;padding:0;text-align:left;border-bottom:1px solid #b7bdb0;padding-bottom:22px;min-width:0}.maintenance-photo{display:block;position:relative;height:330px;background:#e0e1d7;overflow:hidden}.maintenance-photo img{width:100%;height:100%;object-fit:cover}.maintenance-card[data-project=gate] img{object-position:center 45%}.maintenance-card[data-project=floorrepair] img{object-position:center}.maintenance-photo>span{position:absolute;right:14px;bottom:14px;background:#252823;color:#f8f7f3;width:37px;height:37px;display:grid;place-items:center;font-size:23px}.maintenance-caption{display:block;margin-top:20px}.maintenance-caption small{display:block;font:10px 'Courier New',monospace;color:#687559;margin-bottom:12px}.maintenance-caption strong{font-size:25px;font-weight:400;letter-spacing:-.04em;display:block}.maintenance-caption>span{display:block;font:10px/1.5 'Courier New',monospace;color:#65695f;margin-top:9px}.maintenance-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:25px 60px;margin-top:45px}.maintenance-bottom>p{font-size:23px;letter-spacing:-.04em}.maintenance-bottom ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;font-size:12px;color:#5f6657}.maintenance-bottom .text-link{justify-self:start}.desktop-nav{gap:24px}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:9px}.header{gap:23px}.maintenance-heading{gap:35px}.maintenance-photo{height:280px}.maintenance-caption strong{font-size:22px}}
@media(max-width:760px){.maintenance-heading{display:block}.maintenance h2{font-size:54px}.maintenance-intro{margin-top:28px}.maintenance-intro p{font-size:14px}.maintenance-grid{grid-template-columns:1fr;margin-top:35px;gap:30px}.maintenance-photo{height:370px}.maintenance-bottom{display:block;margin-top:35px}.maintenance-bottom ul{margin:25px 0 30px;gap:15px;font-size:11px}.maintenance-caption strong{font-size:25px}}

.testimonials{background:#f8f7f3;color:#252823;border-top:1px solid #b7bdb0}.reviews-head{display:flex;justify-content:space-between;gap:35px;align-items:end}.testimonials h2{font-size:clamp(45px,5vw,76px);font-weight:600;line-height:.98;letter-spacing:-.06em;margin-top:30px}.review-rating{display:flex;flex-direction:column;gap:10px;text-align:right;font:10px/1.5 'Courier New',monospace;color:#65695f}.review-rating>span:first-child{color:#687559;font-size:19px;letter-spacing:4px}.review-rating strong{font:400 76px/1 Arial,sans-serif;letter-spacing:-.07em;color:#252823}.review-rating strong small{font:18px Arial,sans-serif;letter-spacing:0;color:#65695f}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:50px 0 35px}.reviews-grid figure{margin:0;border-top:1px solid #b7bdb0;padding-top:22px}.quote-mark{font:64px/1 Georgia,serif;color:#7b846f}.reviews-grid blockquote{font-size:clamp(25px,2.7vw,39px);line-height:1.2;letter-spacing:-.04em;margin:0 0 35px;max-width:570px}.reviews-grid figcaption{display:flex;flex-direction:column;gap:7px;font-size:12px}.reviews-grid figcaption strong{font-weight:500}.reviews-grid figcaption span,.reviews-grid figcaption small{font:10px/1.5 'Courier New',monospace;color:#65695f}@media(max-width:760px){.reviews-head{display:block}.review-rating{text-align:left;margin-top:30px}.review-rating strong{font-size:57px}.testimonials h2{font-size:43px}.reviews-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.reviews-grid blockquote{font-size:28px}}
.commercial-venues{margin-top:46px;padding:24px 0;border-top:1px solid #b7bdb0;border-bottom:1px solid #b7bdb0;display:grid;grid-template-columns:190px 1fr;gap:30px;align-items:baseline}.commercial-venues>span{font:10px/1.5 'Courier New',monospace;letter-spacing:.08em;color:#687559}.commercial-venues p{font-size:15px;letter-spacing:-.015em}.commercial-venues small{font:9px/1.5 'Courier New',monospace;letter-spacing:.05em;text-transform:uppercase;color:#7b8077;margin-left:4px}@media(max-width:760px){.commercial-venues{grid-template-columns:1fr;gap:12px;margin-top:34px;padding:20px 0}.commercial-venues p{font-size:13px;line-height:1.85}.commercial-venues small{font-size:8px}}
.logo-wordmark{display:block;width:158px;height:auto}
@media(max-width:760px){.logo-wordmark{width:130px}}

/* Studio-positioning remix: priority work, supporting craft, direct involvement. */
[hidden]{display:none!important}
.primary-grid .project-card.large .image-wrap{height:520px}
.primary-grid .project-card.narrow .image-wrap{height:400px}
.supporting-head{border-top:1px solid #b7bdb0;margin-top:95px;padding-top:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:35px}
.supporting-head>p:last-child{max-width:430px;color:#65695f;font-size:13px}
.supporting-grid{margin-top:32px;gap:48px 28px}
.supporting-grid .project-card{grid-column:span 4}
.supporting-grid .project-card:nth-child(4),.supporting-grid .project-card:nth-child(5){grid-column:span 6}
.supporting-grid .image-wrap,.supporting-grid .project-card[data-project=splashback] .image-wrap{height:300px}
.supporting-grid .project-card[data-project=splashback]{grid-column:span 4!important}
.supporting-grid.filtered .project-card,.supporting-grid.filtered .project-card[data-project=splashback]{grid-column:span 6!important}
.direct{background:#252823;color:#f8f7f3;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;border-top:1px solid #51574d}
.direct-intro h2{font-size:clamp(48px,5.4vw,84px);font-weight:600;line-height:.96;margin:34px 0 28px}
.direct-intro>p:last-child{color:#bec4b7;max-width:480px;font-size:15px}
.direct-values{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
.direct-values article{border-top:1px solid #62695e;padding:20px 0 28px}
.direct-values article:last-child{grid-column:1/-1}
.direct-values span,.case-study-facts span{font:9px/1.5 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:#aab49b}
.direct-values h3{font-size:23px;font-weight:500;letter-spacing:-.035em;margin:24px 0 12px}
.direct-values p{font-size:13px;color:#bec4b7;max-width:330px}
.case-study-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:30px 0 5px}
.case-study-facts>div{border-top:1px solid var(--line);padding:13px 0 17px}
.case-study-facts span{color:var(--muted)}
.case-study-facts p{font-size:12px;line-height:1.55;color:var(--muted);margin-top:9px}
.dialog-copy .case-study-facts+h3{margin-top:24px}
@media(max-width:1100px){.primary-grid .project-card.large .image-wrap{height:420px}.primary-grid .project-card.narrow .image-wrap{height:350px}.supporting-grid .image-wrap,.supporting-grid .project-card[data-project=splashback] .image-wrap{height:270px}.direct{gap:5vw}}
@media(max-width:760px){.primary-grid .project-card.large .image-wrap,.primary-grid .project-card.narrow .image-wrap,.supporting-grid .image-wrap,.supporting-grid .project-card[data-project=splashback] .image-wrap{height:365px}.supporting-head{display:block;margin-top:65px}.supporting-head>p:last-child{margin-top:16px}.supporting-grid .project-card,.supporting-grid .project-card:nth-child(4),.supporting-grid .project-card:nth-child(5),.supporting-grid .project-card[data-project=splashback],.supporting-grid.filtered .project-card{grid-column:auto!important}.direct{display:block}.direct-intro>p:last-child{font-size:14px}.direct-values{grid-template-columns:1fr;margin-top:45px}.direct-values article,.direct-values article:last-child{grid-column:auto}.case-study-facts{grid-template-columns:1fr}.case-study-facts p{font-size:13px}}

/* Keep the last cards at their intended editorial widths. */
.primary-grid:not(.filtered) .project-card[data-project=clifton]{grid-column:span 5!important}
.supporting-grid:not(.filtered) .project-card[data-project=table]{grid-column:span 6!important}
@media(max-width:760px){.primary-grid:not(.filtered) .project-card[data-project=clifton],.supporting-grid:not(.filtered) .project-card[data-project=table]{grid-column:auto!important}}

/* A slim studio introduction keeps the work close to the opening image. */
.intro{grid-template-columns:.65fr 1.05fr 1.5fr;gap:48px;align-items:start;padding-top:52px;padding-bottom:54px}
.intro .eyebrow{padding-top:6px}
.intro-title h2{font-size:clamp(38px,3.35vw,54px);line-height:1.04}
.intro-detail{max-width:none!important}
.intro-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:none;margin:0}
.intro>.intro-detail>.intro-copy-grid>p{max-width:none;margin:0;color:var(--muted);font-size:13px;line-height:1.62}
.intro-detail .text-link{margin-top:24px}
.work{padding-top:52px}
@media(max-width:760px){.intro{display:block;padding-top:44px;padding-bottom:46px}.intro>div{margin-top:0}.intro .eyebrow{margin-bottom:24px}.intro-title h2{font-size:36px}.intro-detail{margin-top:24px!important}.intro-copy-grid{grid-template-columns:1fr;gap:14px}.intro>.intro-detail>.intro-copy-grid>p{font-size:13px}.intro-detail .text-link{margin-top:22px}.work{padding-top:45px}}

/* Compact reassurance: keeps the trust signals without another full narrative section. */
.reassurance-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-top:54px;padding-bottom:58px;background:#efeee7;color:#252823;border-top:1px solid #b7bdb0;border-bottom:1px solid #b7bdb0}
.reassurance-strip article{padding:0 40px;border-left:1px solid #b7bdb0}
.reassurance-strip article:first-child{padding-left:0;border-left:0}
.reassurance-strip article:last-child{padding-right:0}
.reassurance-strip span{font:9px/1.5 'Courier New',monospace;letter-spacing:.08em;color:#697064}
.reassurance-strip h3{font-size:25px;font-weight:500;line-height:1.05;margin:18px 0 12px}
.reassurance-strip p{max-width:340px;color:#65695f;font-size:13px;line-height:1.55}
@media(max-width:760px){.reassurance-strip{grid-template-columns:1fr;padding-top:42px;padding-bottom:44px}.reassurance-strip article,.reassurance-strip article:first-child,.reassurance-strip article:last-child{padding:24px 0;border-left:0;border-top:1px solid #b7bdb0}.reassurance-strip article:first-child{padding-top:0;border-top:0}.reassurance-strip article:last-child{padding-bottom:0}.reassurance-strip h3{font-size:23px;margin-top:14px}.reassurance-strip p{max-width:none}}

/* Content refinement: preserve the established layout while supporting the broader service mix. */
.hero-support{max-width:410px}
.hero-bottom .hero-services{font-size:16px;line-height:1.42;max-width:400px}
.hero-bottom .hero-secondary{font-size:12px;line-height:1.55;color:var(--muted);max-width:390px;margin-top:13px}
.intro-copy-grid p{max-width:none;margin:0;color:var(--muted);font-size:13px;line-height:1.62}
.intro-copy-stack{display:grid;gap:13px}
.work-intro{max-width:720px;margin-top:28px;color:var(--muted);font-size:14px;line-height:1.65}
.work-intro+.filter-row{margin-top:32px}
.contact-copy{max-width:540px}
.contact-copy p{font-size:14px;line-height:1.7}
.contact-copy p+p{margin-top:12px}
.contact-actions{display:flex;gap:28px;margin:2px 0 20px}
.contact-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #8b983d;padding:9px 0;font-size:12px}
.contact-actions span{font-size:17px}
.contact-actions .text-primary{background:var(--ink);color:var(--paper);border-bottom:0;padding:13px 16px;min-width:178px}
.contact-actions .call-secondary{opacity:.82}
@media(max-width:760px){.hero-support{max-width:310px}.hero-bottom .hero-services{font-size:13px;max-width:300px}.hero-bottom .hero-secondary{font-size:11px;max-width:300px;margin-top:10px}.intro-copy-stack{gap:12px}.work-intro{font-size:13px;margin-top:24px}.work-intro+.filter-row{margin-top:26px}.contact-copy p{font-size:13px}.contact-actions{gap:22px;flex-wrap:wrap;margin-bottom:22px}.contact-actions a{font-size:12px;min-width:118px}.contact .phone{margin-bottom:6px}}
@media(max-width:760px){.work-index{width:88px;min-width:88px;align-items:flex-end}.work-index span{font-size:6px;white-space:nowrap}}

/* Personal introduction: a genuine portrait set into the existing editorial grid. */
.intro{grid-template-columns:.52fr 1fr .72fr 1.2fr;gap:clamp(28px,3.1vw,52px)}
.intro-portrait{margin:0;width:100%;aspect-ratio:4/5;overflow:hidden;background:#deddd5}
.intro-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.intro-copy-grid{grid-template-columns:1fr;gap:13px}
@media(max-width:1100px) and (min-width:761px){.intro{grid-template-columns:.45fr .9fr .68fr 1.15fr;gap:26px}.intro-title h2{font-size:42px}.intro-detail .text-link{gap:35px}}
@media(max-width:760px){.intro-portrait{width:min(48vw,180px);margin-top:24px;aspect-ratio:4/5}.intro-portrait img{object-position:center 30%}.intro-detail{margin-top:24px!important}}
