/* Fair Contractors / Architectural direction. Shared across the supplied site. */
:root{--navy:#102f50;--ink:#102f50;--ivory:#fff;--paper:#edf7ff;--pale:#edf3f6;--gold:#285e82;--slate:#4d5e6c;--line:#d2dce2;--serif:Arial,Helvetica,sans-serif;--sans:Arial,Helvetica,sans-serif}
body{background:var(--paper);color:var(--navy)}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.045em}
h1,h2{text-transform:uppercase}h2{font-size:clamp(32px,3.7vw,54px);line-height:1.06}h3{letter-spacing:-.025em}
.wrap{width:min(1280px,calc(100% - 96px))}.section{padding-block:96px}
.utility{background:#102f50}.utility .wrap{padding-block:8px;font-size:10px;letter-spacing:.07em}
.site-header{background:#fff;border-color:#e0e6ea;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-wrap{min-height:100px}
.brand{font-family:Georgia,serif;font-size:26px;letter-spacing:-.025em}.brand small{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2em}.brand img{width:49px;height:49px}
.site-header nav{gap:28px}.site-header nav>a:not(.button){font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.button,.site-header .button{border-radius:0;box-shadow:none;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.09em;min-height:50px;padding:15px 22px;background:#102f50;border-color:#102f50;color:#fff}
.button:hover{background:#285e82;border-color:#285e82}.button.secondary{background:transparent;color:#102f50;border-color:#102f50}
.eyebrow{font-size:10px;letter-spacing:.18em;color:#406781}.eyebrow:before{display:none}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding-bottom:8px}
.architecture-hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:610px;max-width:1600px;margin:auto;background:#102f50}
.architecture-copy{display:flex;flex-direction:column;align-items:flex-start;padding:66px 48px 36px max(48px,calc((100vw - 1280px)/2));color:white}
.architecture-copy .eyebrow{color:#c6dfed;margin-bottom:30px}
.architecture-copy h1{font-size:clamp(46px,5.2vw,80px);line-height:.99;letter-spacing:-.045em;text-align:left;text-wrap:initial;color:white}
.architecture-copy h1 span{color:#b7d8ec}.hero-description{color:#d9e5ed;font-size:15px;line-height:1.7;margin-top:26px}
.architecture-copy .actions{align-items:center;gap:24px;margin-top:30px}.architecture-copy .button{background:white;border-color:white;color:#102f50}.architecture-copy .button:hover{background:#d7eaf6;border-color:#d7eaf6}
.hero-work{font-size:11px;color:white;border-color:#84a5bc;padding:12px 0}.hero-work span{margin-left:12px}.hero-work:hover{color:#b7d8ec}
.hero-signature{display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff30;margin-top:auto;padding-top:26px;width:100%}.hero-signature img{width:33px;height:33px}.hero-signature p{font-size:12px;color:#fff;line-height:1.4}.hero-signature span{display:block;font-size:9px;color:#abc6d8;margin-top:5px}
.architecture-photo{position:relative;min-height:610px;overflow:hidden}.architecture-photo>img{height:100%;width:100%;object-fit:cover;object-position:48% 50%}.architecture-photo figcaption{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;gap:16px;padding:48px 28px 24px;background:linear-gradient(transparent,#071a2be8);color:#fff;font-size:10px}.architecture-photo figcaption>span{opacity:.85}.architecture-photo figcaption a{font-weight:600}.architecture-photo figcaption a span{margin-left:16px}
.trust-strip{background:#edf3f6;border-bottom:1px solid #d2dce2}.trust-strip .wrap{padding-block:23px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#102f50}.trust-strip span{color:#102f50}.trust-strip span+span{border-color:#c4d4df}
.section-heading{margin-bottom:40px}.section-heading .eyebrow{margin-bottom:18px}.projects-section{background:var(--paper)}.project-grid{gap:28px}.project-card{border:0;background:transparent;border-radius:0;box-shadow:none}.project-photo,.page-gallery .project-photo{border-radius:0;aspect-ratio:4/5;box-shadow:none}.project-card .project-photo img{object-fit:cover}.project-card>h3{font-size:23px;font-weight:600}.project-card>.eyebrow{margin-top:22px;font-size:9px}.project-card>p:last-child{font-size:13px;line-height:1.7}.photo-expand{background:#fff;width:38px;height:38px;right:0;bottom:0}
#our-services{border-top:1px solid #d2dce2}.visual-routes{gap:30px}.route-card{border:0;background:#fff;box-shadow:none;border-radius:0}.route-card:hover{transform:none;box-shadow:none;background:#fff}.route-card figure{height:235px}.route-copy{padding:26px 0 0}.route-copy h3{font-size:27px;font-weight:600}.route-copy .eyebrow{font-size:9px}.route-copy>p:not(.eyebrow){font-size:13px}.service-shortcuts{margin-top:38px;padding-top:25px;border-color:#d2dce2}
.team-split{border-top:1px solid #d2dce2;gap:64px}.team-split figure,.team-split figure img{border-radius:0;box-shadow:none}.team-split figure img{height:auto;aspect-ratio:3/2;object-fit:contain}.team-split h2{font-size:clamp(32px,3.7vw,51px)}.team-split p:not(.eyebrow){font-size:14px;line-height:1.8}
.process-section{background:#102f50;color:white}.process-section h2,.process-section h3{color:white}.process-section .eyebrow{color:#b7d8ec}.steps{gap:46px}.steps article{border-color:#ffffff40;padding-top:28px}.steps article>span{font:bold 42px Arial,sans-serif;color:#b7d8ec}.steps h3{font-size:23px;margin-top:30px}.steps p{color:#d1dde7;font-size:13px;line-height:1.8}
.home-review{max-width:none;background:#f0f5f8;width:100%;padding-inline:24px}.home-review blockquote{font:500 clamp(25px,3vw,39px)/1.4 Georgia,serif;max-width:850px;margin:0 auto 24px;color:#102f50}.home-review>p:not(.eyebrow){margin-top:0}
.quote-section{background:var(--paper)}.contact-layout{gap:80px;grid-template-columns:1fr 1fr}.contact-layout>div h2{font-size:clamp(38px,4.5vw,64px)}.contact-layout>div>p:not(.eyebrow){font-size:14px}.estimate-form{border-radius:0;background:#f0f5f8;box-shadow:none;border:0;padding:38px}.estimate-form h2{font-size:28px}.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border-color:#b9cad7;border-radius:0}.big-phone{font:600 29px Arial,sans-serif}
footer{background:#102f50;padding-top:65px}.footer-brand{font-family:Georgia,serif}.footer-bottom{border-color:#ffffff30}.mobile-actions{background:#fff}
/* Secondary pages inherit the same typographic and material vocabulary. */
.page-intro{padding-block:65px 45px}.page-intro h1{font-size:clamp(39px,5vw,70px);font-weight:700}.page-intro .lead{font-size:17px}.service-hero{padding-block:60px;gap:60px}.service-hero h1{font-size:clamp(38px,4.6vw,62px)}
.service-card,.review,.staff-card,.note,.digital-panel,.prepare-section figure,.planning-feature figure,.detail-photos figure,.wide-photo,.work-focus figure,.about-team-photo,.contact-team-photo,.commitment-photo figure{background:#f0f5f8;border-radius:0;box-shadow:none;border-color:#d2dce2}.staff-card figure,.staff-card img,.detail-photos,.service-hero figure,.service-hero img{border-radius:0}.cta{background:#102f50;color:#fff}.cta h2{color:white}.cta .eyebrow,.cta p:not(.eyebrow){color:#d4e5f0}.cta .button{background:#fff;color:#102f50;border-color:#fff}
.review blockquote{font-family:Georgia,serif}.page-gallery .portrait-project img{object-fit:contain}.page-card h1{font-size:42px}.compact-footer{background:white;color:#102f50}
@media(min-width:1600px){.architecture-copy{padding-left:160px}.architecture-hero{margin-block:28px}.architecture-photo{min-height:660px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav-wrap{gap:18px}.brand{font-size:23px}.site-header nav{gap:18px}.site-header .button{font-size:9px;padding:12px}.architecture-copy{padding:55px 32px 30px}.architecture-hero,.architecture-photo{min-height:570px}.architecture-copy h1{font-size:55px}.architecture-copy .actions{gap:15px;flex-direction:column;align-items:flex-start}.hero-signature{margin-top:30px}.section{padding-block:75px}.contact-layout{gap:40px}}
@media(max-width:820px){.site-header nav{background:#fff}.nav-wrap{min-height:84px}.site-header nav>a:not(.button){font-size:17px}.architecture-hero{grid-template-columns:1fr 1fr}.architecture-copy{padding:40px 28px 30px}.architecture-copy h1{font-size:44px}.architecture-copy .eyebrow{font-size:9px;margin-bottom:24px}.hero-description{font-size:13px}.architecture-hero,.architecture-photo{min-height:560px}.hero-signature span{font-size:8px}.team-split{gap:30px}.team-split h2{font-size:33px}.route-card figure{height:180px}.route-copy h3{font-size:23px}.section-heading h2{font-size:38px}.estimate-form{padding:28px}.contact-layout>div h2{font-size:42px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.utility .wrap{font-size:8px}.utility span{max-width:220px}.nav-wrap{min-height:80px}.brand{font-size:21px}.brand img{width:39px;height:39px}.brand small{font-size:7px}.menu-toggle{border-radius:0}.architecture-hero{display:flex;flex-direction:column;min-height:0}.architecture-copy{padding:40px 24px 30px}.architecture-copy .eyebrow{margin-bottom:22px}.architecture-copy h1{font-size:clamp(44px,12vw,65px)}.hero-description{font-size:14px;margin-top:22px}.architecture-copy .actions{flex-direction:row;align-items:center;gap:20px;margin-top:23px}.architecture-copy .button{padding:13px 16px;font-size:9px}.hero-work{font-size:10px}.hero-work span{margin-left:5px}.hero-signature{display:none}.architecture-photo{min-height:0;height:auto;aspect-ratio:4/3}.architecture-photo>img{object-fit:cover}.architecture-photo figcaption{padding:38px 20px 17px;font-size:9px}.trust-strip .wrap{font-size:9px;padding-block:20px;gap:14px}.section{padding-block:52px}.section-heading{gap:20px;margin-bottom:28px}.section-heading h2{font-size:36px}.project-grid{gap:35px}.project-photo{aspect-ratio:4/3}.project-card>h3{font-size:24px}.visual-routes{grid-template-columns:1fr;gap:36px}.route-card figure{height:auto;aspect-ratio:3/2}.route-copy{padding:22px 0 0}.route-copy h3{font-size:27px}.route-copy>p:not(.eyebrow){font-size:14px}.team-split{gap:30px}.team-split h2{font-size:36px}.team-split figure img{aspect-ratio:3/2;object-fit:contain}.steps{gap:26px}.steps article>span{font-size:30px}.steps h3{margin-top:0;font-size:23px}.home-review blockquote{font-size:28px}.contact-layout{gap:35px;grid-template-columns:1fr}.contact-layout .estimate-form{order:initial}.contact-layout>div h2{font-size:45px}.estimate-form{padding:28px 22px}.estimate-form h2{font-size:26px}.form-grid{grid-template-columns:1fr}.footer-bottom{padding-bottom:100px}.page-intro{padding-block:38px 30px}.page-intro h1,.service-hero h1{font-size:39px}.service-hero{padding-block:35px;gap:30px}.cta h2{font-size:35px}.page-gallery .project-photo{aspect-ratio:3/4}}
@media(max-width:360px){.brand{font-size:18px}.architecture-copy .actions{align-items:flex-start;flex-direction:column;gap:8px}.architecture-copy h1{font-size:43px}.hero-description br{display:none}.trust-strip .wrap{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
