/* Hallmark · v2.0.0 · redesign: full (home sections: hero, services, projects; site-wide labels) · theme: brand (pinned: owner's Prairie Modern brief) · genre: editorial · posture: restrained · hero: Stage (/ and the 31 inner pages) · nav: kept, edge-aligned wordmark, links, phone, one action · footer: kept, mark and four link columns · signature: the finished bath at full height beside the headline, framed in the art-glass corners */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R4 V3 · weakest: V, the brand look is the owner's and stays; variety comes from the stage hero and the ruled service index */
/* Hallmark · dismissed 26a · index.html links /assets/css/style.css by a root path the disk scan does not resolve; this file declares :focus-visible rings for links, inputs, selects, textareas and summaries */
/* Hallmark · dismissed 34 · same root-path miss; section 09 of this file sets overflow-x: clip on html and body */
/* Hallmark · dismissed 26b · same root-path miss; this file styles .button:active, .link-arrow:active and button:disabled */
/* Hallmark · waive 65 · theme: brand pinned by the owner's brief · cream, Marcellus and Cherokee red are the chosen Prairie Modern brand */
/* 01 — Tokens */
@font-face{font-family:Marcellus;src:url('/assets/fonts/marcellus-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url('/assets/fonts/libre-franklin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url('/assets/fonts/libre-franklin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url('/assets/fonts/libre-franklin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--cream:#F3ECDF;--stone:#E3D8C4;--oak:#2E2219;--oak-2:#3D2E22;--muted:#66584A;--cherokee:#A23A27;--cherokee-hover:#943522;--sage:#5E6B4E;--gold:#C99A3E;--line:rgba(46,34,25,.16);--line-dark:rgba(243,236,223,.16);--field:#FCF9F3;--overlay:rgba(46,34,25,.8);--fs-display:clamp(38px,6.1vw,88px);--fs-h1:clamp(32px,4.5vw,64px);--fs-h2:clamp(26px,3.1vw,44px);--fs-h3:clamp(21px,2vw,26px);--fs-lead:clamp(18px,1.5vw,21px);--fs-body:clamp(17px,1.25vw,18px);--fs-small:clamp(14px,1.1vw,15px);--fs-label:clamp(12px,.95vw,13px);--font-display:Marcellus,serif;--font-body:'Libre Franklin',sans-serif;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s7:56px;--s8:64px;--s9:72px;--s10:80px;--s12:96px;--s14:112px;--s16:128px;--s18:144px;--gutter:clamp(20px,5vw,72px);--max:1360px;--section:clamp(80px,9vw,136px);--radius:2px;--ease:cubic-bezier(.2,.7,.2,1);--duration:240ms;--target:44px;--control:54px}
/* 02 — Base & typography */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--s12)}body{margin:0;background:var(--cream);color:var(--oak);font:400 var(--fs-body)/1.7 var(--font-body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}svg{display:inline-block;flex-shrink:0}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;background:var(--stone);color:var(--muted);border-color:var(--line)}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cherokee);outline-offset:3px}.dark :focus-visible,.mobile-sheet :focus-visible{outline-color:var(--gold)}h1,h2,h3,h4{font-weight:400;font-family:var(--font-display);text-wrap:balance;margin:0 0 var(--s3)}h1,h2{text-transform:uppercase}h1{font-size:var(--fs-h1);letter-spacing:.07em;line-height:1.1}h2{font-size:var(--fs-h2);letter-spacing:.08em;line-height:1.15}h3{font-size:var(--fs-h3);line-height:1.25}p{margin:0 0 var(--s3);max-width:68ch;text-wrap:pretty}p:last-child{margin-bottom:0}ul{padding-left:var(--s3)}figure{margin:0}address{font-style:normal}::selection{color:var(--cream);background:var(--cherokee)}[hidden]{display:none!important}.lead{font-size:var(--fs-lead);line-height:1.6}.eyebrow,.label{font-size:var(--fs-small);font-weight:500;font-weight:600;line-height:1.5}.eyebrow{display:block;color:var(--cherokee);margin-bottom:var(--s3)}.small,figcaption{font-size:var(--fs-small);line-height:1.5}.muted{color:var(--muted)}.numeric,.phone,input[type=number],.result-value{font-variant-numeric:tabular-nums}
/* 03 — Layout */
.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section)}.stone{background:var(--stone)}.dark{background:var(--oak);color:var(--cream)}.dark .eyebrow{color:var(--gold)}.dark .muted{color:var(--stone)}.section-heading{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s7)}.section-heading h2{margin:0;flex:0 1 auto}.section-heading::after{content:'';height:1px;background:var(--line);flex:1;min-width:var(--s5)}.dark .section-heading::after{background:var(--line-dark)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:var(--s6);margin-bottom:var(--s7)}.section-top h2{max-width:800px;margin-bottom:0}.section-top p{max-width:38ch}.split{display:grid;grid-template-columns:5fr 7fr;gap:var(--s10)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.reading{max-width:68ch}.rule{border:0;border-top:1px solid var(--line);margin-block:var(--s6)}.link-arrow{display:inline-flex;align-items:center;gap:var(--s3);min-height:var(--target);font-size:var(--fs-small);font-weight:600;text-decoration:none}.link-arrow span{border-bottom:1px solid currentColor;padding-bottom:4px}.link-arrow svg{width:var(--s3);height:var(--s3);transition:transform var(--duration) var(--ease)}.link-arrow:hover svg{transform:translateX(4px)}
/* 04 — Original art-glass ornaments */
.symbol-library{position:absolute;width:0;height:0;overflow:hidden}.art-band{display:block;width:100%;height:var(--s2);color:var(--gold)}.art-band-top{height:4px;background:var(--oak);overflow:hidden}.art-band-top svg{width:100%;height:12px;transform:translateY(-4px)}.art-mark{width:var(--s7);height:var(--s7);color:var(--gold)}.art-divider{width:var(--s12);height:var(--s3);color:var(--gold);margin-block:var(--s3)}.art-panel{width:100%;height:var(--s6);color:var(--gold)}.art-corner{position:absolute;width:var(--s8);height:var(--s8);color:var(--gold);z-index:1;pointer-events:none}.art-corner.tl{top:-12px;left:-12px}.art-corner.br{bottom:-12px;right:-12px;transform:rotate(180deg)}.framed{position:relative}.frame-wrap{position:relative;isolation:isolate}.frame-wrap::before{content:'';position:absolute;inset:-var(--s2);border:1px solid var(--line);z-index:-1}
/* 05 — Components */
.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:100;background:var(--cream);color:var(--oak);padding:var(--s2);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:30;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:104px;transition:transform var(--duration) var(--ease)}.wordmark{display:flex;align-items:center;gap:var(--s2);text-decoration:none;flex-shrink:0}.wordmark strong{display:block;font:400 26px/1.15 var(--font-display);letter-spacing:.14em}.wordmark small{display:block;font:600 10px/1.7 var(--font-body);letter-spacing:.2em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:var(--s4)}.desktop-nav>a,.nav-trigger{min-height:var(--target);display:inline-flex;align-items:center;gap:var(--s1);padding:0;background:none;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}.desktop-nav .active{color:var(--cherokee)}.desktop-nav>a:hover,.nav-trigger:hover{color:var(--cherokee)}.nav-trigger svg{width:12px;height:12px}.header-actions{display:flex;align-items:center;gap:var(--s4)}.header-phone{font-family:var(--font-display);text-decoration:none;font-size:20px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--control);border:1px solid var(--cherokee);border-radius:var(--radius);background:var(--cherokee);color:var(--cream);padding:var(--s2) var(--s4);text-decoration:none;text-align:center;font:600 var(--fs-label)/1.4 var(--font-body);position:relative}.button::after{content:'';position:absolute;left:var(--s2);right:var(--s2);bottom:5px;height:1px;background:var(--gold);opacity:0;transition:opacity 180ms var(--ease)}.button:hover{background:var(--cherokee-hover)}.button:hover::after{opacity:1}.button-outline{border-color:currentColor;background:transparent;color:inherit}.button-outline:hover{background:var(--oak-2)}.icon-button{width:var(--target);height:var(--target);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);color:inherit}.icon-button svg{width:22px;height:22px}.menu-toggle{display:none}.mega-panel{position:absolute;top:100%;right:var(--gutter);width:min(640px,calc(100% - var(--gutter)*2));padding:var(--s5);background:var(--cream);border:1px solid var(--line);border-top:3px solid var(--cherokee)}.mega-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s4);padding:0;margin:0;list-style:none}.mega-panel a{display:block;padding-block:var(--s1);text-decoration:none}.mega-panel a:hover{color:var(--cherokee)}.nojs-nav{border-top:1px solid var(--line);padding:var(--s2);font-size:var(--fs-small)}.site-header.is-compact .header-inner{height:64px}.site-header.is-compact .art-mark{width:var(--s6);height:var(--s6)}
.hero{padding-bottom:var(--s8)}.hero-photo{width:100%;height:clamp(320px,36vw,570px);object-fit:cover;object-position:center 55%}.hero-layout{position:relative;display:grid;grid-template-columns:10fr 2fr}.hero-lintel{margin-top:calc(-1 * var(--s12));padding:0 var(--s6) var(--s2) 0;background:var(--cream);position:relative;z-index:2}.hero-lintel>.art-band{margin-bottom:var(--s5)}.hero-lintel .eyebrow{font-size:var(--fs-small);margin-bottom:var(--s3)}.hero-home h1{font-size:var(--fs-display);line-height:1.05;letter-spacing:.06em;max-width:1050px}.hero-lintel h1{margin-bottom:var(--s4)}.hero-lintel .lead{max-width:57ch}.hero-actions{display:flex;gap:var(--s5);align-items:center;flex-wrap:wrap;margin-top:var(--s5)}.hero-actions .phone{font:400 clamp(24px,2.1vw,32px)/1.2 var(--font-display);text-decoration:none}.hero-note{padding:var(--s5) 0 0 var(--s4);align-self:end;color:var(--muted);font-size:12px;line-height:1.8}.hero-note svg{width:100%;height:var(--s7);margin-bottom:var(--s2)}.hero-inner h1{font-size:var(--fs-h1)}.hero-inner .hero-photo{height:clamp(280px,30vw,440px)}.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--s1);list-style:none;padding:0;margin:0 0 var(--s3);font-size:var(--fs-small);color:var(--muted)}.breadcrumb a{text-decoration:none}.breadcrumb li+li::before{content:'/';padding-right:var(--s1)}.spec-line{font-size:var(--fs-small);color:var(--muted)}
.services-section{padding-top:var(--s8)}.service-windows{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service-window{padding:var(--s4) var(--s4) var(--s5);border-right:1px solid var(--line);min-width:0;position:relative}.service-window:first-child{padding-left:0}.service-window:last-child{border-right:0;padding-right:0}.service-window .window-top{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3);height:var(--s6)}.window-number{font-family:var(--font-display);font-size:var(--fs-small);color:var(--muted)}.service-window .art-panel{opacity:.5;transition:opacity var(--duration) var(--ease)}.service-window:hover .art-panel,.service-window:focus-within .art-panel{opacity:1}.window-photo{display:block;overflow:hidden;margin-bottom:var(--s4)}.window-photo img{aspect-ratio:3/4;width:100%;object-fit:cover;transition:transform var(--duration) var(--ease)}.service-window:hover img,.service-window:focus-within img{transform:translateY(-4px)}.service-window h3{margin-bottom:var(--s2)}.service-window h3 a{text-decoration:none}.service-window p{font-size:var(--fs-small);color:var(--muted);line-height:1.7;min-height:5em}.service-window .link-arrow{margin-top:var(--s2)}.services-compact .window-photo img{aspect-ratio:3/2}.services-compact{padding-block:var(--s5)}
.project-feature{display:block;text-decoration:none;margin-bottom:var(--s6)}.project-feature .feature-photo{position:relative}.project-feature img{width:100%;aspect-ratio:21/9;object-fit:cover}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);border-bottom:1px solid var(--line);padding-block:var(--s4)}.project-caption h3{margin-bottom:var(--s1)}.project-caption .meta{color:var(--muted);font-size:var(--fs-small)}.projects-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.project-card{display:block;text-decoration:none;min-width:0}.project-card .photo-wrap{overflow:hidden}.project-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform var(--duration) var(--ease)}.project-card:hover img{transform:scale(1.025)}.project-card .project-caption{display:block;padding-block:var(--s3)}.project-card h3{font-size:23px}.project-end{display:flex;justify-content:end;margin-top:var(--s5)}.project-directory{padding-top:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);border-top:1px solid var(--line);margin-top:var(--s7)}.project-directory a{font-size:var(--fs-small);min-height:var(--target);display:inline-flex;align-items:center}.review-panel{border:1px solid var(--line);padding:var(--s6);min-height:180px}.review-fallback{max-width:64ch;color:var(--muted)}.profile-link[aria-disabled=true]{color:var(--muted);cursor:default}.review-bottom{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;margin-top:var(--s4)}.review-label{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-small)}.review-label::before{display:none}.area-list{list-style:none;padding:0;display:grid;grid-template-columns:minmax(0,1fr);max-width:28rem;gap:var(--s1) var(--s3);margin-block:var(--s4)}.area-list a{display:flex;gap:var(--s2);align-items:center;min-height:var(--target);text-decoration:none;font-size:var(--fs-small);border-bottom:1px solid var(--line)}.area-list a::before{content:'';width:5px;height:5px;background:var(--cherokee)}.area-list a:hover{color:var(--cherokee)}.map-frame iframe{border:0;display:block;width:100%;height:380px;filter:saturate(.65)}.map-meta{display:flex;justify-content:space-between;gap:var(--s3);border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s4);font-size:var(--fs-small)}.map-meta p{margin-bottom:var(--s1)}.faq-layout{display:grid;grid-template-columns:5fr 7fr;gap:var(--s10)}.faq-intro{align-self:start;position:sticky;top:var(--s16)}.faq-intro h2{max-width:9ch}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.35;list-style:none;padding:var(--s4) var(--s6) var(--s4) 0;position:relative;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::before,.faq-list summary::after{content:'';position:absolute;right:var(--s1);top:50%;width:var(--s2);height:1px;background:var(--cherokee)}.faq-list summary::after{transform:rotate(90deg);transition:transform 180ms var(--ease)}.faq-list details[open] summary::after{transform:rotate(0)}.faq-list details p{padding-bottom:var(--s4);color:var(--muted);font-size:var(--fs-small)}.final-cta{padding-block:var(--s8);position:relative}.final-cta>.art-band{position:absolute;top:0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}.final-cta h2{max-width:16ch;margin-bottom:0}.cta-actions{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap}.cta-actions .phone{font:400 28px/1.3 var(--font-display);text-decoration:none}.form-section .section-heading{margin-bottom:var(--s6)}.form-panel{padding:var(--s6);background:var(--stone);position:relative}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.form-field{min-width:0}.form-field label{display:block;font-size:var(--fs-small);font-weight:500;margin-bottom:var(--s1)}.form-field label small{font-weight:400;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{display:block;width:100%;background:var(--field);border:1px solid var(--line);border-radius:var(--radius);min-height:var(--control);padding:12px var(--s2);font-size:16px;line-height:1.5}.form-field input:focus,.form-field textarea:focus{border-color:var(--oak);outline:2px solid var(--cherokee);outline-offset:2px}.form-field textarea{min-height:120px;resize:vertical}.form-wide{grid-column:1/-1}.field-hint,.consent{display:block;font-size:12px;line-height:1.7;color:var(--muted);margin-top:var(--s1)}.field-error,.form-status.is-error{font-size:var(--fs-small);line-height:1.5;color:var(--cherokee);margin-top:var(--s1);margin-bottom:0}.form-status{grid-column:1/-1;font-size:var(--fs-small)}.form-actions{grid-column:1/-1;display:grid;gap:var(--s2)}.form-success{padding:var(--s6) 0}.form-success h3{max-width:25ch}.contact-details{padding-left:var(--s4)}.contact-line{padding-block:var(--s3);border-bottom:1px solid var(--line)}.contact-line .label{display:block;color:var(--muted);margin-bottom:var(--s1)}.contact-line a{overflow-wrap:anywhere}.contact-line .phone{font:400 32px/1.4 var(--font-display);text-decoration:none}.contact-details .area-list{margin-top:var(--s2)}
.site-footer{padding:0 0 var(--s4)}.site-footer>.art-band{margin-bottom:var(--s8)}.footer-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr .8fr;gap:var(--s6);padding-bottom:var(--s8)}.footer-company .wordmark{margin-bottom:var(--s4)}.footer-company p,.footer-company address{font-size:var(--fs-small);color:var(--stone)}.footer-company address{margin-block:var(--s3)}.footer-company>a{display:block;line-height:2;font-size:var(--fs-small);text-decoration:none;overflow-wrap:anywhere}.footer-heading{font-size:var(--fs-small);font-family:var(--font-body);font-weight:600;color:var(--gold);margin-bottom:var(--s4)}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.footer-links a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;font-size:var(--fs-small);line-height:1.6;color:var(--stone)}.footer-links a:hover{color:var(--cream);text-decoration:underline}.footer-bottom{border-top:1px solid var(--gold);padding-top:var(--s3);display:flex;justify-content:space-between;gap:var(--s3);font-size:12px;color:var(--stone)}.footer-bottom p{margin:0}.cta-bar{position:fixed;bottom:0;left:0;right:0;height:60px;z-index:35;transform:translateY(100%);transition:transform var(--duration) var(--ease);border-top:1px solid var(--line-dark);background:var(--oak);color:var(--cream)}.cta-bar.is-visible{transform:translateY(0)}.cta-bar .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.cta-bar .cta-actions{gap:var(--s4)}.cta-bar .button{min-height:44px;padding:12px var(--s3);font-size:11px}.cta-bar .phone{font-size:22px}.cta-bar .label{font-weight:400}
/* 06 — Interactive components */
dialog{background:var(--cream);color:var(--oak);border:0;padding:0;max-width:calc(100vw - var(--s5));max-height:calc(100dvh - var(--s5));overflow:auto}dialog::backdrop{background:var(--overlay)}.quote-modal{width:780px;box-shadow:0 24px 80px var(--overlay)}.modal-panel{position:relative;padding:var(--s7)}.modal-close{position:absolute;top:var(--s2);right:var(--s2);z-index:2}.modal-panel h2{padding-right:var(--s3);font-size:clamp(26px,3vw,38px)}.modal-panel>.eyebrow{margin-bottom:var(--s2)}.quote-modal .art-corner{top:var(--s2);left:var(--s2)}.mobile-menu{width:100%;height:100dvh;max-width:100%;max-height:100dvh;background:var(--oak);color:var(--cream);margin:0}.mobile-sheet{min-height:100%;padding:var(--s4) var(--s3);display:flex;flex-direction:column}.mobile-menu .wordmark{margin-bottom:var(--s5)}.mobile-menu .modal-close{top:var(--s4);right:var(--s3);border-color:var(--line-dark)}.mobile-nav{display:grid}.mobile-nav>a,.mobile-nav>details>summary{font-family:var(--font-display);font-size:30px;text-decoration:none;padding-block:var(--s2);border-bottom:1px solid var(--gold);list-style:none;cursor:pointer}.mobile-nav details>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1) var(--s2);padding-block:var(--s2)}.mobile-nav details a{font-size:var(--fs-small);min-height:var(--target);display:flex;align-items:center}.mobile-actions{margin-top:auto;padding-top:var(--s6);display:grid;gap:var(--s3)}.mobile-actions .phone{font-family:var(--font-display);font-size:30px;text-decoration:none}.mobile-actions .button{width:100%}.estimator{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);align-items:start}.estimator fieldset{border:0;padding:0;margin:0 0 var(--s3);min-width:0}.estimator legend{font:400 var(--fs-h3)/1.3 var(--font-display);margin-bottom:var(--s3)}.estimator label{font-size:var(--fs-small);display:block;margin-bottom:var(--s1)}.estimator input,.estimator select{height:var(--control);background:var(--cream);border:1px solid var(--line);padding:12px var(--s2);border-radius:var(--radius);max-width:100%;width:100%;font-size:16px}.estimator select{padding-right:var(--s4)}.estimator .area-row,.estimator-area,.dimension-row,.tile-options,.estimator-fields,.custom-size,.dimension-pair,.estimator-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.estimator .area-row{position:relative;padding-block:var(--s3);border-bottom:1px solid var(--line)}.estimator .area-row legend{margin-bottom:var(--s1)}.estimator .area-remove{font-size:12px;color:var(--cherokee);text-decoration:underline;min-height:44px}.estimator .add-area,.estimator [data-add-area]{font-size:var(--fs-small);min-height:var(--target);text-decoration:underline;text-underline-offset:5px;padding:0;color:var(--cherokee);margin-block:var(--s2)}.estimator .estimator-results,.estimator .results-panel{background:var(--oak);color:var(--cream);padding:var(--s5);min-width:0}.estimator .estimator-results .eyebrow,.estimator .results-panel .eyebrow{color:var(--gold)}.estimator-results h3,.results-panel h3{color:var(--cream)}.estimator-results .result-primary,.results-panel .result-primary{padding-block:var(--s3);border-bottom:1px solid var(--line-dark)}.estimator-results .result-value,.results-panel .result-value{font-family:var(--font-display);font-size:clamp(36px,4vw,64px);line-height:1.1}.estimator-results dl,.results-panel dl{margin:0}.estimator-results dt,.results-panel dt{font-size:var(--fs-small);color:var(--stone)}.estimator-results dd,.results-panel dd{font-family:var(--font-display);font-size:32px;margin:0 0 var(--s2)}.estimator-results svg,.results-panel svg{display:block;width:100%;height:160px;margin-block:var(--s3);border:1px solid var(--line-dark)}.estimator-results .planning-note,.results-panel .planning-note,.estimator-note{font-size:12px;line-height:1.7;color:var(--stone)}.estimator-results button,.results-panel button{border:1px solid var(--stone);min-height:var(--control);width:100%;color:var(--cream);padding:var(--s2);font-size:var(--fs-small);margin-top:var(--s3)}.estimator-results :focus-visible,.results-panel :focus-visible{outline-color:var(--gold)}.estimator-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-block:var(--s3)}.estimator-unit{font-size:var(--fs-small);color:var(--stone)}.estimator-help{font-size:12px;color:var(--muted);margin-top:var(--s1)}.ground-accordion{display:flex;gap:0;border-block:1px solid var(--line);min-height:480px}.ground-panel{flex:1;min-width:0;display:flex;border-right:1px solid var(--line);transition:flex-grow 300ms var(--ease)}.ground-panel:last-child{border-right:0}.ground-panel.is-open,.ground-panel.active{flex-grow:6}.ground-trigger{width:var(--s10);flex-shrink:0;display:flex;align-items:center;flex-direction:column;gap:var(--s4);padding:var(--s4) var(--s2);text-align:left;position:relative}.ground-trigger .number,.ground-number{font-family:var(--font-display);font-size:28px;color:var(--cherokee)}.ground-trigger .label,.ground-label{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-size:22px;letter-spacing:0;text-transform:none;white-space:normal}.ground-trigger[aria-expanded=true]{background:var(--stone)}.ground-content{display:flex;flex-direction:column;min-width:0;padding:var(--s4);opacity:1;transition:opacity 180ms var(--ease)}.ground-content img{width:100%;height:210px;object-fit:cover;margin-bottom:var(--s3)}.ground-content h3{margin-bottom:var(--s2)}.ground-content p{font-size:var(--fs-small);line-height:1.7}.ground-panel:not(.is-open):not(.active) .ground-content{display:none}.timeline{display:flex;gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) var(--oak-2);padding-bottom:var(--s3)}.timeline-step{flex:1;min-width:0;position:relative;padding-top:var(--s5);border-top:1px solid var(--gold);scroll-snap-align:start}.timeline-step::before{content:'';position:absolute;top:-4px;left:0;width:var(--s1);height:var(--s1);background:var(--gold)}.timeline-step .step-number,.timeline-step .number{font-family:var(--font-display);font-size:clamp(40px,5vw,64px);line-height:1.1;color:var(--gold);display:block;margin-bottom:var(--s3)}.timeline-step h3{max-width:14ch;font-size:24px}.timeline-step p{font-size:var(--fs-small);color:var(--stone);line-height:1.7}.timeline-controls{display:none;gap:var(--s1);justify-content:end;margin-bottom:var(--s4)}.dark .icon-button{border-color:var(--line-dark)}.lightbox{width:min(1200px,95vw);background:var(--oak);color:var(--cream)}.lightbox .modal-panel{padding:var(--s5)}.lightbox img{width:100%;height:min(68vh,780px);object-fit:contain}.lightbox h3{margin-top:var(--s3);margin-bottom:var(--s1)}.lightbox-controls,.lightbox-meta,.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s3)}.lightbox :focus-visible{outline-color:var(--gold)}.project-gallery>figure{background:var(--stone);position:relative}.project-gallery [data-gallery-main]{width:100%;height:min(68vw,720px);object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding-block:var(--s3)}.gallery-controls button{min-width:var(--target);min-height:var(--target);border:1px solid var(--line);padding-inline:var(--s2)}.gallery-thumbs{display:flex;gap:var(--s2);overflow:auto;scroll-snap-type:x mandatory}.gallery-thumbs a,.gallery-thumbs button{flex:0 0 120px;padding:0;border:2px solid transparent;min-height:var(--target)}.gallery-thumbs [aria-current=true],.gallery-thumbs [aria-pressed=true]{border-color:var(--cherokee)}.gallery-thumbs img{width:120px;height:88px;object-fit:cover}.project-nav{display:flex;justify-content:space-between;gap:var(--s5);padding-block:var(--s6)}.project-nav a{font-family:var(--font-display);font-size:var(--fs-h3);max-width:40%}.editorial-copy{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.editorial-copy h3{margin-top:var(--s4)}.editorial-copy p{font-size:var(--fs-body)}.pull-line{font-family:var(--font-display);font-size:clamp(28px,3vw,42px);line-height:1.4;border-left:1px solid var(--gold);padding-left:var(--s4)}.content-band:nth-of-type(even){background:var(--stone)}.content-band .split>h2{font-size:clamp(26px,2.5vw,36px)}.material-list{margin-top:var(--s5)}.material-row{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:var(--s4);padding-block:var(--s3);border-top:1px solid var(--line);font-size:var(--fs-small)}.material-row h3{margin:0;font-size:23px}.material-row p{margin:0}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}.principle{padding-right:var(--s4);border-right:1px solid var(--line)}.principle:last-child{border:0}.principle .art-panel{margin-bottom:var(--s3)}.principle p{font-size:var(--fs-small);color:var(--muted)}.city-principles{grid-template-columns:1fr 1fr;gap:var(--s6)}.city-principles .principle{border:0;border-top:1px solid var(--line);padding-top:var(--s3)}.square-list{list-style:none;padding:0;margin:0}.square-list li{padding:var(--s2) 0 var(--s2) var(--s3);position:relative;border-bottom:1px solid var(--line)}.square-list li::before{content:'';width:5px;height:5px;background:var(--cherokee);position:absolute;left:0;top:1.6em}.privacy-layout{display:grid;grid-template-columns:260px minmax(0,68ch);gap:var(--s10);justify-content:start}.privacy-toc{position:sticky;top:var(--s16);align-self:start;border-top:1px solid var(--gold);padding-top:var(--s3);font-size:var(--fs-small)}.privacy-toc ol{padding-left:var(--s3)}.privacy-toc li{padding-block:var(--s1)}.privacy-copy h2{font-size:28px;margin-top:var(--s7);scroll-margin-top:var(--s16)}.privacy-copy p{font-size:17px}.privacy-hero{padding-block:var(--s10);border-bottom:1px solid var(--line)}
/* 07 — Utilities */
.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}.full-width{grid-column:1/-1}.no-margin{margin:0}.align-end{text-align:right}.placeholder{font-size:12px;color:var(--muted)}.dark .placeholder{color:var(--stone)}.desktop-only{display:block}.mobile-only{display:none}.nowrap{white-space:nowrap}
/* 08 — Responsive adaptations */
@media(min-width:1600px){.hero-photo{height:620px}.hero-lintel{padding-right:var(--s10)}}
@media(max-width:1279px){.desktop-nav{gap:var(--s3)}.header-actions{gap:var(--s2)}.header-phone{display:none}.header-inner{gap:var(--s3)}.header-actions .button{padding-inline:var(--s3)}.wordmark strong{font-size:23px}.wordmark .art-mark{width:48px;height:48px}.desktop-nav>a,.nav-trigger{font-size:10px}.split,.faq-layout{gap:var(--s7)}.service-window{padding-inline:var(--s3)}.service-window h3{font-size:24px}.footer-grid{gap:var(--s4)}.ground-trigger{width:64px}.ground-content{padding:var(--s3)}.estimator{gap:var(--s5)}}
@media(max-width:1023px){.desktop-nav,.header-actions>.button{display:none}.header-phone{display:block}.menu-toggle{display:inline-flex}.header-inner{height:88px}.hero-lintel{padding-right:var(--s4)}.hero-note{font-size:10px;padding-left:var(--s2)}.split{gap:var(--s6)}.estimator{gap:var(--s4)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-quick{grid-column:2/4}.timeline-step{flex:0 0 28%;min-width:220px}.timeline-controls{display:flex}.ground-accordion{display:block;min-height:0}.ground-panel{display:block;border-right:0;border-bottom:1px solid var(--line)}.ground-trigger{width:100%;flex-direction:row;padding:var(--s3) var(--s2);gap:var(--s3);min-height:var(--s10)}.ground-trigger .label,.ground-label{writing-mode:horizontal-tb;transform:none;font-size:24px}.ground-content{padding:var(--s4)}.ground-content img{height:300px}.ground-panel.is-open .ground-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.ground-content img{grid-row:1/3}.ground-content h3{align-self:end}.ground-content p{grid-column:2}.ground-content>div{align-self:center}.principles{grid-template-columns:1fr 1fr;gap:var(--s6)}.principle:nth-child(2){border:0}.privacy-layout{grid-template-columns:220px minmax(0,1fr);gap:var(--s5)}}
@media(max-width:767px){:root{--gutter:20px;--section:80px}.art-band-top{display:none}.header-inner{height:76px}.wordmark strong{font-size:21px}.wordmark small{font-size:8px}.wordmark .art-mark{width:42px;height:42px}.wordmark{gap:12px}.header-actions{gap:var(--s1)}.header-phone{display:none}.site-header.is-compact .header-inner{height:64px}.hero-photo{height:300px;aspect-ratio:4/3;object-position:center}.hero-layout{display:block}.hero-lintel{margin-top:calc(-1 * var(--s5));padding:0 var(--s2) 0 0}.hero-lintel>.art-band{margin-bottom:var(--s3);height:12px}.hero-lintel .eyebrow{font-size:var(--fs-small);margin-bottom:var(--s2);max-width:36ch}.hero-home h1{font-size:clamp(38px,8vw,60px);max-width:15ch;line-height:1.08;letter-spacing:.055em}.hero-lintel h1{margin-bottom:var(--s3)}.hero-lintel .lead{font-size:17px;line-height:1.6}.hero-actions{gap:var(--s3);margin-top:var(--s3)}.hero-actions .button{padding-inline:var(--s3);font-size:15px;min-height:50px}.hero-actions .phone{font-size:23px}.hero-note{display:none}.hero{padding-bottom:var(--s5)}.hero-inner .hero-photo{height:260px}.hero-inner .hero-lintel h1{font-size:clamp(32px,7vw,48px)}.breadcrumb{font-size:12px}.section-heading{gap:var(--s3);margin-bottom:var(--s5)}.section-top{display:block;margin-bottom:var(--s5)}.section-top p{margin-top:var(--s3)}.services-section{padding-top:var(--s6)}.service-windows{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--cherokee) var(--stone);padding-bottom:var(--s2);margin-right:calc(-1*var(--gutter))}.service-window{flex:0 0 76%;scroll-snap-align:start;padding:var(--s3);border-right:1px solid var(--line)}.service-window:first-child{padding-right:var(--s3)}.service-window:last-child{padding-right:var(--s3)}.service-window .window-photo{margin-bottom:var(--s3)}.window-photo img{aspect-ratio:3/4;max-height:380px}.service-window h3{font-size:25px}.service-window p{min-height:0}.service-window .link-arrow{margin-top:var(--s1)}.split,.two-col,.faq-layout,.estimator{grid-template-columns:1fr;gap:var(--s5)}.estimator .estimator-results,.estimator .results-panel{padding:var(--s4)}.estimator fieldset{margin-bottom:var(--s2)}.ground-panel.is-open .ground-content{display:block}.ground-content img{height:240px}.ground-content h3{margin-bottom:var(--s2)}.ground-content{padding:var(--s3)}.ground-trigger .label,.ground-label{font-size:21px}.timeline-step{flex:0 0 82%;min-width:0;padding-right:var(--s3)}.timeline-step h3{max-width:20ch}.timeline-step p{max-width:32ch}.timeline{gap:var(--s3);margin-right:calc(-1*var(--gutter))}.project-feature img{aspect-ratio:4/3}.project-caption{gap:var(--s2);padding-block:var(--s3)}.project-caption h3{font-size:23px}.project-caption .meta{font-size:12px}.project-caption>svg{width:24px}.projects-row{grid-template-columns:1fr;gap:var(--s5)}.project-card .project-caption{padding-block:var(--s2)}.project-feature{margin-bottom:var(--s5)}.project-end{justify-content:start;margin-top:var(--s4)}.review-panel{padding:var(--s3);min-height:160px}.review-bottom{display:block}.review-bottom .profile-link{margin-top:var(--s2)}.map-frame iframe{height:300px}.map-meta{display:block}.map-meta .link-arrow{margin-top:var(--s2)}.faq-intro{position:static}.faq-intro h2{max-width:none}.faq-list summary{font-size:23px;padding-block:var(--s3)}.faq-list details p{font-size:16px}.cta-inner{display:block}.final-cta{padding-block:var(--s7)}.final-cta h2{max-width:18ch;margin-bottom:var(--s4)}.cta-actions{gap:var(--s3)}.cta-actions .phone{font-size:25px}.form-panel{padding:var(--s3)}.lead-form{grid-template-columns:1fr;gap:var(--s2)}.contact-details{padding-left:0}.contact-line{padding-block:var(--s2)}.site-footer>.art-band{margin-bottom:var(--s6)}.footer-grid{grid-template-columns:1fr 1fr;gap:var(--s5) var(--s3);padding-bottom:var(--s6)}.footer-company{grid-column:1/-1;max-width:36ch}.footer-quick{grid-column:auto}.footer-areas{grid-column:2;grid-row:2/4}.footer-heading{font-size:11px;margin-bottom:var(--s2)}.footer-links a{font-size:13px;min-height:44px}.footer-bottom{display:block;font-size:11px;padding-bottom:60px}.footer-bottom p+p{margin-top:var(--s1)}.cta-bar .label{display:none}.cta-bar .container{justify-content:center}.cta-bar .cta-actions{width:100%;justify-content:space-between;gap:var(--s1)}.cta-bar .phone{font-size:20px}.cta-bar .button{font-size:9px;padding-inline:var(--s2)}.modal-panel{padding:var(--s6) var(--s3) var(--s4)}.quote-modal{max-width:calc(100vw - var(--s3));max-height:calc(100dvh - var(--s3))}.modal-panel h2{font-size:27px}.modal-panel>.eyebrow{font-size:10px}.lightbox .modal-panel{padding:var(--s6) var(--s2) var(--s3)}.lightbox img{height:55vh}.lightbox-controls,.lightbox-meta,.lightbox-caption{flex-wrap:wrap}.project-gallery [data-gallery-main]{height:70vh}.gallery-thumbs a,.gallery-thumbs button{flex-basis:90px}.gallery-thumbs img{width:90px;height:70px}.project-nav{gap:var(--s3)}.project-nav a{font-size:20px;max-width:48%}.editorial-copy{grid-template-columns:1fr;gap:var(--s3)}.pull-line{font-size:30px}.principles{gap:var(--s4);grid-template-columns:1fr}.principle{border:0;border-bottom:1px solid var(--line);padding:0 0 var(--s3)}.principle .art-panel{max-width:180px}.city-principles{grid-template-columns:1fr}.material-row{grid-template-columns:1fr;gap:var(--s1)}.material-row h3{margin-bottom:var(--s1)}.privacy-layout{grid-template-columns:1fr;gap:var(--s5)}.privacy-toc{position:static}.privacy-toc ol{columns:2;column-gap:var(--s4);font-size:12px}.privacy-copy h2{font-size:24px}.privacy-hero{padding-block:var(--s7)}.desktop-only{display:none}.mobile-only{display:block}}
@media(max-width:389px){.hero-home .hero-photo{height:220px}.hero-home h1{font-size:38px}.hero-lintel .lead{font-size:16px}.hero-actions{gap:var(--s2)}.hero-actions .phone{font-size:21px}.hero-actions .button{padding-inline:var(--s2);font-size:15px}.hero-lintel>.art-band{margin-bottom:var(--s2)}.hero-home .hero-actions{margin-top:var(--s2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important}}
@media print{.site-header,.site-footer,.cta-bar,.hero-actions,.final-cta,dialog,.timeline-controls{display:none!important}.hero-photo{height:180px}.section{padding-block:var(--s5)}body{font-size:12px}.hero-lintel{margin-top:0}.ground-accordion,.ground-panel,.ground-content{display:block!important}.faq-list details>p{display:block}.container{width:100%}}

/* Component contract integration */
.estimator{display:block}.estimator-interface{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);align-items:start}.estimator-area{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding-bottom:var(--s3)!important;border-bottom:1px solid var(--line)!important;margin-bottom:var(--s3)!important}.estimator-area legend{font-size:23px}.estimator-dimension{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1) var(--s2)}.estimator-dimension-label{grid-column:1/-1;font-size:var(--fs-small);font-weight:600;margin-bottom:var(--s1)}.estimator-unit-field label{font-size:12px;color:var(--muted)}.estimator .estimator-remove{grid-column:1/-1;min-height:var(--target);justify-self:end;padding:0;color:var(--cherokee);text-decoration:underline;font-size:12px}.estimator .estimator-add-area{padding:0;min-height:var(--target);margin-bottom:var(--s3);font-size:var(--fs-small);color:var(--cherokee);text-decoration:underline;text-underline-offset:5px}.estimator-field{margin-bottom:var(--s3)}.estimator-custom-tile{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-bottom:var(--s3)}.estimator-output{background:var(--oak);color:var(--cream);padding:var(--s5)}.estimator-preview-wrap{padding-bottom:var(--s3);border-bottom:1px solid var(--line-dark);margin-bottom:var(--s4)}.estimator-preview{display:block;width:100%;height:160px;color:var(--gold)}.estimator .estimator-results{background:transparent;padding:0}.estimator-results dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.estimator-results dl>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line-dark);padding-bottom:var(--s2)}.estimator-results dl>div:first-child dd{font-size:clamp(42px,4.5vw,64px)}.estimator-results dt{font-size:12px;margin-bottom:var(--s1)}.estimator-results dd{font-size:29px}.estimator-note{margin-top:var(--s3)}.estimator-status{font-size:12px;color:var(--stone);margin-top:var(--s3)}.estimator .estimator-send{width:100%;margin-top:var(--s3);border-color:var(--stone);color:var(--cream);background:transparent;font-size:10px;padding-inline:var(--s2)}.estimator .estimator-send:hover{background:var(--oak-2)}.estimator-output :focus-visible{outline-color:var(--gold)}.ground-panel.is-active{flex-grow:6}.ground-accordion.is-enhanced .ground-panel:not(.is-active) .ground-content{display:none}.ground-accordion .ground-panel.is-active .ground-content{display:flex}.ground-accordion:not(.is-enhanced){display:block}.ground-accordion:not(.is-enhanced) .ground-panel{display:block}.ground-accordion:not(.is-enhanced) .ground-content{display:block!important}.ground-accordion:not(.is-enhanced) .ground-trigger{width:100%;flex-direction:row}.ground-accordion:not(.is-enhanced) .ground-label{writing-mode:horizontal-tb;transform:none}.process-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s7)}.process-header h2{margin:0}.timeline-step .timeline-number{font-family:var(--font-display);font-size:clamp(40px,5vw,64px);line-height:1.1;color:var(--gold);margin-bottom:var(--s3)}.timeline-control{min-width:var(--target);min-height:var(--target);border:1px solid var(--line-dark);color:var(--cream);padding:var(--s1) var(--s2);font-size:var(--fs-small)}.lightbox-close{position:absolute;right:var(--s2);top:var(--s2);width:var(--target);height:var(--target);font-size:32px;line-height:1;border:1px solid var(--line-dark);background:var(--oak);color:var(--cream)}.lightbox-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);margin-top:var(--s3)}.lightbox-prev,.lightbox-next{min-height:var(--target);padding:var(--s1) var(--s2);border:1px solid var(--line-dark);color:var(--cream)}.lightbox-name{font-family:var(--font-display);font-size:24px}.lightbox-caption p{margin-bottom:0}.lightbox-room,.lightbox-counter{font-size:var(--fs-small)}.lightbox-project-link{min-height:var(--target);display:inline-flex;align-items:center;font-size:var(--fs-small)}
@media(max-width:1023px){.ground-accordion .ground-panel.is-active .ground-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.ground-content .ground-copy{align-self:center}.ground-content img{grid-row:auto}.estimator-interface{gap:var(--s4)}}
@media(max-width:767px){.estimator-interface{grid-template-columns:1fr;gap:var(--s5)}.estimator-area{gap:var(--s2)}.estimator-dimension{gap:var(--s1)}.estimator-output{padding:var(--s4)}.ground-accordion .ground-panel.is-active .ground-content{display:block}.ground-content .ground-copy{padding-top:var(--s2)}.process-header{display:block;margin-bottom:var(--s5)}.process-header .timeline-controls{margin:var(--s4) 0 0}.lightbox-caption{display:block}.lightbox-caption p{margin-bottom:var(--s1)}.lightbox-actions{font-size:12px}.lightbox-prev,.lightbox-next{padding-inline:var(--s1)}}

.project-caption>svg{width:var(--s4);height:var(--s4)}
@media(max-width:767px){.hero-actions{flex-wrap:nowrap;gap:12px}.hero-actions .button{padding-inline:12px;font-size:15px;flex-shrink:1}.hero-actions .phone{font-size:20px;white-space:nowrap;flex-shrink:0}}

/* Final accessible touch targets and deliberate photographic framing */
a[href^="tel:"]{display:inline-flex;align-items:center;min-height:var(--target)}.hero-photo{object-position:50% 72%}.hero-inner .hero-photo{object-position:50% 58%}.ground-accordion.is-enhanced .ground-panel.is-active .ground-content{animation:none}.ground-accordion.is-enhanced .ground-panel.is-active .ground-copy{transition:opacity 180ms var(--ease) 300ms}.header-actions>.button{background:transparent;color:var(--cherokee)}.header-actions>.button:hover{background:var(--stone)}

@media(min-width:768px){.hero-photo,.hero-inner .hero-photo{height:calc(100vw * 9 / 21)}}

@keyframes reveal-panel-copy{from{opacity:0}to{opacity:1}}
.ground-accordion.is-enhanced .ground-panel.is-active .ground-copy{animation:reveal-panel-copy 180ms var(--ease) 300ms both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-delay:0ms!important;transition-delay:0ms!important}}

.footer-company>.wordmark{display:flex;line-height:inherit}
@media(max-width:767px){.header-actions>.header-phone{display:none}}

/* 09 — Redesign: stage hero, service index, labels */
html,body{overflow-x:clip}
.button{font-size:16px}
.button:active{transform:translateY(1px)}
.link-arrow:active,.desktop-nav>a:active{color:var(--cherokee-hover)}
.project-nav a{text-decoration:none}
.project-nav a:last-child{text-align:right}
.project-nav small{display:block;margin-bottom:var(--s1);font:500 var(--fs-small)/1.4 var(--font-body);color:var(--muted)}
.project-nav a:hover small{color:var(--cherokee)}
[data-gallery-prev] svg,[data-gallery-next] svg{width:20px;height:20px}
.gallery-prev svg{transform:scaleX(-1)}

.hero-split{padding:var(--s6) 0 var(--s10)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8);align-items:center}
.hero-copy{min-width:0}
.hero-copy>.art-band{display:block;width:100%;height:16px;margin-bottom:var(--s5)}
.hero-split h1{font-size:clamp(40px,4.6vw,68px);line-height:1.04;letter-spacing:.05em;margin:0 0 var(--s4);overflow-wrap:break-word;min-width:0;text-wrap:balance}
.hero-split .lead{max-width:34ch;margin:0;color:var(--muted)}
.hero-split .hero-actions{margin-top:var(--s5)}
.hero-figure{margin:0;min-width:0}
.hero-inner.hero-split .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-inner.hero-split h1{font-size:clamp(34px,3.7vw,54px);line-height:1.08}
.hero-inner.hero-split .breadcrumb{margin-bottom:var(--s3)}
.hero-split .spec-line{margin:var(--s2) 0 0;max-width:52ch}
.hero-inner.hero-split .hero-photo{height:min(540px,calc(100svh - 240px))}
.hero-split .hero-photo{width:100%;height:min(600px,calc(100svh - 220px));min-height:380px;object-fit:cover;object-position:center 60%}

.service-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.service-row{position:relative;display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;grid-template-areas:"thumb text link";gap:var(--s6);align-items:center;padding-block:var(--s4);border-bottom:1px solid var(--line)}
.service-thumb{grid-area:thumb;display:block;overflow:hidden}
.service-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}
.service-text{grid-area:text;min-width:0}
.service-text h3{font-size:clamp(24px,2.4vw,34px);line-height:1.15;margin:0 0 var(--s1)}
.service-text h3 a{text-decoration:none}
.service-text h3 a::after{content:'';position:absolute;inset:0}
.service-text p{margin:0;max-width:46ch;color:var(--muted)}
.service-row .link-arrow{grid-area:link;position:relative;z-index:1;white-space:nowrap}
.service-row:hover .service-text h3 a{text-decoration:underline;text-decoration-thickness:1px}
.service-text h3 a:focus-visible{outline:0}
.service-text h3 a:focus-visible::after{outline:2px solid var(--cherokee);outline-offset:4px}

[data-estimator-result]:empty::before{content:'';display:inline-block;width:1.2em;height:2px;background:currentColor;vertical-align:middle}
.meta>span+span,.spec-line>span+span{margin-left:.6em;padding-left:.6em;border-left:1px solid var(--line)}

@media(max-width:1023px){.hero-inner.hero-split .hero-grid,.hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.hero-split .hero-photo{height:clamp(280px,56vw,460px);min-height:0}.service-row{grid-template-columns:minmax(0,160px) minmax(0,1fr);grid-template-areas:"thumb text" "thumb link";gap:var(--s1) var(--s4);align-items:start}.service-row .link-arrow{justify-self:start}}
@media(max-width:767px){.hero-split{padding:var(--s4) 0 var(--s6)}.hero-copy>.art-band{height:12px;margin-bottom:var(--s3)}.hero-split h1{font-size:clamp(36px,10vw,52px)}.hero-inner.hero-split h1{font-size:clamp(30px,8.5vw,42px)}.hero-split .hero-actions .button{font-size:15px;padding-inline:var(--s3)}.hero-split .hero-photo,.hero-inner.hero-split .hero-photo{height:300px}.service-row{grid-template-columns:96px minmax(0,1fr);gap:var(--s1) var(--s3);padding-block:var(--s3)}.service-text p{font-size:var(--fs-small)}}
@media(prefers-reduced-motion:reduce){.button:active{transform:none}}

/* 10 — Level test */
.level-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s8);align-items:start}
.level-copy{min-width:0}
.level-intro{margin:0 0 var(--s5);max-width:38ch}
.level-controls{display:grid;gap:var(--s4);margin-bottom:var(--s5)}
.level-field{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2)}
.level-field label,.level-sizes legend{font-size:var(--fs-small);font-weight:500}
.level-field output{font:400 var(--fs-h3)/1 var(--font-display);font-variant-numeric:tabular-nums}
.level-range{width:100%;margin:calc(-1*var(--s2)) 0 0;accent-color:var(--cherokee);min-height:var(--target);cursor:pointer}
.level-sizes{border:0;margin:0;padding:0;min-width:0}
.level-sizes legend{padding:0;margin-bottom:var(--s1)}
.level-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--oak)}
.level-segments label{position:relative;display:block;cursor:pointer}
.level-segments label+label{border-left:1px solid var(--oak)}
.level-segments input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.level-segments span{display:flex;align-items:center;justify-content:center;min-height:var(--target);font:400 20px/1 var(--font-display);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}
.level-segments label:hover span{background:var(--cream)}
.level-segments input:checked+span{background:var(--oak);color:var(--cream)}
.level-segments input:focus-visible+span{outline:2px solid var(--cherokee);outline-offset:3px}
.level-segments input:active+span{background:var(--oak-2);color:var(--cream)}
.level-fix{min-height:var(--control);padding:var(--s2) var(--s4);border:1px solid var(--cherokee);border-radius:var(--radius);background:transparent;color:var(--cherokee);font:600 16px/1.2 var(--font-body);cursor:pointer;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}
.level-fix:hover,.level-fix[aria-pressed=true]{background:var(--cherokee);color:var(--cream)}
.level-fix[aria-pressed=true]:hover{background:var(--cherokee-hover)}
.level-fix:active{transform:translateY(1px)}
.level-stage{margin:0;min-width:0;background:var(--cream);border:1px solid var(--line);padding:var(--s4) var(--s4) var(--s3)}
.level-readout{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}
.level-readout span{font-size:var(--fs-small);color:var(--muted)}
.level-readout strong{font:400 var(--fs-h1)/1 var(--font-display);font-variant-numeric:tabular-nums}
.level-svg{display:block;width:100%;height:auto;margin-top:var(--s3)}
.lv-slab{fill:var(--oak-2)}
.lv-bed{fill:var(--gold);opacity:.45}
.lv-tile{fill:var(--stone);stroke:var(--oak);stroke-width:1.5}
.lv-step{stroke:var(--cherokee);stroke-width:3}
.lv-label{fill:var(--cherokee);font:600 18px var(--font-body)}
.level-stage figcaption{margin-top:var(--s3);font-size:var(--fs-small);color:var(--muted);max-width:60ch}
@media(max-width:1023px){.level-layout{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.level-copy{display:contents}.level-intro{order:1;max-width:52ch;margin:0}.level-stage{order:2}.level-controls{order:3;margin:0}.level-ask{order:4;justify-self:start}}
@media(max-width:767px){.level-stage{padding:var(--s3) var(--s2) var(--s2)}.level-readout{flex-direction:column;gap:var(--s1)}.lv-label{font-size:30px}}
@media(prefers-reduced-motion:reduce){.level-fix:active{transform:none}}
