:root{
  --navy:#0f1f2a;
  --charcoal:#1e2931;
  --taupe:#a89f93;
  --light:#e5e7e8;
  --off:#f9faf8;
  --white:#fff;
  --ink:#111b23;
  --muted:#5f6870;
  --max:1536px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--off);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.site-header{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.8vw;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(15,31,42,.08)}
.brand,.footer-brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:38px;height:38px;fill:var(--navy);flex:none}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:18px;letter-spacing:.18em;font-weight:600}.brand-copy small{font-size:7px;letter-spacing:.42em;margin-top:7px;color:#63707a}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px}.main-nav a{position:relative;white-space:nowrap}.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-12px;width:0;height:1px;background:var(--navy);transition:.2s}.main-nav a:hover::after,.main-nav a.active::after{width:100%}.nav-cta{background:var(--navy);color:#fff;padding:12px 22px;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}.menu-toggle span{position:absolute;left:9px;width:24px;height:1px;background:var(--navy);transition:.2s}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:25px}
.hero{display:grid;grid-template-columns:62% 38%;min-height:505px;background:#fff}.hero-main,.hero-office{position:relative;overflow:hidden}.hero-main img,.hero-office img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.76) 31%,rgba(255,255,255,.08) 65%,transparent 100%)}
.hero-content{position:absolute;left:6%;top:10%;width:44%;min-width:460px}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:11px;margin:0 0 14px;color:#4f5b63}.eyebrow.light{color:#c7d0d5}.hero h1{font-size:54px;line-height:.98;letter-spacing:-.035em;margin:0 0 22px;font-weight:500}.hero-lead{font-size:16px;max-width:520px;margin-bottom:28px}.button{display:inline-flex;gap:26px;align-items:center;padding:15px 23px;font-size:14px}.button-dark{background:var(--navy);color:#fff}.button-outline{border:1px solid rgba(255,255,255,.65);color:#fff}.market-strip{margin-top:37px;text-transform:uppercase;letter-spacing:.24em;font-size:10px}.market-strip span{display:inline-block;width:42px;height:1px;background:var(--navy);vertical-align:middle;margin-right:14px}.hero-side-copy{position:absolute;right:5.5%;top:8%;font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.35em}.tiny-line{width:38px;height:1px;background:currentColor;margin-top:15px}.office-words{position:absolute;right:5%;top:11%;font-size:12px;line-height:1.75;text-transform:uppercase;letter-spacing:.22em;color:#1e252a}
.section{padding:85px 4.8vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#fff}.intro h2,.section-heading h2,.categories h2,.contact h2{font-size:42px;line-height:1.05;letter-spacing:-.025em;font-weight:500;margin:0}.intro-copy{font-size:17px;color:#46515a;max-width:700px}.intro-copy p:first-child{margin-top:0}
.services{background:#f1f2ef}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfd4d5;border-bottom:1px solid #cfd4d5}.service-grid article{padding:34px 30px 42px 0;border-right:1px solid #cfd4d5}.service-grid article+article{padding-left:30px}.service-grid article:last-child{border-right:0}.service-grid span{font-size:11px;letter-spacing:.2em;color:#7a858d}.service-grid h3{font-size:22px;font-weight:500;margin:24px 0 14px}.service-grid p{font-size:14px;color:#606b72;margin:0}
.categories{background:#fff}.categories-heading{display:grid;grid-template-columns:2.2fr 1fr;gap:80px;align-items:end;margin-bottom:25px}.categories-heading>p{font-size:15px;margin:0 0 7px;color:#404a52}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{background:#f5f5f3;overflow:hidden}.category-card img{width:100%;aspect-ratio:2.05/1;object-fit:cover;transition:transform .45s}.category-card:hover img{transform:scale(1.025)}.category-card>div{padding:13px 12px 15px;position:relative}.category-card h3{font-size:16px;font-weight:500;margin:0 25px 5px 0}.category-card p{font-size:13px;color:#667078;margin:0}.category-card span{position:absolute;right:13px;bottom:14px;font-size:18px}
.markets{background:var(--navy);color:#fff;display:grid;grid-template-columns:25% 43% 32%;min-height:470px}.markets-copy{padding:47px 0 47px 5vw}.markets-copy h2{font-size:38px;line-height:1.02;font-weight:500;margin:0 0 18px}.markets-copy>p:not(.eyebrow){font-size:14px;max-width:310px;color:#d5dbde;margin-bottom:22px}.map-wrap{display:flex;align-items:center;justify-content:center;padding:35px 10px}.map-wrap svg{width:100%;height:auto}.markets-side{display:grid;grid-template-columns:1fr 1.15fr;background:#fff;color:var(--navy)}.market-stat{min-height:155px;padding:30px;border-bottom:1px solid #e2e4e4;display:flex;gap:12px;align-items:flex-start}.market-stat strong{font-size:40px;line-height:1}.market-stat>span{font-size:28px}.market-stat span:last-child{font-size:9px;letter-spacing:.25em;margin-top:4px}.icon-stat{flex-direction:column}.icon-stat b{font-size:10px;letter-spacing:.22em;line-height:1.7;font-weight:500}.markets-side img{grid-column:2;grid-row:1/3;width:100%;height:100%;object-fit:cover;min-height:310px}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;background:#eeefec}.contact-title>p:last-child{font-size:17px;color:#4b565e;max-width:620px}.contact-panel{border-top:1px solid #bfc5c7}.contact-line{display:grid;grid-template-columns:110px 1fr 20px;gap:25px;padding:21px 0;border-bottom:1px solid #bfc5c7;align-items:center}.contact-line span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#67727a}.contact-line strong{font-size:17px;font-weight:500}.contact-line b{text-align:right}
.site-footer{background:#fff;padding:30px 4.8vw 34px;display:grid;grid-template-columns:1fr 1.5fr 1.1fr;gap:45px;align-items:start}.footer-brand .brand-mark{width:34px}.footer-brand .brand-copy strong{font-size:14px}.footer-brand .brand-copy small{font-size:6px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 26px;font-size:12px}.footer-company{font-size:11px;color:#57626a;text-align:right}.footer-company p{margin:0 0 12px}
@media(max-width:1100px){.main-nav{gap:17px}.hero{grid-template-columns:100%;}.hero-office{display:none}.hero-main{min-height:500px}.category-grid{grid-template-columns:repeat(2,1fr)}.markets{grid-template-columns:35% 65%}.markets-side{grid-column:1/-1;grid-template-columns:1fr 1fr 1.4fr}.markets-side img{grid-column:3;grid-row:1/3}.site-footer{grid-template-columns:1fr 1fr}.footer-company{grid-column:1/-1;text-align:left}}
@media(max-width:820px){.site-header{height:68px;padding:0 20px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:6px}.brand-mark{width:32px;height:32px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:18px 20px 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #d9dddd;box-shadow:0 15px 35px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav a{padding:13px 0;border-bottom:1px solid #eef0ef}.main-nav a::after{display:none}.main-nav .nav-cta{margin-top:14px;text-align:center;border:0}.hero-main{min-height:640px}.hero-main img{object-position:63% center}.hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 44%,rgba(255,255,255,.2) 74%,transparent 100%)}.hero-content{left:24px;right:24px;top:45px;width:auto;min-width:0}.hero h1{font-size:46px}.hero-lead{max-width:430px}.hero-side-copy{display:none}.market-strip{position:absolute;top:495px;left:0;white-space:nowrap}.section{padding:64px 24px}.intro,.categories-heading,.contact{grid-template-columns:1fr;gap:32px}.intro h2,.section-heading h2,.categories h2,.contact h2{font-size:34px}.section-heading{display:block}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(3){padding-left:0;border-top:1px solid #cfd4d5}.service-grid article:nth-child(4){border-top:1px solid #cfd4d5}.markets{grid-template-columns:1fr}.markets-copy{padding:55px 24px 10px}.map-wrap{padding:10px 20px 30px}.markets-side{grid-template-columns:1fr 1fr}.markets-side img{display:none}.site-footer{grid-template-columns:1fr;padding:30px 24px}.footer-company{text-align:left}}
@media(max-width:540px){.hero-main{min-height:610px}.hero h1{font-size:40px}.hero-lead{font-size:15px}.market-strip{top:478px;font-size:8px}.category-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-top:1px solid #cfd4d5!important;padding:28px 0!important}.service-grid article:first-child{border-top:0!important}.markets-side{grid-template-columns:1fr 1fr}.market-stat{padding:24px 18px;min-height:130px}.contact-line{grid-template-columns:80px 1fr 16px;gap:12px}.contact-line strong{font-size:14px}.footer-links{gap:12px 18px}}
/* v2 clarity fixes */
.brand-mark{shape-rendering:geometricPrecision;width:42px;height:42px}
.brand-mark path{vector-effect:non-scaling-stroke}
.hero-main{background:linear-gradient(110deg,#fbfbf9 0%,#f7f7f4 45%,#eef1f1 100%)}
.hero-main>img{position:absolute;right:0;top:0;width:69%;height:100%;object-fit:cover;object-position:center center}
.hero-main::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbfbf9 0%,rgba(251,251,249,.98) 34%,rgba(251,251,249,.72) 49%,rgba(251,251,249,.08) 67%,transparent 78%);pointer-events:none}
.hero-content,.hero-side-copy{z-index:2}
.hero-content{width:47%;min-width:420px}
.hero h1{text-shadow:none}
.hero-side-copy{right:3.5%;background:rgba(255,255,255,.74);padding:10px 10px 8px;backdrop-filter:blur(2px)}
.hero-office img{filter:contrast(1.03) saturate(.96);image-rendering:auto}
.map-wrap{padding:26px 22px}
.map-wrap img{width:100%;height:auto;display:block;filter:drop-shadow(0 1px 0 rgba(255,255,255,.03))}
@media(max-width:820px){
  .hero-main>img{width:100%;height:52%;top:auto;bottom:0;object-position:63% center}
  .hero-main::after{background:linear-gradient(180deg,#fbfbf9 0%,rgba(251,251,249,.98) 48%,rgba(251,251,249,.48) 68%,rgba(251,251,249,.04) 84%,transparent 100%)}
  .hero-content{width:auto;min-width:0}
}

/* v3 — larger, ultra-crisp header identity */
.site-header{height:96px;padding-left:4.2vw;padding-right:4.2vw}
.brand{gap:18px;flex:none}
.brand-mark{width:52px;height:52px;display:block;shape-rendering:crispEdges}
.brand-mark path{fill:#0f1f2a}
.brand-copy{line-height:1;min-width:max-content}
.brand-copy strong{font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:700;letter-spacing:.205em;color:#0f1f2a;white-space:nowrap}
.brand-copy small{font-family:Arial,Helvetica,sans-serif;font-size:8px;font-weight:400;letter-spacing:.48em;margin-top:11px;color:#65717a;white-space:nowrap}
@media(max-width:1100px){.site-header{height:88px}.brand-mark{width:46px;height:46px}.brand-copy strong{font-size:19px}.brand-copy small{font-size:7px}.main-nav{font-size:12px;gap:15px}}
@media(max-width:820px){.site-header{height:74px}.brand{gap:11px}.brand-mark{width:38px;height:38px}.brand-copy strong{font-size:15px;letter-spacing:.16em}.brand-copy small{font-size:5.5px;letter-spacing:.35em;margin-top:7px}.main-nav{top:74px}}

/* v4 — desktop proportion fix based on live-site review */
@media (min-width:821px){
  .site-header{height:112px;padding:0 6.4vw;gap:32px}
  .brand{gap:20px}
  .brand-mark{width:62px;height:62px;shape-rendering:geometricPrecision}
  .brand-copy strong{font-size:25px;font-weight:700;letter-spacing:.17em}
  .brand-copy small{font-size:9px;letter-spacing:.42em;margin-top:12px;color:#52616b}
  .main-nav{font-size:14px;gap:28px;margin-left:auto}
  .nav-cta{padding:13px 24px}
  .hero-content{left:6.4%;top:12%;width:52%;min-width:0;max-width:760px}
  .hero h1{font-size:clamp(52px,4.25vw,72px);line-height:.98;letter-spacing:-.045em;white-space:nowrap}
  .hero-lead{font-size:17px;max-width:650px}
}
@media (min-width:821px) and (max-width:1250px){
  .site-header{height:98px;padding:0 4vw}
  .brand-mark{width:52px;height:52px}
  .brand-copy strong{font-size:20px;letter-spacing:.15em}
  .brand-copy small{font-size:7px;letter-spacing:.34em;margin-top:9px}
  .main-nav{font-size:12px;gap:15px}
  .nav-cta{padding:11px 17px}
  .hero-content{left:4.5%;width:58%}
  .hero h1{font-size:clamp(48px,4.5vw,60px)}
}
