
:root{--navy:#16243b;--ink:#202835;--blue:#314c7b;--accent:#c98332;--soft:#f3f5f7;--line:#d9dee5}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}

.siteHeader{height:118px;background:#fff;border-bottom:1px solid rgba(22,36,59,.12);position:relative;z-index:20}
.navWrap{height:100%;display:flex;align-items:center;gap:44px}
.brand{display:flex;align-items:center;margin-right:auto;color:var(--navy)}
.brand img{display:block;width:106px;height:106px;object-fit:contain}
nav{display:flex;gap:32px;font-size:14px;font-weight:700;color:#4a5361}
nav a:hover{color:var(--accent)}
.navCta{background:var(--navy);color:#fff;padding:12px 18px;font-size:13px;font-weight:700}
.menuToggle{display:none;width:48px;height:48px;padding:12px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;color:var(--navy)}
.menuToggle span:not(.srOnly){display:block;width:24px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hero{min-height:690px;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}
.heroImage{position:absolute;inset:0;background:url('/assets/blueprints-drafting.jpg') center/cover no-repeat;transform:scale(1.02)}
.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,26,49,.96) 0%,rgba(20,42,77,.86) 48%,rgba(20,42,77,.32) 100%)}
.heroInner{position:relative;z-index:2;padding-bottom:82px}
.eyebrow{margin:0 0 16px;color:var(--blue);text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:800}
.eyebrow.light{color:#e0ad6e}
.hero h1,.pageHero h1{margin:0;max-width:850px;font-size:clamp(48px,6.2vw,78px);line-height:1.04;letter-spacing:-.045em;font-weight:650}
.heroLead{max-width:650px;margin:28px 0 0;font-size:19px;line-height:1.7;color:#e3e8ef}
.buttonRow{display:flex;gap:14px;margin-top:36px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;font-size:14px;font-weight:800;border:1px solid transparent;transition:.2s}
.button.primary{color:#fff;background:var(--accent)}
.button.primary:hover{background:#ae6e29}
.button.ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.button.ghost:hover{background:#fff;color:var(--navy)}
.button.white{background:#fff;color:var(--navy)}
.heroFactbar{position:absolute;z-index:3;bottom:0;left:0;right:0;background:rgba(8,19,37,.72);border-top:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.facts{display:grid;grid-template-columns:repeat(3,1fr)}
.facts div{padding:22px 30px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}
.facts div:first-child{padding-left:0}
.facts strong{font-size:18px}
.facts span{color:#adb9c9;font-size:12px;text-transform:uppercase;letter-spacing:.1em}

.section{padding:104px 0}
.soft{background:var(--soft)}
.splitIntro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
h2{color:var(--navy);font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:0}
.prose{font-size:17px;color:#596270}
.prose p{margin:0 0 20px}
.textLink{color:var(--blue);font-size:14px;font-weight:800;display:inline-flex;gap:10px}
.textLink span{color:var(--accent)}
.sectionHeading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}
.sectionHeading>p{max-width:440px;color:#65707f;margin:0 0 5px}

.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.serviceCard{background:#fff;min-height:290px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.serviceNumber{color:var(--accent);font:700 12px monospace;letter-spacing:.12em}
.serviceCard h3{color:var(--navy);font-size:22px;margin:40px 0 10px}
.serviceCard p{color:#646d7a;margin:0 0 20px}
.serviceCard a{margin-top:auto;color:var(--blue);font-size:13px;font-weight:800}
.serviceCard a span{color:var(--accent);margin-left:6px}

.projectSection{background:var(--navy);color:#fff}
.inverse h2{color:#fff;max-width:650px}
.lightLink{color:#fff}
.projectGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.15)}
.projectCard{min-height:230px;background:#1b2c49;padding:32px;display:flex;flex-direction:column;transition:.2s}
.projectCard:hover{background:#22385d}
.projectCard p{color:#d6a15f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.projectCard h3{margin:auto 0 12px;font-size:22px;line-height:1.25}
.projectCard span{color:#9fadc0;font-size:13px}

.commitmentGrid{display:grid;grid-template-columns:1.05fr .95fr;min-height:540px}
.imagePanel{background:url('/assets/blueprints-rolled.jpg') center/cover no-repeat}
.commitmentCopy{background:var(--soft);padding:72px;display:flex;flex-direction:column;justify-content:center}
.commitmentCopy h2{margin-bottom:20px}
.commitmentCopy>p:not(.eyebrow){color:#606a78}
.checkList{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--line)}
.checkList li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative;font-weight:700;font-size:14px}
.checkList li:before{content:"✓";position:absolute;left:0;color:var(--accent)}
.ctaBand{padding:66px 0;background:var(--blue);color:#fff}
.ctaInner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.ctaInner h2{color:#fff;font-size:40px}

.siteFooter{background:#101a2b;color:#bdc6d3;padding-top:70px}
.siteFooter .brand{display:inline-flex;background:#fff;padding:6px}
.siteFooter .brand img{width:126px;height:126px}
.footerGrid{display:grid;grid-template-columns:2fr .7fr 1fr 1fr;gap:60px;padding-bottom:55px}
.footerGrid>div:first-child p{max-width:360px}
.footerGrid h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px}
.footerGrid>div:not(:first-child){display:flex;flex-direction:column;font-size:13px}
.footerGrid a{color:#fff;margin-bottom:7px}
.footerGrid p{font-size:13px}
.footerBottom{border-top:1px solid rgba(255,255,255,.13);padding:22px 0;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em}

.pageHero{padding:110px 0;background:linear-gradient(115deg,rgba(16,30,55,.98),rgba(34,61,100,.91)),url('/assets/blueprints-drafting.jpg') center/cover;color:#fff}
.pageHero h1{font-size:clamp(44px,5vw,68px);max-width:900px}
.pageHero>div>p:last-child{max-width:680px;font-size:18px;color:#d8e0ea;margin:24px 0 0}
.detailGrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.detailCard{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:46px 42px 46px 0;border-bottom:1px solid var(--line)}
.detailCard:nth-child(even){padding-left:42px;border-left:1px solid var(--line)}
.detailCard>span{color:var(--accent);font:700 12px monospace}
.detailCard h2{font-size:28px;margin-bottom:12px}
.detailCard p{color:#626c79;margin:0}

.projectList{border-top:1px solid var(--line)}
.projectList article{display:grid;grid-template-columns:80px 1fr 260px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.projectList>article>span{color:var(--accent);font:700 12px monospace}
.projectList p{margin:0;color:var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}
.projectList h2{font-size:25px;margin-top:5px}
.projectList strong{color:#6b7481;font-size:13px;font-weight:500}
.experienceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.experienceGrid article{background:#fff;padding:30px;border-top:3px solid var(--blue)}
.experienceGrid h3{margin:0 0 10px;color:var(--navy)}
.experienceGrid p{color:#65707d;margin:0;font-size:14px}

.teamGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px}
.teamGrid article{background:#fff;padding:34px;display:flex;flex-direction:column;border-bottom:3px solid var(--blue)}
.leadershipSection .teamGrid article{background:var(--soft)}
.teamPortrait{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center top;display:block;margin:0 0 28px;background:#dce3ea}
.initials{width:62px;height:62px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800;margin-bottom:28px}
.teamGrid article>p{color:var(--accent);font-size:11px;font-weight:800;margin:0}
.teamGrid h3{color:var(--navy);font-size:25px;margin:5px 0}
.teamGrid strong{font-size:13px;min-height:42px}
.teamGrid span{color:#66717f;font-size:14px;margin-top:18px}
.valuesBand{background:var(--blue);color:#fff}
.valuesGrid{display:grid;grid-template-columns:repeat(3,1fr)}
.valuesGrid div{padding:45px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.2)}
.valuesGrid strong{font-size:25px}
.valuesGrid span{color:#c5cfdb;font-size:13px}

.contactGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.contactIntro h2{margin-bottom:20px}
.contactIntro>p:not(.eyebrow){color:#626d79;margin-bottom:30px}
.officeGrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.officeGrid article{background:var(--soft);padding:38px;display:flex;flex-direction:column}
.officeGrid span{color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.13em}
.officeGrid h3{font-size:23px;color:var(--navy)}
.officeGrid p{color:#626d79}
.officeGrid a{color:var(--blue);font-weight:800;font-size:14px;margin-top:8px}
.contactStrip{background:var(--soft);padding:54px 0}
.contactStrip>div>p{color:var(--navy);font-weight:800}
.contactStrip>div>div{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.contactStrip span{display:flex;flex-direction:column;border-left:3px solid var(--accent);padding-left:18px}
.contactStrip strong{font-size:11px;text-transform:uppercase;color:#707987}
.contactStrip a{color:var(--blue);font-weight:800}

@media(max-width:900px){nav,.navCta{display:none}
.navWrap{position:relative;gap:16px}
.menuToggle{display:flex;margin-left:auto}
.siteHeader.menuOpen nav{display:flex;position:absolute;top:100%;left:-24px;right:-24px;padding:12px 24px 22px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(22,36,59,.12);flex-direction:column;gap:0;font-size:16px}
.siteHeader.menuOpen nav a{padding:13px 2px;border-bottom:1px solid var(--line)}
.siteHeader.menuOpen nav a:last-child{border-bottom:0}
.siteHeader.menuOpen .menuToggle span:nth-child(2){transform:translateY(7px) rotate(45deg)}
.siteHeader.menuOpen .menuToggle span:nth-child(3){opacity:0}
.siteHeader.menuOpen .menuToggle span:nth-child(4){transform:translateY(-7px) rotate(-45deg)}
.hero{min-height:700px}
.facts{grid-template-columns:1fr}
.facts div{display:none}
.facts div:first-child{display:flex;padding-left:0}
.splitIntro,.commitmentGrid,.contactGrid{grid-template-columns:1fr;gap:45px}
.serviceGrid,.projectGrid,.experienceGrid{grid-template-columns:1fr 1fr}
.footerGrid{grid-template-columns:1fr 1fr}
.footerGrid>div:first-child{grid-column:1/-1}
.commitmentCopy{padding:45px}
.detailGrid{grid-template-columns:1fr}
.detailCard:nth-child(even){padding-left:0;border-left:0}
.projectList article{grid-template-columns:50px 1fr}
.projectList strong{grid-column:2}
.contactStrip>div>div{grid-template-columns:1fr}
}

@media(max-width:600px){.wrap{width:min(100% - 32px,1180px)}
.siteHeader{height:96px}
.brand img{width:82px;height:82px}
.hero{min-height:690px}
.heroInner{padding-bottom:20px}
.hero h1{font-size:45px}
.heroLead{font-size:16px}
.buttonRow{flex-direction:column;align-items:stretch}
.section{padding:72px 0}
.sectionHeading{align-items:start;flex-direction:column}
.serviceGrid,.projectGrid,.teamGrid,.experienceGrid,.officeGrid{grid-template-columns:1fr}
.commitmentCopy{padding:36px 24px}
.imagePanel{min-height:300px}
.ctaInner{flex-direction:column;align-items:start}
.footerGrid{grid-template-columns:1fr}
.footerGrid>div:first-child{grid-column:auto}
.footerBottom{flex-direction:column;gap:10px}
.pageHero{padding:80px 0}
.pageHero h1{font-size:44px}
.detailCard{grid-template-columns:38px 1fr;padding-right:0}
.projectList article{grid-template-columns:30px 1fr;gap:15px}
.valuesGrid{grid-template-columns:1fr}
.contactGrid{gap:45px}
.siteHeader.menuOpen nav{left:-16px;right:-16px;padding-inline:16px}
}
