/* Greater Is He... Construction — Craftsman's Fieldbook / Edition 02.
   Foundational accessibility/layout rules followed by the full art-direction layer. */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/anton-latin.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2')}

:root{--ivory:#f7f4f1;--paper:#fffdfb;--charcoal:#272727;--teal:#177986;--teal-dark:#105e69;--tan:#c3936b;--muted:#635f59;--line:#d7d1c9;--font-body:'Source Sans 3',Arial,sans-serif;--font-display:'Anton','Arial Narrow',Impact,sans-serif;--gutter:clamp(20px,5vw,80px);--max:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--font-body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
::selection{background:var(--teal);color:white}
[hidden]{display:none!important}
.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(56px,6.65vw,102px);text-transform:uppercase;margin-bottom:28px}
h2{font-size:clamp(40px,4.4vw,66px);text-transform:uppercase;margin-bottom:24px}
h3{font-size:clamp(27px,2.4vw,36px);margin-bottom:16px}
p{margin-bottom:22px}p:last-child{margin-bottom:0}
ul,ol{padding-left:1.2em}li+li{margin-top:8px}
.eyebrow{display:flex;align-items:center;gap:13px;color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;margin:0 0 24px}
.eyebrow::before{content:'';width:28px;height:2px;background:currentColor;flex:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 23px;border:1px solid transparent;background:none;text-decoration:none;font-size:16px;font-weight:700;line-height:1.25;transition:background .18s,color .18s,border-color .18s;white-space:normal;text-align:center}
.button-primary{background:var(--teal);border-color:var(--teal);color:#fff}
.button-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark)}
.button-outline{border-color:var(--charcoal);color:var(--charcoal)}
.button-outline:hover{background:var(--charcoal);color:var(--ivory)}
.text-link{font-weight:700;color:var(--teal);text-decoration-thickness:1px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--charcoal);color:#fff;padding:14px 20px}
.skip-link:focus{top:16px}

/* The detailed placeholder remains intact, with a separate readable name. */
.site-header{position:relative;z-index:20;background:var(--ivory);border-bottom:1px solid var(--line)}
.site-header>.container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.brand img{width:80px;height:80px;object-fit:contain}
.brand-name{display:block;max-width:165px;font-family:var(--font-display);font-size:22px;line-height:1.12;text-transform:uppercase;letter-spacing:.005em}
.brand-name small,.brand-name span{display:block;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.21em;line-height:1.7}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2vw,30px)}
.desktop-nav a{position:relative;text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap;padding:14px 0}
.desktop-nav a::after{content:'';position:absolute;left:0;bottom:7px;width:100%;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:20px}
.header-actions>a:not(.button){font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none}
.header-actions .button{min-height:46px;font-size:14px;padding:12px 18px}
.menu-toggle{display:none;min-height:44px;padding:8px 12px;background:none;border:1px solid var(--line);font-weight:700;color:var(--charcoal)}
.mobile-menu{border-top:1px solid var(--line);padding:12px var(--gutter) 24px;background:var(--ivory)}
.mobile-menu a{display:block;padding:12px 0;text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.mobile-menu .button{margin-top:16px;padding:15px}

/* Strong type and honest photography: no motion-dependent content. */
.hero{padding-block:64px 72px;overflow:hidden}
.hero>.container,.hero.container{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,76px);align-items:center}
.hero-copy{position:relative;z-index:1;padding-bottom:12px;min-width:0}
.hero-copy h1{max-width:690px}
.hero-copy h1 em,.hero-copy h1 .accent{font-style:normal;color:var(--teal)}
.hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:490px;color:var(--muted)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-actions>a:not(.button){font-size:16px;font-weight:700;text-decoration:none;padding:14px 0}
.hero-media{position:relative;min-width:0;margin:0;padding:0 0 21px 21px;isolation:isolate}
.hero-media::before{content:'';position:absolute;left:0;right:21px;top:30px;bottom:0;border:1px solid var(--tan);z-index:-1}
.hero-media>img,.hero-media>picture>img{width:100%;height:580px;max-height:65vw;object-fit:cover}
.hero-caption{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--charcoal);color:var(--ivory);padding:17px 20px;font-size:12px;line-height:1.5;letter-spacing:.035em}
.hero-caption strong{font-weight:600}.hero-caption span{color:#d4cfca}
.hero-caption::after{content:'↗';font-size:27px;line-height:1;color:var(--tan)}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eee9e3}
.trust-strip>.container{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:24px 28px;border-right:1px solid var(--line);font-size:14px;line-height:1.4}
.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0}
.trust-item strong{display:block;font-family:var(--font-display);font-size:27px;font-weight:400;line-height:1.2;margin-bottom:6px}
.trust-item span{color:var(--muted)}

.section{padding-block:clamp(70px,7vw,112px)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}
.section-heading>div{max-width:760px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;font-size:17px;color:var(--muted);margin-bottom:4px}
.section-heading>.button,.section-heading>a{flex-shrink:0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--charcoal);border-bottom:1px solid var(--line)}
.service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:32px 32px 34px 0;min-width:0;text-decoration:none;border-right:1px solid var(--line)}
.service-card+.service-card{padding-left:32px}.service-card:last-child{border-right:0;padding-right:0}
.service-number{display:block;font-size:12px;font-weight:700;color:var(--teal);letter-spacing:.12em;margin-bottom:36px}
.service-card h3{font-size:38px;text-transform:uppercase}.service-card p{font-size:17px;color:var(--muted);max-width:320px;margin-bottom:26px}
.service-card>a,.service-card .text-link{margin-top:auto;font-size:15px;font-weight:700;color:var(--teal);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.service-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}
.service-card:hover h3{color:var(--teal)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-card{min-width:0;text-decoration:none;display:block}
.project-image{overflow:hidden;background:#e3ddd4;aspect-ratio:4/3;position:relative}
.project-image img,img.project-image{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.project-card>a{display:block;text-decoration:none}.project-card:hover .project-image img{transform:scale(1.025)}
.project-copy{padding-top:20px;border-bottom:1px solid var(--line);padding-bottom:22px}
.project-copy .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:12px}.project-copy .eyebrow::before{width:16px}
.project-copy h3{font-size:27px;margin-bottom:12px}.project-copy p{font-size:16px;color:var(--muted)}
.project-copy>a{font-size:15px;color:var(--teal);font-weight:700}
.owner-section{background:var(--charcoal);color:var(--ivory);padding-block:clamp(70px,7vw,112px)}
.owner-section>.container{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(40px,8vw,120px)}
.owner-section .eyebrow{color:#81c6ca}.owner-copy h2{max-width:640px}.owner-copy>p:not(.eyebrow){color:#ded8d1;font-size:19px;max-width:600px}
.owner-copy .button{margin-top:14px;border-color:var(--ivory);color:var(--ivory)}.owner-copy .button:hover{background:var(--ivory);color:var(--charcoal)}
.owner-mark{position:relative;background:var(--ivory);padding:28px;max-width:480px}
.owner-mark img{width:100%;object-fit:contain;aspect-ratio:1}.owner-mark::after{content:'';position:absolute;inset:14px;border:1px solid var(--tan);pointer-events:none}
.owner-photo{width:100%;aspect-ratio:4/5;object-fit:cover}
.owner-signature{font-family:var(--font-display);font-size:28px;letter-spacing:.015em;margin-top:28px}
.owner-signature small{display:block;font-family:var(--font-body);font-size:13px;color:#d6cec5;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:process}
.process-step{border-top:1px solid var(--line);padding-top:25px}.process-step .service-number{margin-bottom:23px}.process-step p{color:var(--muted);font-size:17px}
.area-section{border-top:1px solid var(--line);padding-block:clamp(60px,7vw,100px)}
.area-section>.container{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.area-section p{color:var(--muted);max-width:510px}
.area-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;list-style:none;padding:0;margin:0;align-content:start}
.area-list li,.area-list>a,.area-list>span{border-bottom:1px solid var(--line);padding:14px 0;margin:0;font-size:16px}.area-list a{text-decoration:none}.area-list a:hover{color:var(--teal)}
.cta-band{padding-block:64px;background:var(--teal);color:#fff}
.cta-band>.container{display:flex;align-items:center;justify-content:space-between;gap:48px}.cta-band h2{font-size:clamp(40px,4.3vw,62px);margin-bottom:14px}.cta-band p{max-width:600px;color:#fff}
.cta-band .button-primary{background:var(--ivory);border-color:var(--ivory);color:var(--charcoal)}.cta-band .button-primary:hover{background:white;border-color:white}.cta-band .button-outline{color:#fff;border-color:#fff}.cta-band .button-outline:hover{background:#fff;color:var(--teal)}
.cta-band .hero-actions{margin:0;flex-shrink:0;max-width:330px}
.site-footer{background:var(--charcoal);color:var(--ivory);padding-top:64px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:52px}.footer-grid .brand{margin-bottom:20px}.footer-grid .brand img{background:var(--ivory)}
.footer-grid h3{font-family:var(--font-body);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#d6cec5;margin-bottom:22px}
.footer-grid p{font-size:15px;color:#d6cec5;max-width:290px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:0 0 10px}.footer-grid a{font-size:15px;text-decoration:none}.footer-grid a:hover{text-decoration:underline}
.footer-grid .brand-name{font-size:22px}.footer-grid .footer-phone{font-family:var(--font-display);font-size:26px;color:#fff;white-space:nowrap}
.footer-bottom{border-top:1px solid #52504c;padding-block:24px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:#d6cec5}.footer-bottom p{margin:0}.footer-bottom a{color:inherit}

/* Interior pages retain the homepage's visual hierarchy. */
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;color:var(--muted);margin-bottom:28px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.page-hero{padding-block:48px 64px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(52px,6.1vw,90px);max-width:1050px;margin-bottom:24px}.page-hero p:not(.eyebrow){font-size:21px;line-height:1.5;color:var(--muted);max-width:740px}
.page-hero .hero-actions{margin-top:28px}.page-hero .breadcrumb{font-size:13px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:clamp(40px,7vw,100px);align-items:start}
.content-section{padding-block:60px;border-bottom:1px solid var(--line)}.content-section:first-child{padding-top:0}.content-section:last-child{border-bottom:0;padding-bottom:0}
.content-section h2{font-size:clamp(35px,3.7vw,52px)}.content-section>p,.content-section>ul{max-width:740px;color:var(--muted)}
.content-section figure{margin:30px 0}.content-section figure img{width:100%;max-height:620px;object-fit:cover}.content-section figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.content-grid aside{padding:30px;background:#eee9e3;border-top:3px solid var(--teal)}.content-grid aside h2{font-size:30px}.content-grid aside p{font-size:17px}.content-grid aside .button{width:100%}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:23px 40px 23px 0;font-size:20px;font-weight:600;line-height:1.35}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:3px;top:18px;font-size:28px;font-weight:400;color:var(--teal)}.faq-list details[open] summary::after{content:'−'}
.faq-list details>p,.faq-list details>div{padding:0 40px 23px 0;color:var(--muted);max-width:880px;font-size:17px;margin:0}
.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,7vw,100px);align-items:start}.contact-card{border-top:3px solid var(--teal);padding:32px;background:#eee9e3}.contact-card h2{font-size:36px}.contact-card h3{font-size:25px}.contact-card p{font-size:17px}.contact-card>a[href^=tel]{font-family:var(--font-display);font-size:clamp(30px,3vw,44px);text-decoration:none;display:inline-block;margin-bottom:24px;color:var(--teal)}
form{display:grid;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:15px;font-weight:600;margin-bottom:8px}input,textarea,select{display:block;width:100%;background:var(--paper);border:1px solid #a49e96;border-radius:0;color:var(--charcoal);padding:13px 14px;min-height:51px}textarea{resize:vertical;min-height:140px}input::placeholder,textarea::placeholder{color:#747069;font-weight:400}form .button{justify-self:start}form small,.form-note,.form-status{font-size:14px;color:var(--muted)}.form-status:empty{display:none}.form-status{border-left:3px solid var(--teal);padding:12px 16px;background:#eee9e3}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.filter-bar button,.filter-bar a{border:1px solid var(--line);padding:10px 17px;min-height:44px;font-size:15px;font-weight:600;text-decoration:none;background:none;color:var(--charcoal)}.filter-bar [aria-pressed=true],.filter-bar .active,.filter-bar button:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}
.project-detail-grid,.before-after{display:grid;grid-template-columns:1fr 1fr;gap:24px}.before-after figure{margin:0}.before-after img{aspect-ratio:4/3;width:100%;object-fit:cover}.before-after figcaption{font-size:13px;margin-top:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}
.mobile-call{display:none}.prose{max-width:800px}.prose h2{margin-top:48px;font-size:40px}.prose p{color:var(--muted)}

@media(min-width:1600px){.hero{padding-block:80px 90px}.hero-media>img,.hero-media>picture>img{height:630px}}
@media(max-width:1200px){.site-header>.container{gap:16px}.brand-name{max-width:125px;font-size:20px}.brand img{width:68px;height:68px}.header-actions>a:not(.button){display:none}.desktop-nav{gap:20px}.hero{padding-top:48px}.hero-media>img,.hero-media>picture>img{height:530px}.footer-grid{gap:28px}}
@media(max-width:980px){:root{--gutter:32px}.desktop-nav,.header-actions>a:not(.button){display:none}.menu-toggle{display:inline-flex;align-items:center;gap:10px}.site-header>.container{min-height:92px}.brand-name{max-width:180px}.header-actions{margin-left:auto;gap:14px}.hero>.container,.hero.container{gap:32px;grid-template-columns:1.05fr 1fr}.hero h1{font-size:clamp(50px,7.2vw,76px)}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-media>img,.hero-media>picture>img{height:500px;max-height:none}.hero-actions .button{padding-inline:17px;font-size:15px}.trust-item{padding:22px 18px}.trust-item strong{font-size:23px}.service-card{padding-right:22px}.service-card+.service-card{padding-left:22px}.service-card h3{font-size:32px}.project-grid{gap:20px}.project-copy h3{font-size:24px}.owner-section>.container{gap:40px}.owner-mark{padding:20px}.area-section>.container{gap:40px;grid-template-columns:1fr 1fr}.area-list{grid-template-columns:1fr 1fr}.cta-band>.container{align-items:flex-start}.cta-band .hero-actions{max-width:230px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.content-grid{grid-template-columns:1.45fr 1fr;gap:32px}.contact-grid{gap:36px}}
@media(max-width:767px){:root{--gutter:22px}body{font-size:17px}html{scroll-padding-top:24px}.site-header>.container{min-height:86px;gap:10px}.brand img{width:62px;height:62px}.brand{gap:8px}.brand-name{font-size:18px;max-width:132px}.brand-name small,.brand-name span{font-size:8px}.header-actions .button{display:none}.header-actions{margin:0;gap:0}.menu-toggle{font-size:14px;min-height:44px}.hero{padding-block:38px 48px}.hero>.container,.hero.container{grid-template-columns:1fr;gap:35px}.hero-copy{padding:0}.hero h1{font-size:clamp(53px,11.8vw,82px);max-width:650px;margin-bottom:23px;line-height:1.035}.eyebrow{font-size:11px;margin-bottom:21px;letter-spacing:.13em}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:540px}.hero-actions{margin-top:25px;gap:10px}.hero-actions .button{font-size:15px;min-height:50px;padding:14px 19px}.hero-media{padding:0 0 14px 14px}.hero-media::before{top:22px;right:14px}.hero-media>img,.hero-media>picture>img{height:auto;aspect-ratio:4/3;max-height:480px}.hero-caption{font-size:11px;padding:15px 16px}.trust-strip>.container{grid-template-columns:1fr 1fr}.trust-item{padding:21px 16px;border-bottom:1px solid var(--line)}.trust-item:nth-child(odd){padding-left:0}.trust-item:nth-child(even){border-right:0}.trust-item:nth-child(n+3){border-bottom:0}.trust-item:last-child{padding-left:16px}.trust-item strong{font-size:25px}.trust-item span{font-size:13px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:42px}.section-heading>p{max-width:500px;margin-top:20px}.section-heading>a,.section-heading>.button{display:inline-flex;margin-top:23px}.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card,.service-card:last-child{padding:27px 0;border-right:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-number{margin-bottom:18px}.service-card h3{font-size:36px;margin-bottom:14px}.service-card p{max-width:580px;margin-bottom:19px}.service-card>img{aspect-ratio:16/9}.project-grid{grid-template-columns:1fr;gap:34px}.project-image{aspect-ratio:4/3}.project-copy h3{font-size:29px}.project-copy{padding-top:18px;padding-bottom:24px}.owner-section{padding-block:64px}.owner-section>.container{grid-template-columns:1fr;gap:36px}.owner-mark{max-width:400px;order:2}.owner-copy h2{font-size:44px}.owner-copy>p:not(.eyebrow){font-size:18px}.process-grid{grid-template-columns:1fr;gap:28px}.process-step{padding-top:22px}.process-step .service-number{margin-bottom:16px}.area-section{padding-block:64px}.area-section>.container{grid-template-columns:1fr;gap:30px}.area-list{grid-template-columns:1fr 1fr}.area-list li,.area-list>a,.area-list>span{font-size:16px}.cta-band{padding-block:48px}.cta-band>.container{display:block}.cta-band h2{font-size:42px}.cta-band .hero-actions{max-width:none;margin-top:25px}.site-footer{padding-top:46px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 25px;padding-bottom:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid .brand img{width:75px;height:75px}.footer-grid p{max-width:400px}.footer-bottom{flex-direction:column;gap:10px;padding-block:24px;font-size:12px}.page-hero{padding-block:30px 42px}.breadcrumb{font-size:12px;margin-bottom:28px}.page-hero h1{font-size:clamp(46px,10.8vw,76px);margin-bottom:22px}.page-hero p:not(.eyebrow){font-size:19px}.content-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.content-grid aside{padding:26px}.content-section{padding-block:40px}.content-section h2{font-size:37px}.contact-card{padding:26px}.form-row{grid-template-columns:1fr;gap:22px}.faq-list summary{font-size:19px}.faq-list details>p,.faq-list details>div{font-size:17px;padding-right:20px}.project-detail-grid,.before-after{grid-template-columns:1fr;gap:26px}.mobile-call{display:flex;align-items:center;justify-content:center;gap:14px;position:fixed;bottom:0;left:0;right:0;z-index:30;min-height:54px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--teal);color:#fff;text-decoration:none;font-weight:700;font-size:15px;box-shadow:0 -1px 0 #ffffff35}.mobile-call~*{scroll-margin-bottom:70px}body:has(.mobile-call){padding-bottom:calc(56px + env(safe-area-inset-bottom))}}
@media(max-width:380px){:root{--gutter:18px}.brand-name{font-size:17px;max-width:120px}.brand img{width:56px;height:56px}.hero h1{font-size:49px}.hero-actions .button{width:100%}.hero-caption{gap:10px}.hero-caption span{font-size:10px}.trust-item strong{font-size:23px}.footer-grid{gap:32px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-card:hover .project-image img{transform:none}}
@media print{.site-header,.site-footer,.mobile-call,.hero-actions,.menu-toggle,.filter-bar{display:none!important}body{background:white;color:black;font-size:12pt}.container{width:100%}.section,.owner-section,.area-section,.page-hero{padding-block:24px}.owner-section,.cta-band{background:white;color:black}.owner-copy>p:not(.eyebrow),.owner-section .eyebrow{color:black}h1{font-size:40pt}h2{font-size:25pt}a{color:black}.hero-media>img{height:auto}.content-grid{display:block}details>*{display:block!important}}

/* ═══════════════════════════════════════════════════════════════
   EDITION 02 — texture, measured geometry, layered editorial rhythm
   ═══════════════════════════════════════════════════════════════ */
:root{--ink:#202727;--ink-deep:#172020;--teal-light:#8ccbd0;--copper:#ba8863;--edge:rgba(195,147,107,.44);--gutter:clamp(22px,5vw,88px);--max:1360px;--ease:cubic-bezier(.2,.75,.2,1)}
body{background-color:var(--ivory);background-image:radial-gradient(ellipse at 5% 14%,#dbc8b024,transparent 35%);line-height:1.6}
body::after{content:'';position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
h1,h2,h3,h4{letter-spacing:-.018em}h2{font-size:clamp(38px,4.1vw,62px);line-height:1.08}h3{line-height:1.13}
.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;gap:12px}.eyebrow::before{width:20px;height:5px;border:1px solid currentColor;background:transparent}
.button{position:relative;min-height:56px;padding:16px 23px;gap:24px;font-size:15px;letter-spacing:.015em;transition:background .22s,border-color .22s,color .22s,transform .22s,box-shadow .22s;box-shadow:0 1px 0 #ffffff22 inset}
.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}
.button-primary{background:linear-gradient(125deg,#208a94,#146d78);border-color:#248792;box-shadow:0 8px 20px #0e55551a,0 1px 0 #ffffff24 inset}
.button-primary:hover{background:linear-gradient(125deg,#167581,#0d5661);box-shadow:0 10px 26px #0b3b392b,0 1px 0 #ffffff25 inset}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:15px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;transition:gap .22s,color .22s}.text-link:hover{gap:25px}
.site-header{position:relative;background:var(--ivory);border-bottom:1px solid #ccc6bd;box-shadow:0 1px 0 #fff inset}
.site-header>.container{min-height:100px;gap:22px}.brand{gap:10px}.brand img{width:76px;height:76px}.brand-name{font-size:22px;max-width:180px}.brand-name small,.brand-name span{font-size:10px;letter-spacing:.24em;margin-top:4px}
.desktop-nav{gap:25px}.desktop-nav a{font-size:14px;letter-spacing:.01em}.header-actions{gap:14px}.header-actions .button{font-size:13px;min-height:46px;padding:13px 18px}.header-actions>a:not(.button){font-size:13px}
html.is-scrolled .site-header{box-shadow:0 4px 24px #20272710}.menu-toggle{border-color:#b5aea3;font-size:14px;min-width:64px;justify-content:center}
.mobile-menu{padding-top:20px;padding-bottom:26px;background-image:linear-gradient(90deg,#fff9,transparent)}.mobile-menu a{padding:15px 0;font-size:18px}

/* Hero: an illuminated project plate inside a dark fieldbook spread. */
.hero,.hero-stage{position:relative;isolation:isolate;background:var(--ink);color:var(--ivory);padding-block:68px 76px;overflow:hidden;background-image:radial-gradient(ellipse at 76% 20%,#47727238,transparent 42%),linear-gradient(120deg,#202828,#182323 65%,#172222)}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.35;pointer-events:none;background-image:linear-gradient(#a3ada91c 1px,transparent 1px),linear-gradient(90deg,#a3ada91c 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(90deg,transparent,black 70%)}
.hero::after{content:'';position:absolute;top:24px;bottom:24px;left:20px;width:6px;border-right:1px solid #c3936b45;background:repeating-linear-gradient(to bottom,transparent 0 23px,#c3936b85 23px 24px);pointer-events:none}
.hero>.container,.hero.container{position:relative;display:grid;grid-template-columns:1.07fr 1fr;align-items:center;column-gap:clamp(34px,5vw,80px);row-gap:42px}
.hero-copy{padding:0;max-width:730px}.hero-copy .eyebrow,.hero-kicker{color:#d5b497;margin-bottom:30px;font-size:11px;letter-spacing:.16em}
.hero h1{font-size:clamp(74px,8.15vw,128px);line-height:.98;letter-spacing:-.025em;margin-bottom:28px;max-width:730px}
.hero-copy h1>span,.hero-copy h1 .accent,.hero-copy h1 em{color:var(--teal-light);font-style:normal;text-shadow:0 2px 0 #061011}
.hero-copy h1>small{display:block;font:600 14px/1.5 var(--font-body);letter-spacing:.2em;color:#d8d6cc;margin-top:25px;text-shadow:none}
.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#d1d3cc;max-width:460px}
.hero-actions{margin-top:30px;gap:20px}.hero-actions>a:not(.button){color:inherit;font-size:14px;padding:12px 0;border-bottom:1px solid #c2cac271;line-height:1.4}
.hero .button-primary{background:linear-gradient(115deg,#238e98,#116a76);border-color:#47959b}.hero .button-outline{color:var(--ivory);border-color:#a6aea2}.hero .button-outline:hover{background:var(--ivory);color:var(--ink)}
.hero a:focus-visible,.hero button:focus-visible,.owner-section a:focus-visible,.site-footer a:focus-visible{outline-color:#a9e1df}
.hero-media{position:relative;margin:5px 0 0;padding:14px 14px 0;isolation:isolate;border:1px solid var(--edge);background:linear-gradient(135deg,#c3936b14,transparent 60%);box-shadow:30px 35px 65px #050a0a4d}
.hero-media::before{inset:-13px 28px 30px -13px;border:0;border-top:1px solid #c3936b55;border-left:1px solid #c3936b55;z-index:-1}.hero-media::after{content:'01 / SELECTED WORK';position:absolute;right:-1px;top:-30px;font-size:9px;font-weight:600;letter-spacing:.2em;color:#cfb79f}
.hero-media>img,.hero-media>picture>img{position:relative;width:100%;height:560px;max-height:none;object-fit:cover;object-position:56% center;box-shadow:0 0 0 1px #ffffff16;filter:none}
.hero-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px 16px;padding:20px 2px;background:transparent;color:#e9e9dd;font-size:12px;letter-spacing:.02em}.hero-caption::after{display:none}.hero-caption>span{color:#bdc5bd;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.hero-caption strong{font-weight:600}.hero-caption a{font-size:11px;text-underline-offset:5px}
.hero-detail{position:absolute!important;left:-45px;bottom:88px;width:37%;margin:0;padding:7px;background:var(--ivory);transform:rotate(-3deg);box-shadow:0 18px 28px #060c0c55;border:1px solid #d0c2b3;z-index:3}.hero-detail img{display:block;aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}.hero-detail figcaption,.hero-detail span{display:block;padding:6px 2px 2px;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--charcoal)}
.hero-index{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#c3b39e;border-top:1px solid #c3936b55;padding-top:10px}
.hero-bottomline,.hero-proof{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:23px;border-top:1px solid #b0b8a832;color:#c1c7bd;font-size:12px}
.hero-proof>div,.hero-stat{display:flex;align-items:center;gap:14px}.hero-proof strong,.hero-stat strong{font-family:var(--font-display);font-size:27px;font-weight:400;color:var(--ivory);line-height:1.1}.hero-proof span,.hero-stat span{font-size:12px;max-width:130px;line-height:1.4}
.trust-strip{position:relative;background:linear-gradient(120deg,#e8dfd3,#f1ebe3);border-top:0;border-bottom:1px solid #c9bdaa;box-shadow:0 3px 0 #fdf9f3 inset}
.trust-strip>.container{grid-template-columns:repeat(4,1fr)}.trust-item{padding:28px 32px;border-color:#c8bdaf;font-size:13px;position:relative}.trust-item strong{font-size:31px;color:var(--ink);margin-bottom:6px}.trust-item span{font-size:13px}.trust-item::after{content:'+';position:absolute;right:-4px;top:-10px;font:16px var(--font-body);color:#9c7c5c}.trust-item:last-child::after{display:none}

/* Ruled chapters, numbered edge notes, and materially different service panels. */
.section{position:relative;padding-block:clamp(76px,8vw,128px)}
.section-heading{position:relative;align-items:flex-end;gap:48px;margin-bottom:44px}.section-heading h2{max-width:700px;margin-bottom:0}.section-heading>div{max-width:760px}.section-heading>.text-link,.section-heading>a{font-size:14px;color:var(--teal);white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.section-heading>p,.section-intro{font-size:18px;line-height:1.65;max-width:470px;color:var(--muted)}
.section-index{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--tan);font-size:10px;font-weight:700;color:var(--teal);margin-right:14px;transform:rotate(-3deg)}
.section-note{font-size:12px;color:var(--muted);letter-spacing:.045em;line-height:1.5;border-left:2px solid var(--tan);padding-left:14px;max-width:270px}
.service-grid{gap:18px;border:0;align-items:stretch}
.service-card,.service-card+.service-card,.service-card:last-child{position:relative;isolation:isolate;overflow:hidden;min-height:395px;padding:30px 30px 28px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #b9ac9b;background:linear-gradient(145deg,#fdfaf5,#e6ddd1);box-shadow:0 12px 20px #6d59460a,0 1px 0 #fff inset;transition:transform .32s var(--ease),box-shadow .32s,border-color .32s}
.service-card:nth-child(1),.service-card--roofing{background:linear-gradient(140deg,#293535,#172626);color:var(--ivory);border-color:#405453}.service-card:nth-child(2),.service-card--siding{background:linear-gradient(135deg,#247e86,#105e68);color:#fff;border-color:#3e9195}
.service-card::after{content:'';position:absolute;z-index:-1;pointer-events:none;width:240px;height:240px;right:-84px;top:72px;border:1px solid #c3936b4d;transform:rotate(35deg);box-shadow:0 0 0 24px #c3936b0e,0 0 0 48px #c3936b0b}
.service-card:nth-child(2)::after{width:230px;height:230px;top:35px;right:-96px;transform:rotate(-15deg);border-color:#bcdbd940;box-shadow:0 0 0 20px #bcdbd90c,0 0 0 40px #bcdbd90c,0 0 0 60px #bcdbd907}
.service-card:nth-child(3)::after{width:170px;height:280px;top:25px;right:-55px;transform:rotate(25deg);border-color:#8f765e32;box-shadow:0 0 0 20px #a8907810,0 0 0 40px #a8907807}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 30px #28393420;border-color:var(--tan)}
.service-number{width:100%;display:flex;justify-content:space-between;align-items:center;color:inherit;font:600 11px/1.4 var(--font-body);letter-spacing:.13em;margin-bottom:63px;opacity:.9}.service-number>span{font-size:21px;font-weight:400}
.service-card h3{font-size:clamp(35px,3vw,46px);text-transform:uppercase;margin-bottom:18px;position:relative}.service-card:hover h3{color:inherit}.service-card p{color:inherit;opacity:.88;font-size:16px;line-height:1.6;max-width:290px;margin-bottom:32px;position:relative}
.service-card .text-link,.service-card .service-foot{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:19px;padding-bottom:0;border-top:1px solid #a59e8d66;border-bottom:0;color:inherit;font-size:13px;font-weight:600;position:relative}
.service-card:nth-child(-n+2) .text-link,.service-card:nth-child(-n+2) .service-foot{border-top-color:#c9d1c545}.service-card:focus-visible{outline-color:var(--teal);outline-offset:5px}
.service-visual{position:absolute;right:20px;top:85px;width:74px;height:64px;border-top:1px solid #b6a48a7a;border-right:1px solid #b6a48a7a;transform:skewY(-20deg);opacity:.75;pointer-events:none}

/* Photo-led editorial spreads with lightly offset second plates. */
.project-grid{grid-template-columns:1.2fr 1fr;gap:42px;align-items:start}.project-grid>.project-card:nth-child(2){margin-top:94px}.project-card{position:relative}.project-image{aspect-ratio:4/3;box-shadow:0 16px 35px #27272712;border:1px solid #d1c6b8;background:#d9d0c4}.project-image img,img.project-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .45s var(--ease)}
.project-card .project-image img{height:100%}.project-card:hover .project-image img{transform:scale(1.035)}
.project-copy{padding:22px 0 24px;border-bottom:1px solid #bdb5a8;position:relative}.project-copy::after{content:'+';position:absolute;bottom:-12px;right:-3px;font-size:17px;color:var(--teal)}.project-copy .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:14px}.project-copy h2,.project-copy h3{font-size:clamp(27px,2.65vw,39px);line-height:1.15;margin-bottom:13px;text-transform:uppercase}.project-copy p{font-size:16px;line-height:1.65;max-width:420px}
.project-detail{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:16px}
.project-feature{position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:0;align-items:center;margin-bottom:68px;border:1px solid #c7bbaa;background:linear-gradient(130deg,#ece4d9,#f7f3ed);box-shadow:0 20px 50px #4c3f3110}
.project-feature-media{position:relative;min-width:0;margin:0}.project-feature-media img{width:100%;height:540px;object-fit:cover}.project-feature-media figcaption{position:absolute;bottom:16px;left:18px;background:var(--ivory);padding:9px 13px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 4px 12px #0002}
.project-feature-copy{padding:42px clamp(25px,3vw,48px);position:relative}.project-feature-copy::before{content:'';position:absolute;top:24px;left:24px;right:24px;height:5px;background:repeating-linear-gradient(90deg,#c3936b8c 0 1px,transparent 1px 12px)}
.project-feature-copy h2,.project-feature-copy h3{font-size:clamp(32px,3.1vw,48px);line-height:1.13}.project-feature-copy p{font-size:17px;color:var(--muted);line-height:1.65}.project-feature-copy .eyebrow{font-size:10px}.project-feature-copy .text-link{margin-top:12px}
.project-story{margin-top:68px;max-width:900px;background:linear-gradient(130deg,#efe7db,#f7f4f1);padding:42px!important;border:1px solid #cabbab!important;position:relative}.project-story::before{content:'';position:absolute;left:0;top:0;height:4px;width:70px;background:var(--teal)}

/* Owner spread: warm paper certificate against shaded charcoal. */
.owner-section{position:relative;isolation:isolate;overflow:hidden;padding-block:100px;background:linear-gradient(115deg,#233131,#1d2626 63%,#30372f);color:var(--ivory)}
.owner-section::before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,transparent 0 109px,#bdad9510 109px 110px);opacity:.6}
.owner-section>.container{grid-template-columns:.88fr 1.12fr;gap:clamp(50px,8vw,130px)}
.owner-mark{position:relative;max-width:470px;padding:28px;background:var(--ivory);transform:rotate(-2deg);border:1px solid #cbbb9f;box-shadow:9px 12px 0 #aa91731c,0 24px 55px #050c0c66}
.owner-mark::after{inset:15px;border-color:#c6b298}.owner-mark::before{content:'';position:absolute;top:-11px;left:50%;width:105px;height:26px;transform:translateX(-50%) rotate(3deg);background:#c1ab8273;box-shadow:0 1px 0 #e3d8bf55 inset;z-index:3}
.owner-mark img{width:100%;aspect-ratio:1;object-fit:contain}.owner-copy .eyebrow{color:#d8b89c}.owner-copy h2{font-size:clamp(42px,4.4vw,68px);max-width:650px;line-height:1.08}.owner-copy>p:not(.eyebrow){color:#d1d7ce;font-size:18px;line-height:1.7}.owner-copy .button{margin-top:20px}.owner-copy .button-outline{border-color:#a9b3a5;color:var(--ivory);background:#ffffff03}.owner-copy .button:hover{background:var(--ivory);color:var(--ink)}
.owner-seal{display:inline-flex;align-items:center;justify-content:center;max-width:180px;padding:15px 18px;border:1px solid #bc9c78;color:#dabda0;font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;transform:rotate(3deg);margin-top:25px;box-shadow:0 0 0 4px #bd9c780e}.owner-seal strong{font-family:var(--font-display);font-size:23px;font-weight:400}
.owner-signature{color:#dbc0a5;font-family:var(--font-display);font-size:30px;letter-spacing:.025em}
.process-grid{gap:34px;counter-reset:none}.process-step{position:relative;border-top:1px solid #bdb5a8;padding-top:26px}.process-step::before{content:'';position:absolute;top:-3px;left:0;width:5px;height:5px;background:var(--teal)}.process-step .service-number{font-size:11px;color:var(--teal);margin-bottom:21px}.process-step h3{font-size:29px}.process-step p{font-size:16px;line-height:1.65}
.area-section{position:relative;padding-block:96px;border-top:1px solid #c6bbaa;background:linear-gradient(100deg,#eae1d4,#f5f1e9 68%)}.area-section>.container{grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.area-section h2{font-size:clamp(40px,4vw,60px)}.area-section p{font-size:18px;color:var(--muted)}
.area-list,.area-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px;list-style:none;padding:0;margin:0}.area-list li,.area-list>a,.area-list>span,.area-cities li,.area-cities>a,.area-cities>span{border-bottom:1px solid #c4b8a5;padding:13px 0;font-size:14px;margin:0;color:var(--ink)}
.area-map{position:relative;min-height:310px;padding:48px 35px;background:linear-gradient(#b9a88f22 1px,transparent 1px),linear-gradient(90deg,#b9a88f22 1px,transparent 1px),#ece5da;background-size:34px 34px;border:1px solid #b9a88f;box-shadow:8px 8px 0 #b9a88f17}
.area-map::before{content:'';position:absolute;inset:26px;border:1px solid #a48a66;pointer-events:none}.area-map::after{content:'+';position:absolute;right:17px;top:10px;font-size:27px;color:var(--teal)}

/* A restrained but dramatic closing plate, followed by a real brand signature. */
.cta-band{position:relative;isolation:isolate;overflow:hidden;padding-block:78px;background:linear-gradient(125deg,#22818a,#126571 65%,#0f5660);color:#fff;border-top:1px solid #6caaa8;border-bottom:1px solid #0a4e54}
.cta-band::before{content:'';position:absolute;right:-120px;top:-250px;width:720px;height:720px;border:1px solid #b9d5c837;transform:rotate(35deg);box-shadow:0 0 0 40px #bbd7cc08,0 0 0 80px #bbd7cc08;z-index:-1;pointer-events:none}
.cta-band::after{content:'';position:absolute;left:0;bottom:0;right:0;height:7px;background:repeating-linear-gradient(90deg,#cfb28b 0 1px,transparent 1px 22px);opacity:.6}
.cta-band>.container{gap:60px;align-items:center}.cta-band h2{font-size:clamp(39px,4.1vw,64px);max-width:780px;line-height:1.1;margin-bottom:0}.cta-band p{font-size:17px;line-height:1.6}.cta-band .eyebrow{color:#f6e5ce;font-size:11px;margin-bottom:22px}.cta-band>.container>div:last-child{max-width:330px}.cta-band .button-primary{background:linear-gradient(125deg,#faf5ec,#e4d5bf);border-color:#ddcfb9;color:#27312e;box-shadow:0 9px 26px #082a2c35}.cta-band .button-primary:hover{background:#fff9ef;color:var(--ink);box-shadow:0 12px 32px #082a2c55}.cta-band a:focus-visible{outline-color:white}
.cta-orbit{position:absolute;width:180px;height:180px;border:1px solid #b9d5c840;right:40%;top:-60px;transform:rotate(20deg);pointer-events:none}
.site-footer{position:relative;background:var(--ink-deep);padding-top:68px;color:var(--ivory)}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:60px;padding-bottom:48px}.footer-grid>div:last-child{grid-column:auto}.footer-grid>div>a{display:block;margin:11px 0;font-size:15px;color:#dadfd5}.footer-grid h2,.footer-grid h3{font:600 11px/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:#c5ab8c;margin-bottom:22px}.footer-grid .brand-name{font:400 28px/1.12 var(--font-display);color:var(--ivory)}.footer-grid .brand-name small{display:block;font:600 10px/1.5 var(--font-body);letter-spacing:.25em;margin-top:7px}.footer-grid p{font-size:15px;color:#aebbb0}.footer-grid a:hover{color:white}.footer-grid .footer-phone{font-size:25px}
.footer-wordmark{font-family:var(--font-display);font-size:clamp(60px,13.4vw,215px);line-height:1;letter-spacing:-.018em;color:#f7f4f11c;white-space:nowrap;overflow:hidden;padding:15px 0 28px;border-top:1px solid #7b8a7533;text-transform:uppercase;user-select:none}.footer-bottom{border-top-color:#7b8a7545;padding-block:23px;color:#bac4b8;font-size:11px;letter-spacing:.025em}

/* Composition contract: display elements and interior-page editorial system. */
.hero-stage{padding:0;background:var(--ink)}.hero-kicker .hero-index{padding:0;border:0;color:inherit}.hero-kicker::before,.eyebrow:has(.section-index)::before{display:none}.hero-copy>p:not(.eyebrow):not(.hero-summary){font-size:22px;line-height:1.4;color:#f7f4f1}.hero-copy>.hero-summary{font-size:16px;max-width:425px;color:#bcc8bd}.hero-bottomline a{color:#d5c2a8;text-decoration:none;font-size:12px}.hero-bottomline a:hover{text-decoration:underline}
.trust-item>.section-index{position:absolute;right:18px;top:22px;width:auto;height:auto;border:0;transform:none;font-size:9px;color:#9b7959;margin:0}.service-visual{position:relative;inset:auto;width:100%;height:90px;border:0;transform:none;opacity:1;flex:none}.service-visual>.service-number{margin:0;opacity:1}.service-geometry{position:absolute;right:10px;top:18px;width:85px;height:46px;background:repeating-linear-gradient(140deg,transparent 0 9px,#c2ad8e66 9px 10px);transform:skewY(-12deg);border-top:1px solid #c2ad8e55;border-bottom:1px solid #c2ad8e55}.service-card--siding .service-geometry{background:repeating-linear-gradient(0deg,transparent 0 8px,#e0e9d954 8px 9px);transform:skewY(8deg)}.service-card--painting .service-geometry{background:linear-gradient(120deg,#c3936b55,#f7f4f122);transform:rotate(-9deg);border:1px solid #99795b44;box-shadow:10px 8px 0 #c3936b22}
.service-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;position:relative;z-index:1;width:100%}.service-card-body .eyebrow{font:600 10px/1.5 var(--font-body);text-transform:none;letter-spacing:.04em;color:inherit;opacity:.8;margin-bottom:14px}.service-card-body .eyebrow::before{display:none}.service-card-body h3{margin-bottom:18px}.service-card-body>p:not(.eyebrow){margin-bottom:27px}.services-section .section-note{max-width:none;display:flex;align-items:center;gap:25px;border-left:0;border-bottom:1px solid #c8bcab;margin-top:28px;padding:18px 0;font-size:12px}.section-note>span{color:var(--teal);font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.section-note p{margin:0;flex:1}.section-note p span{color:#aa947b;padding-inline:7px}.section-note a{font-size:12px;font-weight:600;color:var(--teal)}
.image-index{position:absolute;left:18px;bottom:18px;background:var(--ivory);color:var(--ink);padding:10px 14px;font-size:10px;letter-spacing:.13em;box-shadow:0 5px 12px #17202026}.project-feature-media img.project-image{height:540px;aspect-ratio:auto;border:0;box-shadow:none}.project-detail-grid{grid-template-columns:1fr 1fr;gap:42px}.project-detail-grid>.project-card:nth-child(2){margin-top:65px}.project-feature-copy .project-detail{font-size:11px;line-height:1.7;letter-spacing:.06em;border-left:2px solid var(--tan);padding-left:12px;margin-top:24px}.owner-section>.container{grid-template-columns:1.12fr .88fr}.owner-mark{justify-self:end}.owner-seal{display:block;max-width:none;border:0;padding:0;transform:none;margin:0;box-shadow:none}.owner-mark .project-detail{text-align:center;line-height:1.5;font-size:9px;color:#70624f;margin:9px 0 0}.owner-copy>.owner-lead{font-size:23px!important;color:#e7d5bd!important;margin-bottom:17px}.owner-signoff{display:flex;flex-direction:column;border-left:2px solid #bc9c78;padding-left:17px;margin-top:28px;gap:3px}.owner-signoff strong{font:400 29px/1.2 var(--font-display);color:#e7d5bd}.owner-signoff span{font-size:11px;color:#c5cdbf;letter-spacing:.06em}
.area-map>strong{display:block;font:400 clamp(40px,4.5vw,64px)/1 var(--font-display);margin-bottom:22px;color:var(--teal)}.area-map>p{font-size:15px;position:relative}.area-map>.eyebrow{font-size:10px;margin-bottom:30px}.area-map>.text-link{font-size:15px}.cta-note{display:block;font-size:11px;color:#e4eadc;margin-top:16px;letter-spacing:.02em}.footer-statement{font:400 34px/1.2 var(--font-display)!important;color:var(--ivory)!important;margin-bottom:22px}.site-footer .eyebrow{color:#c9af90;font-size:10px}.footer-grid .footer-phone{font:400 25px/1.4 var(--font-display);color:#e3ccb0}
.page-hero{position:relative;overflow:hidden;padding-block:32px 64px;background:linear-gradient(120deg,#ece3d8,#f7f4f1 70%);border-bottom:1px solid #c2b4a0}.breadcrumb{font-size:11px;letter-spacing:.03em;margin-bottom:44px}.page-hero-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:70px;align-items:center}.page-hero h1{font-size:clamp(50px,5.5vw,86px);line-height:1.04;max-width:900px}.page-hero-grid>div>p:not(.eyebrow){font-size:19px;max-width:710px}.page-hero .eyebrow{font-size:11px}.page-hero .hero-actions>a:not(.button){color:var(--charcoal);border-bottom-color:#998b76}.page-hero-aside{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:35px;border:1px solid #b29c81;background:linear-gradient(135deg,#213434,#162727);color:var(--ivory);box-shadow:9px 9px 0 #bda68922}.page-hero-aside>.section-index{display:block;width:auto;height:auto;border:0;transform:none;color:#d0b391;font-size:9px;text-transform:uppercase;margin:0 0 35px;letter-spacing:.12em}.page-hero-aside>strong{font:400 clamp(27px,2.9vw,43px)/1.1 var(--font-display);margin-bottom:19px}.page-hero .page-hero-aside>p{font-size:15px;line-height:1.65;color:#cad6c8;margin-bottom:24px}.page-hero-rule{height:6px;margin-top:auto;background:repeating-linear-gradient(90deg,#bd9d7777 0 1px,transparent 1px 13px)}
.content-grid{grid-template-columns:minmax(0,1.75fr) minmax(260px,.9fr);gap:clamp(44px,7vw,100px)}.content-body{min-width:0}.content-section{padding-block:46px}.content-section:first-child{padding-top:0}.content-section h2{font-size:clamp(29px,3vw,43px);line-height:1.15}.numbered-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:23px}.numbered-heading .section-index{flex-shrink:0;margin:3px 0 0;width:28px;height:28px;font-size:9px}.numbered-heading h2{margin:0}.content-section>p,.content-section>ul{font-size:18px;line-height:1.7;color:#5c5b53}.content-section li{padding:4px 0}.content-section li::marker{color:var(--teal)}.related-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}.content-grid aside,.content-rail{position:relative;padding:34px;border:1px solid #bcaa91;background:linear-gradient(125deg,#eee5d8,#e4d8c6);box-shadow:8px 8px 0 #b29a7610}.content-rail::before{content:'';position:absolute;left:20px;right:20px;top:0;height:5px;background:repeating-linear-gradient(90deg,#9b765877 0 1px,transparent 1px 12px)}.content-grid aside h2{font-size:38px}.content-grid aside p{font-size:16px;line-height:1.65}.content-rail .eyebrow{font-size:9px}.content-rail hr{border:0;border-top:1px solid #c7b598;margin:28px 0}.rail-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.rail-facts p{font-size:13px!important}.rail-facts strong{font-size:14px;color:var(--ink)}.content-rail .button{padding-inline:16px;font-size:14px;gap:10px}.content-rail .text-link{font-size:13px}.content-photo{margin:0 0 48px}.content-photo img{width:100%;height:auto;max-height:620px;object-fit:cover;border:1px solid #bcaa91;box-shadow:0 15px 30px #3a302a10}.content-photo figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px;font-size:12px;color:var(--muted)}.content-photo .section-index{width:auto;height:auto;transform:none;border:0;font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--teal)}
.faq-section{border-top:1px solid #c6bbaa;background:#f0ebe3}.faq-list{border-top-color:#b7a992}.faq-list details{border-bottom-color:#c9bfaf}.faq-list summary{display:flex;align-items:center;gap:20px;padding:25px 45px 25px 0;font-size:20px}.faq-list summary .section-index{flex-shrink:0;width:25px;height:25px;transform:none;border:0;font-size:10px;margin:0;color:#9c7555}.faq-list summary::after{top:22px}.faq-list details>p{padding:0 50px 28px 45px;max-width:1000px;font-size:17px}.faq-list details[open]{background:#ffffff45}.faq-list summary:hover{color:var(--teal)}
.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:70px}.contact-card{position:relative;background:linear-gradient(135deg,#213a3a,#152e31);color:var(--ivory);padding:42px;border:1px solid #73837a;box-shadow:10px 10px 0 #bca58222,0 18px 40px #1d30241a}.contact-card>.section-index{width:auto;height:auto;display:block;border:0;transform:none;margin:0 0 25px;color:#cdb493;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.contact-card .eyebrow{color:#b6ccc3;font-size:10px}.contact-card h2{font-size:clamp(37px,4vw,59px)}.contact-card>a[href^=tel]{color:#e9cfad;font-size:clamp(25px,2.6vw,40px);line-height:1.4;white-space:nowrap;display:flex;gap:14px;align-items:center}.contact-card p{font-size:16px;color:#cad8cc}.contact-free{border-top:1px solid #8da38d55;padding-top:23px;color:white!important;margin-top:30px}.contact-card a:focus-visible{outline-color:#b2ddd7}.contact-steps{gap:22px;margin-top:45px}.contact-steps h3{font-size:25px}.contact-steps p{font-size:15px}
.filter-bar{gap:0;border-bottom:1px solid #b9aa94;padding-bottom:22px;margin-bottom:38px}.filter-bar button{border:0;border-right:1px solid #c0b4a0;background:none;font-size:14px;min-height:45px;padding:11px 24px}.filter-bar [aria-pressed=true]{background:var(--ink);color:var(--ivory);box-shadow:0 3px 0 var(--tan)}.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}.mobile-call{background:linear-gradient(110deg,#177986,#0f5f6a);border-top:1px solid #69a4a8;box-shadow:0 -3px 18px #17202020}.mobile-call:focus-visible{outline:3px solid white;outline-offset:-5px}

/* Responsive composition. No overflow masks on essential typography. */
@media(min-width:1500px){.hero-media>img{height:630px}.hero h1{font-size:132px}.hero{padding-block:82px 54px}.hero-bottomline{margin-top:8px}}
@media(min-width:900px){.mobile-menu{display:none!important}}
@media(max-width:1199px){.site-header>.container{gap:18px}.header-actions>a:not(.button){display:none}.desktop-nav{gap:18px}.brand-name{font-size:21px}.hero h1{font-size:clamp(75px,8.5vw,105px)}.hero-media>img{height:550px}.hero>.container{gap:40px}.hero-detail{left:-25px;width:36%}.service-card,.service-card+.service-card,.service-card:last-child{padding:24px}.service-card-body .eyebrow{font-size:9px}.service-card h3{font-size:38px}.service-card p{font-size:15px}.project-feature-media img.project-image{height:480px}.page-hero-grid{gap:36px}.page-hero-aside{padding:27px}.contact-grid{gap:40px}.contact-card{padding:30px}}
@media(min-width:900px) and (max-width:980px){.desktop-nav{display:flex;gap:13px}.desktop-nav a{font-size:13px}.brand-name{display:block;font-size:20px;max-width:150px}.menu-toggle{display:none}.header-actions .button{font-size:12px;padding:13px 14px}}
@media(max-width:899px){:root{--gutter:28px}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.site-header>.container{min-height:85px}.brand-name{display:block;max-width:180px}.hero{padding-block:54px 40px}.hero>.container{column-gap:30px;row-gap:35px}.hero h1{font-size:clamp(65px,8.8vw,85px)}.hero-copy>p:not(.eyebrow):not(.hero-summary){font-size:20px}.hero-copy>.hero-summary{font-size:15px}.hero-media>img{height:490px}.hero-detail{left:-18px;bottom:93px;width:40%;padding:5px}.hero-detail span{font-size:8px}.hero-caption{font-size:11px}.hero-copy .hero-actions{gap:13px}.hero .button{padding:14px 17px;font-size:13px}.hero-copy h1>small{font-size:11px}.trust-item{padding:25px 20px}.trust-item strong{font-size:28px}.trust-item span{font-size:12px}.service-grid{gap:12px}.service-card,.service-card+.service-card,.service-card:last-child{padding:20px;min-height:400px}.service-card h3{font-size:33px}.service-card-body .eyebrow{line-height:1.4}.service-card p{font-size:14px}.service-card .service-foot{font-size:11px}.section-heading{gap:30px}.section-intro{font-size:17px}.project-feature{grid-template-columns:1.35fr 1fr}.project-feature-media img.project-image{height:430px}.project-feature-copy{padding:39px 24px 27px}.project-feature-copy h3,.project-feature-copy h2{font-size:34px}.project-feature-copy p{font-size:15px}.project-grid,.project-detail-grid{gap:28px}.owner-section>.container{gap:40px}.owner-copy h2{font-size:46px}.owner-mark{padding:20px}.owner-copy>p:not(.eyebrow){font-size:16px}.area-section>.container{gap:35px}.area-map{padding:38px 29px}.area-map::before{inset:17px}.area-section h2{font-size:41px}.cta-band>.container{gap:40px}.cta-band>.container>div:last-child{max-width:280px}.footer-grid{gap:35px}.page-hero h1{font-size:58px}.page-hero-grid{grid-template-columns:1.4fr .8fr;gap:30px}.page-hero-aside{padding:25px}.page-hero-aside>strong{font-size:30px}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.9fr);gap:32px}.content-grid aside{padding:25px}.contact-grid{grid-template-columns:1.35fr 1fr;gap:30px}.contact-card{padding:25px}.contact-card>a[href^=tel]{font-size:26px}.contact-steps{grid-template-columns:1fr;gap:25px}.footer-wordmark{font-size:13vw}}
@media(max-width:767px){:root{--gutter:22px}html{scroll-padding-bottom:90px}body{font-size:17px}.site-header>.container{min-height:78px;gap:15px}.brand-name{font-size:21px;max-width:none}.brand-name small{font-size:9px}.header-actions .button{display:none}.menu-toggle{font-size:13px;min-width:60px;min-height:42px}.hero{padding-block:40px 29px}.hero::after{left:8px;top:18px;bottom:18px;width:4px}.hero>.container,.hero.container{grid-template-columns:1fr;gap:36px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:26px}.hero h1{font-size:clamp(74px,16.9vw,112px);line-height:.97;max-width:650px;margin-bottom:26px}.hero-copy h1>small{font-size:12px;margin-top:22px;letter-spacing:.15em}.hero-copy>p:not(.eyebrow):not(.hero-summary){font-size:22px}.hero-copy>.hero-summary{max-width:490px;font-size:16px;line-height:1.65}.hero-copy .hero-actions{gap:23px;margin-top:26px}.hero .button{font-size:14px;min-height:52px;padding:15px 20px}.hero-actions>a:not(.button){font-size:13px}.hero-media{margin-top:0;margin-left:9px;padding:10px 10px 0}.hero-media::before{inset:-8px 20px 30px -9px}.hero-media::after{font-size:8px;top:-21px;letter-spacing:.15em}.hero-media>img,.hero-media>picture>img{height:auto;aspect-ratio:1.15;max-height:530px;object-position:58% center}.hero-detail{left:-16px;bottom:84px;width:34%;padding:5px}.hero-detail span{font-size:8px;letter-spacing:.07em}.hero-caption{padding:17px 0;gap:5px 12px;font-size:11px}.hero-caption>span{font-size:9px}.hero-caption a{font-size:10px}.hero-bottomline,.hero-proof{gap:14px;flex-wrap:wrap;justify-content:space-between;padding-top:19px;font-size:10px;row-gap:13px}.hero-bottomline>a{font-size:10px}.hero-proof strong{font-size:23px}.trust-strip>.container{grid-template-columns:1fr 1fr}.trust-item{padding:24px 16px}.trust-item:nth-child(odd){padding-left:0}.trust-item strong{font-size:29px}.trust-item span{font-size:12px}.trust-item>.section-index{right:12px;top:17px;font-size:8px}.trust-item:nth-child(even)::after{display:none}.trust-item:nth-child(n+3)::after{display:none}.section{padding-block:70px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:clamp(40px,9.5vw,57px);line-height:1.09}.section-heading .section-intro{margin-top:24px;max-width:520px}.section-heading .section-intro p{font-size:17px;margin-bottom:17px}.section-heading .eyebrow{font-size:10px;gap:10px}.section-index{width:29px;height:29px;font-size:9px;margin-right:7px}.service-grid{grid-template-columns:1fr;gap:17px}.service-card,.service-card+.service-card,.service-card:last-child{padding:26px;min-height:335px;border:1px solid #b9ac9b}.service-card h3{font-size:44px}.service-card p{font-size:16px;max-width:490px}.service-card-body .eyebrow{font-size:10px}.service-visual{height:72px}.service-geometry{top:2px;width:98px;height:50px}.service-card .service-foot{font-size:13px;padding-top:19px}.services-section .section-note{display:block;margin-top:17px;padding:20px 0}.section-note>span{display:block;margin-bottom:9px}.section-note p{margin-bottom:12px;font-size:13px}.section-note p span{padding-inline:4px}.project-feature{grid-template-columns:1fr;margin-bottom:38px}.project-feature-media img.project-image{height:auto;aspect-ratio:4/3;object-fit:cover}.image-index{font-size:9px;padding:9px 12px;bottom:14px;left:14px}.project-feature-copy{padding:40px 26px 31px}.project-feature-copy::before{top:18px;left:26px;right:26px}.project-feature-copy h2,.project-feature-copy h3{font-size:42px;line-height:1.08}.project-feature-copy p{font-size:16px;max-width:480px}.project-feature-copy .eyebrow{font-size:10px}.project-grid,.project-detail-grid{grid-template-columns:1fr;gap:34px}.project-grid>.project-card:nth-child(2),.project-detail-grid>.project-card:nth-child(2){margin-top:0}.project-copy h2,.project-copy h3{font-size:30px;max-width:440px}.project-copy p{font-size:16px}.project-copy{padding-top:21px}.project-story{padding:30px 23px!important;margin-top:42px}.project-story h2{font-size:34px}.owner-section{padding-block:70px}.owner-section>.container{grid-template-columns:1fr;gap:44px}.owner-copy h2{font-size:clamp(44px,10vw,62px)}.owner-copy>p:not(.eyebrow){font-size:17px}.owner-copy>.owner-lead{font-size:21px!important}.owner-signoff{margin-top:25px}.owner-mark{justify-self:center;max-width:380px;width:calc(100% - 15px);padding:25px;order:2;margin-top:4px}.owner-mark::after{inset:13px}.owner-mark .project-detail{font-size:9px}.area-section{padding-block:65px}.area-section>.container{grid-template-columns:1fr;gap:34px}.area-section h2{font-size:42px}.area-map{padding:39px 30px;min-height:290px}.area-map>strong{font-size:57px}.area-map>p{font-size:15px}.area-list,.area-cities{grid-template-columns:1fr 1fr}.cta-band{padding-block:57px}.cta-band>.container{display:block}.cta-band h2{font-size:clamp(45px,10vw,65px)}.cta-band .eyebrow{font-size:10px}.cta-band>.container>div:last-child{max-width:440px;margin-top:29px}.cta-band p{font-size:17px}.cta-band .button{font-size:14px}.cta-note{font-size:11px}.site-footer{padding-top:51px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-grid>div>a{font-size:14px;margin:12px 0}.footer-grid h2{font-size:10px}.footer-statement{font-size:35px!important}.footer-wordmark{font-size:12.7vw;padding-block:25px;letter-spacing:-.025em}.footer-bottom{gap:12px;font-size:10px;flex-direction:column}.page-hero{padding-block:26px 43px}.breadcrumb{font-size:10px;margin-bottom:30px}.page-hero-grid{grid-template-columns:1fr;gap:30px}.page-hero h1{font-size:clamp(48px,10.9vw,70px);line-height:1.05}.page-hero-grid>div>p:not(.eyebrow){font-size:18px}.page-hero .eyebrow{font-size:10px}.page-hero .hero-actions{gap:17px}.page-hero-aside{padding:27px}.page-hero-aside>.section-index{margin-bottom:22px;font-size:9px}.page-hero-aside>strong{font-size:35px}.page-hero .page-hero-aside>p{font-size:15px;max-width:420px;margin-bottom:25px}.page-hero-rule{min-height:5px}.content-grid,.contact-grid{grid-template-columns:1fr;gap:43px}.content-grid aside{padding:30px}.content-section{padding-block:35px}.content-section h2{font-size:32px}.content-section>p,.content-section>ul{font-size:17px}.numbered-heading{gap:12px;margin-bottom:20px}.numbered-heading .section-index{width:24px;height:24px;line-height:1}.content-photo{margin-bottom:37px}.content-photo figcaption{font-size:11px;line-height:1.5}.content-rail{max-width:none}.content-grid aside h2{font-size:39px}.rail-facts{grid-template-columns:1fr 1fr}.faq-list summary{gap:10px;padding:23px 35px 23px 0;font-size:18px;line-height:1.4}.faq-list summary .section-index{width:21px;font-size:9px}.faq-list summary::after{right:0;top:22px;font-size:23px}.faq-list details>p{font-size:16px;padding:0 25px 23px 31px}.contact-card{padding:32px;max-width:none}.contact-card h2{font-size:48px}.contact-card>a[href^=tel]{font-size:32px;gap:18px}.contact-card p{font-size:16px}.contact-steps{grid-template-columns:1fr;gap:22px}.filter-bar button{font-size:13px;padding:10px 19px}.mobile-call{font-size:14px}.button,a,summary{scroll-margin-bottom:90px}}
@media(max-width:380px){:root{--gutter:20px}.hero h1{font-size:73px}.hero-copy .eyebrow{font-size:8px}.hero-copy .hero-actions{gap:15px}.hero-actions .button{width:auto;font-size:13px;padding:15px 16px}.hero-detail{width:35%;bottom:94px}.hero-caption{font-size:10px}.service-card,.service-card+.service-card,.service-card:last-child{padding:24px}.service-card h3{font-size:41px}.contact-card{padding:26px}.contact-card>a[href^=tel]{font-size:29px}.hero-bottomline{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover,.service-card:hover,.project-card:hover .project-image img{transform:none}}
@media print{body::after,.hero::before,.hero::after,.hero-detail,.site-header,.site-footer,.mobile-call{display:none!important}.hero,.hero-stage,.owner-section,.cta-band,.page-hero,.contact-card,.service-card{background:white!important;color:black!important;box-shadow:none!important}.hero{padding:25px 0}.hero h1{font-size:40pt}.hero-copy p,.hero h1 span,.owner-copy p{color:black!important}.hero-media{box-shadow:none}.owner-mark{transform:none}.page-hero-grid,.content-grid{display:block}.page-hero-aside{display:none}.service-card{break-inside:avoid}.section{padding:25px 0}}
/* Final legibility floor: fine details are graphic, not unreadably small type. */
.eyebrow,.hero-kicker,.hero-index,.hero-copy .eyebrow,.hero-copy .hero-kicker,.section-heading .eyebrow,.page-hero .eyebrow,.owner-copy .eyebrow,.site-footer .eyebrow,.project-copy .eyebrow,.project-feature-copy .eyebrow,.content-rail .eyebrow,.contact-card .eyebrow,.cta-band .eyebrow,.area-map>.eyebrow{font-size:12px}
.hero-detail span,.hero-detail figcaption,.hero-media::after,.hero-caption>span,.section-index,.trust-item>.section-index,.service-card-body .eyebrow,.service-number,.service-visual>.service-number,.section-note>span,.image-index,.project-detail,.project-feature-copy .project-detail,.owner-mark .project-detail,.owner-signoff span,.page-hero-aside>.section-index,.content-photo .section-index,.contact-card>.section-index,.footer-grid h2,.footer-grid h3,.footer-grid .brand-name small,.brand-name small,.brand-name span,.cta-note,.section-note a,.content-photo figcaption,.breadcrumb,.footer-bottom,.faq-list summary .section-index,.numbered-heading .section-index{font-size:12px}
.hero-caption,.hero-caption a,.hero-bottomline,.hero-bottomline a,.hero-proof span,.hero-stat span,.service-card .service-foot,.section-note p,.footer-grid>div>a,.content-rail .text-link,.rail-facts p,.filter-bar button,.hero-actions>a:not(.button){font-size:14px}
.hero .button-primary,.button-primary{background:linear-gradient(115deg,#177986,#105f6b);border-color:#3b8991}.hero .button-primary:hover,.button-primary:hover{background:linear-gradient(115deg,#116975,#0c515c)}
.cta-band .button-primary{background:linear-gradient(125deg,#faf5ec,#e4d5bf);color:#27312e;border-color:#ddcfb9}.cta-band .button-primary:hover{background:#fff9ef;color:var(--ink)}
.hero-detail{width:39%}.hero-detail span{line-height:1.3;letter-spacing:0;text-transform:none;padding-top:6px}.hero-caption{gap:10px 15px}.hero-caption>span{letter-spacing:.06em}.hero-media::after{top:-33px;letter-spacing:.08em}.service-card-body .eyebrow{opacity:1;line-height:1.5}.service-number{opacity:1}.service-card p{opacity:1}
@media(max-width:767px){.hero-media{margin-top:9px}.hero-detail{width:43%;bottom:112px}.hero-kicker{letter-spacing:.04em!important;gap:7px!important}.hero-caption>span{width:100%}.hero-bottomline{font-size:12px;gap:11px}.hero-bottomline a{font-size:12px}.hero-copy .hero-actions{gap:16px}.owner-mark .project-detail{font-size:12px}.brand-name small{letter-spacing:.16em}.trust-item>.section-index{font-size:12px;top:16px;right:10px}.trust-item{padding-top:37px}.footer-bottom{font-size:12px}}
/* Optional safeguards; merge into the design sheet, do not pre-hide reveals. */
[hidden]{display:none!important}
[data-reveal]{opacity:1;visibility:visible}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:899px){
  html{scroll-padding-bottom:90px}
  a,button,summary{scroll-margin-bottom:90px}
}
