:root{--ink:#201e1b;--paper:#f9f9f6;--red:#942c30;--muted:#625e57;--line:#dedbd5;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper)}
a{color:inherit;text-underline-offset:.25em}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.4vw,5.6rem)}h2{font-size:clamp(2.25rem,4vw,4rem)}h3{font-size:1.3rem;line-height:1.25}em{font-weight:400}a:focus-visible,button:focus-visible{outline:3px solid #e99935;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:1rem;z-index:20;padding:.7rem 1rem;background:white;color:black}.skip-link:focus{top:1rem}
.hero{min-height:0;position:relative;background:#252d2b;color:white;display:flex;flex-direction:column;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,17,.84),rgba(11,18,17,.46) 56%,rgba(11,18,17,.2)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%);z-index:-1}
.site-header{display:flex;align-items:center;gap:2rem;padding:1.3rem 4.5vw;border-bottom:1px solid #ffffff40}.logo-link,.footer-brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;flex-shrink:0}.logo-badge{width:70px;height:60px;padding:6px;background:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-badge img{width:100%;height:100%;object-fit:contain}.brand-name{display:flex;flex-direction:column;line-height:1.15;text-align:left}.brand-name strong{font-size:1rem;letter-spacing:.03em}.brand-name>span{font-size:.875rem;letter-spacing:.17em;margin-top:5px;text-transform:uppercase}.desktop-nav{display:flex;gap:1.8rem;margin-left:auto}.desktop-nav a{padding:.6rem 0;text-decoration:none}.desktop-nav a:hover{box-shadow:0 2px white}.header-call{font-weight:700;white-space:nowrap;text-decoration:none;padding:.7rem 1rem;border:1px solid #ffffff80}.header-call:hover{background:#ffffff1f}.menu-toggle{color:white;background:transparent;border:1px solid #ffffff80;padding:.55rem .85rem;cursor:pointer}.menu-toggle[hidden]{display:none}
.hero-content{padding:clamp(2.75rem,5vw,4.5rem) 5.5vw 3rem;max-width:940px}.kicker{text-transform:uppercase;font-size:.875rem;letter-spacing:.12em;font-weight:700;margin-bottom:1.25rem}.hero-content>p:not(.kicker){font-size:1.125rem;max-width:550px;margin-top:1.5rem;color:#f0f1ee}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.8rem 1.25rem;text-decoration:none;font-weight:700}.button-red{background:var(--red);color:white}.button-red:hover{background:#752125}.button-ghost{border:1px solid #ffffff80}.button-ghost:hover{background:#ffffff1f}.hero-foot{margin-top:auto;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 5.5vw;border-top:1px solid #ffffff40;font-size:.875rem}
.services{padding:clamp(2.75rem,4.5vw,4.25rem) 5.5vw}.red{color:var(--red)}.section-heading{margin-bottom:2.75rem}.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:4.5vw}.services-photo{background:#293630 url('survey-hero.webp') 75% center/cover;min-height:440px;display:flex;align-items:flex-end}.services-photo span{padding:1.1rem 1.4rem;background:#18221ee8;color:white;width:100%;font-size:.875rem}.service-list article{padding:1.45rem 0;border-top:1px solid var(--line)}.service-list article:first-child{padding-top:0;border:0}.service-list p{margin-top:.65rem;color:var(--muted);max-width:520px}
.about{display:grid;grid-template-columns:1fr 1fr;background:#eeeDE8}.about-copy{padding:clamp(2.75rem,4vw,4rem) 5.5vw}.about-copy>p:not(.kicker){margin-top:1.5rem;color:var(--muted)}.person{margin-top:2rem;padding-top:1.4rem;border-top:1px solid #ccc8bf;display:flex;flex-direction:column}.person span{font-size:.875rem;color:var(--muted);margin-top:.25rem}.office-photo{position:relative;min-height:370px;overflow:hidden}.office-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center}.office-caption{position:absolute;bottom:0;left:0;right:0;padding:3rem 2rem 1.4rem;background:linear-gradient(transparent,#111c);color:white;display:flex;flex-direction:column}.office-caption small{font-size:.875rem}.office-caption strong{font-size:1.3rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:clamp(2.75rem,4.5vw,4.25rem) 5.5vw;background:var(--red);color:white}.contact-copy>p:last-child{max-width:400px;margin-top:1.3rem}.contact-links{align-self:center;min-width:0}.contact-links>a,.contact-links>div{display:grid;grid-template-columns:65px minmax(0,1fr) 18px;gap:1rem;padding:1.35rem 0;border-bottom:1px solid #ffffff50;text-decoration:none;align-items:baseline}.contact-links>a:hover{background:#ffffff10}.contact-links span{font-size:.875rem}.contact-links strong{overflow-wrap:anywhere;font-size:1.1rem}.contact-links b{font-size:1.15rem}
footer{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;gap:2.5rem;align-items:center;background:#171613;color:white;padding:2.5rem 4.5vw}footer>p{font-size:.875rem;color:#d0cdc7;max-width:270px}footer>div{display:flex;flex-direction:column;gap:.6rem;font-size:.875rem}footer>div span{color:#d0cdc7}.footer-brand .logo-badge{width:76px;height:64px}footer a:hover{color:#f4c5c5}
@media(min-width:1550px){.services,.contact{padding-left:max(5.5vw,calc((100vw - 1450px)/2));padding-right:max(5.5vw,calc((100vw - 1450px)/2))}.hero-content{margin-left:calc((100vw - 1450px)/2);padding-left:0;padding-right:2rem}}
@media(max-width:1050px){.site-header{gap:1.2rem}.desktop-nav{gap:1.1rem}.header-call{padding:.6rem .7rem}.brand-name strong{font-size:.95rem}footer{grid-template-columns:1fr 1fr}footer>p{grid-column:1}footer>div{grid-column:2;grid-row:1/3}.hero{min-height:0}}
@media(max-width:800px){.site-header{flex-wrap:wrap;gap:1rem}.logo-link{margin-right:auto}.header-call{margin-left:auto}.desktop-nav{order:4;flex-basis:100%;margin:0;justify-content:center;gap:2rem;border-top:1px solid #ffffff40;padding-top:.5rem}.desktop-nav[hidden]{display:none}.hero{min-height:0}.hero-content{padding-top:3.5rem}.hero-foot{font-size:.8rem}.services-layout{grid-template-columns:1fr}.services-photo{min-height:320px;margin-bottom:1.5rem}.about{grid-template-columns:1fr}.office-photo{min-height:320px}.contact{grid-template-columns:1fr;gap:2rem}.hero-image{object-position:62% center}}
@media(max-width:480px){.site-header{padding:1rem 5.5vw;gap:.7rem}.logo-badge{width:60px;height:52px}.brand-name strong{font-size:.9rem}.brand-name>span{font-size:.875rem;letter-spacing:.1em}.header-call{order:3;width:100%;text-align:center;padding:.5rem}.hero-foot{flex-direction:column;gap:.2rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-content{padding-bottom:3rem}.hero-content>p:not(.kicker){font-size:1rem}footer{grid-template-columns:1fr;gap:1.4rem}footer>p,footer>div{grid-column:auto;grid-row:auto}.contact-links>a,.contact-links>div{grid-template-columns:52px minmax(0,1fr) 16px;gap:.65rem}.contact-links strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* September refinement: compact editorial service layout and local identity. */
.site-header{padding-block:1rem;background:rgba(17,23,21,.36)}
.brand-name strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400;letter-spacing:.015em}
.brand-name>span{font-size:.875rem;letter-spacing:.16em}
.logo-badge{border-radius:2px}
.hero-content h1{max-width:780px}
.hero-content>.kicker{display:flex;align-items:center;gap:12px}
.hero-content>.kicker:before{content:'';width:30px;height:2px;background:#e6b5b5;flex:none}
.hero-foot{background:rgba(15,20,18,.5);padding-block:.85rem}
.services{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.8fr);gap:4vw;align-items:start}
.services .section-heading{margin:0;padding-left:1.25rem;border-left:3px solid var(--red)}
.services-layout{display:block;min-width:0}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem}
.service-list article,.service-list article:first-child{padding:1rem 0 1.3rem;border-top:1px solid #c9c5bc}
.service-list h3{color:var(--red);font-size:1.2rem}
.service-list p{margin-top:.55rem;font-size:1rem;line-height:1.6}
.about{grid-template-columns:1.05fr 1fr;border-top:1px solid var(--line)}
.about-copy{grid-column:2;grid-row:1}
.office-photo{grid-column:1;grid-row:1}
.contact h2{font-size:clamp(2.3rem,3.6vw,3.7rem)}
.contact-copy>.kicker{margin-bottom:.85rem}
.contact-links>a,.contact-links>div{padding:1rem 0}
footer{padding-block:1.75rem;gap:2rem}
.footer-brand .logo-badge{width:64px;height:54px}
@media(max-width:1050px){.services{grid-template-columns:1fr;gap:1.8rem}.services .section-heading h2 br{display:none}.services .section-heading h2 em{margin-left:.15em}}
@media(max-width:800px){.about{grid-template-columns:1fr}.about-copy{grid-column:1;grid-row:1}.office-photo{grid-column:1;grid-row:2}.hero-content{padding-top:2.75rem}.hero-foot{font-size:.875rem}}
@media(max-width:480px){.service-list{grid-template-columns:1fr}.site-header .brand-name strong{font-size:1rem}.hero-content h1{font-size:clamp(2.5rem,10.5vw,3.2rem)}.hero-actions{gap:.65rem}.hero-foot{gap:.45rem}.services .section-heading h2{font-size:2.4rem}.office-photo{min-height:290px}.brand-name{white-space:normal}.logo-link,.footer-brand{flex-shrink:1;min-width:0}}

/* Responsive contact and navigation finishing pass. */
.mobile-contact{display:none}
.site-header{position:relative;z-index:3}
.menu-toggle{min-width:64px;min-height:44px}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.about-copy>p:not(.kicker){max-width:38rem}
.office-caption{padding-top:4rem;background:linear-gradient(transparent,rgba(10,15,12,.94))}
footer>div>a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:1550px){.site-header,.hero-foot,footer{padding-inline:max(5.5vw,calc((100vw - 1450px)/2))}.about-copy{padding-right:max(5.5vw,calc((100vw - 1450px)/2))}}
@media(max-width:800px){
 .site-header{gap:.75rem}
 .header-call{display:none}
 .desktop-nav{gap:.5rem;justify-content:stretch}
 .desktop-nav a{flex:1;justify-content:center}
 .logo-link{gap:.65rem}
 .hero-image{object-position:70% center}
 body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1.35fr 1fr;background:var(--paper);color:var(--ink);padding:6px max(12px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:8px;border-top:1px solid var(--line);box-shadow:0 -3px 15px #00000012}
 .mobile-contact a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;text-decoration:none;font-size:.875rem;font-weight:700}
 .mobile-contact a:first-child{background:var(--red);color:white}
 .mobile-contact a:last-child{border:1px solid var(--line)}
 .mobile-contact a:focus-visible{outline-offset:-3px}
}
@media(max-width:380px){.site-header .logo-badge{width:48px;height:44px}.site-header .brand-name strong{font-size:.9rem}.site-header .brand-name>span{font-size:.8rem}.site-header{padding-inline:4vw}.menu-toggle{padding-inline:.55rem}.hero-content>.kicker{font-size:.75rem;letter-spacing:.07em}.contact-links>a{grid-template-columns:minmax(0,1fr) 18px}.contact-links>a>span{grid-column:1/-1}.contact-links>a{row-gap:.2rem}}
@media print{.mobile-contact,.menu-toggle,.hero-actions,.header-call{display:none!important}body{padding-bottom:0}.hero{background:white;color:black}.hero-image,.hero-shade{display:none}.hero-content>p:not(.kicker){color:inherit}.hero-foot{background:none}.contact{background:white;color:black}.contact-links>a{border-color:#aaa}}
