:root{--night:#09253d;--night-2:#102f49;--ink:#142738;--slate:#5a6976;--mist:#f4f5f4;--ivory:#fbfaf7;--stroke:#dfe4e5;--gold:#cba36b;--gold-bright:#ebc38c;--shell:1260px;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.shell{width:min(calc(100% - 96px),var(--shell));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;padding:12px;background:white}.skip-link:focus{top:12px}.site-header{height:96px;background:#fff;position:relative;z-index:100;box-shadow:0 1px 0 #e8ebec}.header-inner{display:flex;align-items:center;height:100%;gap:40px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:49px;height:49px;display:flex;align-items:center;justify-content:center;color:#133a55}.brand-mark svg{width:100%;height:100%}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-copy strong{font-size:19px;letter-spacing:.075em;line-height:1;font-weight:800}.brand-copy small{font-size:9px;letter-spacing:.29em;color:#73808b;font-weight:700}.primary-nav{display:flex;gap:28px;margin-left:auto}.primary-nav a{font-size:13px;font-weight:700;transition:color .2s}.primary-nav a:hover{color:#9a703d}.header-phone{white-space:nowrap;border-left:1px solid var(--stroke);padding-left:34px;font-size:16px;font-weight:700;line-height:1.3}.header-phone>span{display:block;margin-top:5px;color:#a4753e;font-size:11px;font-weight:700}.menu-toggle{display:none}.hero{background:var(--night);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .89fr;min-height:640px}.hero-copy{padding:95px 45px 68px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#9c793f;display:flex;gap:15px;align-items:center}.eyebrow.light{color:var(--gold-bright)}.eyebrow-line{width:36px;height:1px;background:currentColor}.eyebrow-no{margin-left:10px;color:#7790a2}.hero h1{font-size:clamp(43px,4.05vw,66px);max-width:790px;line-height:1.11;letter-spacing:-.035em;font-weight:700;margin-top:44px}.hero h1 em{font-style:normal;color:#d8b17e}.hero-subtitle{font-size:17px;max-width:535px;line-height:1.75;color:#c5d1db;margin-top:32px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:41px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:58px;padding:0 24px;font-size:13px;font-weight:800;letter-spacing:.02em;transition:transform .2s,background .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#112535}.button-gold:hover{background:var(--gold-bright)}.button span{font-size:21px;font-weight:400}.text-link{border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:7px;color:#e5eef5;font-size:12px;display:flex;gap:18px}.hero-location{margin-top:auto;padding-top:50px;font-size:11px;letter-spacing:.16em;font-weight:700;color:#8fa7b7}.signal-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:12px}.hero-art{position:relative;min-height:600px;isolation:isolate;background:linear-gradient(130deg,#1b4b66,#0e344f 44%,#17405c);border-left:1px solid rgba(255,255,255,.09)}.hero-art:before{content:"";position:absolute;inset:5%;border:1px solid rgba(255,255,255,.12)}.hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 62% 41%,transparent 6%,rgba(5,19,31,.7) 90%);pointer-events:none}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to top,transparent,#000 30%,#000 75%,transparent)}.arch-lines{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-12deg);opacity:.95}.arch-lines svg{width:105%;height:105%;filter:drop-shadow(0 0 24px #325b72)}.art-label{z-index:2;position:absolute;top:45px;right:40px;display:flex;gap:14px;align-items:center;color:#c1d4df;font-size:10px;letter-spacing:.16em;font-weight:700}.art-label span:not(.plus){color:var(--gold)}.art-label .plus{font-size:22px;font-weight:200}.art-card{position:absolute;z-index:2;bottom:55px;left:45px;background:#f8f5eb;color:#102f49;width:238px;padding:24px 28px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 75px #05121b40}.art-card span{font-size:9px;letter-spacing:.14em;font-weight:800;color:#767b80}.art-card strong{font-size:32px;letter-spacing:-.04em}.art-card svg{width:100px;height:28px;color:#bf945d;margin-top:10px}.coordinate{position:absolute;z-index:2;color:#95afbd;font-size:10px;letter-spacing:.18em}.coordinate-x{left:42px;top:45px}.coordinate-y{right:42px;bottom:68px;writing-mode:vertical-rl}.hero-bottom{height:66px;display:flex;align-items:center;justify-content:space-between;color:#90a6b5;font-size:11px;letter-spacing:.07em;border-top:1px solid rgba(255,255,255,.12)}.hero-bottom a{display:flex;align-items:center;gap:20px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:white}.hero-bottom a span{font-size:18px;color:var(--gold)}.section{padding:125px 0}.intro-layout{display:grid;grid-template-columns:270px 1fr;gap:60px}.section-side{display:flex;flex-direction:column;justify-content:space-between}.side-decoration{height:130px;display:flex;align-items:flex-end;gap:12px}.side-decoration span{width:21px;border-left:1px solid #b6c5c9;border-top:1px solid #b6c5c9;height:50px;transform:skewY(-35deg)}.side-decoration span:nth-child(2){height:85px}.side-decoration span:nth-child(3){height:115px}.intro h2,.section-top h2,.contacts h2{font-size:clamp(34px,4vw,55px);line-height:1.12;letter-spacing:-.035em;font-weight:700}.intro h2{max-width:730px}.intro h2 span,.section-top h2 span,.contacts h2 span{color:#8e999f}.lead{font-size:20px;line-height:1.65;font-weight:500;margin-top:35px;max-width:920px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:30px}.intro-columns p{color:#5a6976;font-size:15px;line-height:1.9}.inline-link{display:inline-flex;gap:34px;align-items:center;font-weight:700;border-bottom:1px solid #b8c6cb;padding-bottom:11px;font-size:13px;margin-top:36px}.inline-link span{font-size:20px;color:#b18a53}.services{background:#eff2f2}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:46px}.section-top h2{max-width:740px;margin-top:24px}.section-top>p{color:var(--slate);font-size:15px;line-height:1.75;max-width:290px;padding-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-card{background:white;padding:40px 45px 45px;min-height:590px;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}.service-card:hover:after{transform:scaleX(1)}.service-card-head{display:flex;justify-content:space-between;align-items:flex-start;color:#a3b0b8}.service-number{font-size:12px;color:#b49772;letter-spacing:.1em;font-weight:700}.service-icon{width:102px;height:102px;color:#7596aa}.service-card h3{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin-top:13px;max-width:350px}.service-card>p{color:var(--slate);line-height:1.7;font-size:14px;max-width:430px;margin-top:16px}.service-card ul{padding:0;list-style:none;margin:30px 0 0;max-width:440px}.service-card li{font-size:14px;line-height:1.5;padding:11px 0 11px 22px;border-top:1px solid #e7eaec;position:relative}.service-card li:before{content:"";width:6px;height:6px;position:absolute;left:2px;top:19px;background:var(--gold);transform:rotate(45deg)}.card-decoration{position:absolute;bottom:30px;right:40px;color:#bac8d0;font-size:30px}.projects{background:#fff}.project-heading h2 .heading-period{color:var(--gold)}.project-stage{position:relative;background:#0c2a43;min-height:520px;overflow:hidden}.project-slides{position:relative;min-height:520px}.project-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.44fr 1fr;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}.project-slide.is-active{opacity:1;visibility:visible}.project-image{position:relative;min-height:520px;overflow:hidden;background-size:cover;background-position:center}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(80deg,transparent 65%,rgba(8,37,58,.18))}.project-image-1{background-image:url('images/placeholder-01.svg')}.project-image-2{background-image:url('images/placeholder-02.svg')}.project-image-3{background-image:url('images/placeholder-03.svg')}.project-image-4{background-image:url('images/placeholder-04.svg')}.project-image img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project-imagery-label{position:absolute;z-index:1;top:32px;left:32px;background:rgba(7,30,47,.85);color:white;font-size:11px;letter-spacing:.14em;padding:13px 17px}.project-details{display:flex;flex-direction:column;align-items:flex-start;background:var(--night);padding:90px 55px 55px;color:white}.project-category{font-size:10px;letter-spacing:.15em;color:var(--gold-bright);font-weight:700}.project-details h3{font-size:clamp(31px,3vw,46px);letter-spacing:-.03em;line-height:1.16;margin-top:31px;max-width:450px}.project-details p{font-size:16px;color:#b7c9d7;margin-top:22px}.project-index{margin-top:auto;font-size:11px;letter-spacing:.2em;color:#829caf}.project-controls{position:absolute;right:55px;bottom:50px;z-index:5;display:flex;align-items:center;gap:35px}.project-pager{display:flex;gap:9px}.pager-button{width:19px;height:3px;border:0;background:#527087;cursor:pointer;padding:0;transition:width .25s,background .25s}.pager-button.is-active{background:var(--gold);width:38px}.arrow-controls{display:flex;gap:8px}.arrow-control{border:1px solid rgba(255,255,255,.35);background:transparent;color:white;cursor:pointer;font-size:24px;width:46px;height:46px;transition:background .2s}.arrow-control:hover{background:#31516a}.project-note{display:flex;align-items:start;gap:40px;padding:30px 0;border-bottom:1px solid var(--stroke)}.project-note>span{font-size:10px;white-space:nowrap;letter-spacing:.1em;font-weight:800;color:#a47c45}.project-note>div{font-size:14px;line-height:1.6;color:#546773}.project-note i{font-style:normal;color:#cba36b;padding:0 8px}.career-band{background:#163c57;color:#fff;padding:75px 0;position:relative;overflow:hidden}.career-band:after{content:"";position:absolute;right:4%;top:-150px;width:400px;height:400px;border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none;box-shadow:0 0 0 80px rgba(255,255,255,.015),0 0 0 180px rgba(255,255,255,.01)}.career-layout{display:grid;grid-template-columns:1.1fr .55fr;gap:90px;align-items:end;position:relative;z-index:1}.career-band h2{font-size:clamp(32px,3.4vw,49px);letter-spacing:-.03em;line-height:1.2;margin-top:30px;max-width:700px}.career-band h2 em{font-style:normal;color:var(--gold-bright)}.career-action p{font-size:14px;color:#c5d6de;line-height:1.8;margin-bottom:24px}.button-outline{border:1px solid #c7b89f;color:white}.button-outline:hover{background:#254d69}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.contacts h2{margin-top:25px}.contacts p{color:var(--slate);font-size:16px;line-height:1.8;max-width:400px;margin-top:26px}.contact-details{padding-top:9px}.contact-item{border-bottom:1px solid var(--stroke);padding:20px 0 25px}.contact-item:first-child{padding-top:0}.contact-item small{display:block;font-size:10px;color:#a27c46;letter-spacing:.16em;font-weight:800;margin-bottom:14px}.contact-item a{font-size:clamp(16px,2vw,25px);letter-spacing:-.02em;font-weight:600;overflow-wrap:anywhere}.contact-item a:hover{color:#b48c55}.footer{background:#0a2438;color:#fff}.footer-top{min-height:120px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #294256}.footer-brand .brand-mark{color:#e6eef2}.footer-brand .brand-copy small{color:#8da8b8}.back-top{font-size:12px;color:#d6e3ec}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:27px 0;font-size:11px;line-height:1.6;color:#91a5b2}.footer-bottom span:last-child{white-space:nowrap}
@media (max-width:1200px){.shell{width:min(calc(100% - 64px),var(--shell))}.header-inner{gap:24px}.brand-copy strong{font-size:16px}.primary-nav{gap:16px}.primary-nav a{font-size:12px}.header-phone{font-size:14px;padding-left:18px}.hero-grid{grid-template-columns:1.1fr .9fr}.hero-copy{padding-right:30px}.hero h1{font-size:clamp(40px,4vw,58px)}.hero-art{min-height:580px}.intro-layout{grid-template-columns:200px 1fr;gap:40px}}
@media (max-width:940px){.site-header{height:82px}.header-inner{justify-content:space-between}.menu-toggle{display:flex;width:43px;height:43px;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid var(--stroke);padding:10px;margin-left:auto;cursor:pointer}.menu-toggle span{height:2px;background:var(--night);display:block}.primary-nav{display:none;position:absolute;top:82px;left:0;right:0;margin:0;background:#fff;padding:20px 32px 32px;box-shadow:0 15px 20px #0000001c;flex-direction:column;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px 0;border-bottom:1px solid #eee;font-size:15px}.header-phone{margin-left:0}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:70px 0 55px;min-height:540px}.hero h1{font-size:56px;max-width:790px}.hero-location{padding-top:50px}.hero-art{min-height:350px}.art-card{bottom:25px;left:25px;padding:18px 24px;width:205px}.art-label{right:25px;top:24px}.intro-layout{grid-template-columns:1fr}.section-side{display:block}.side-decoration{display:none}.intro-body{max-width:100%}.section{padding:80px 0}.project-slide{grid-template-columns:1.1fr 1fr}.project-details{padding:70px 35px 35px}.project-controls{right:30px;bottom:27px}.career-layout{gap:35px}}
@media (max-width:640px){.shell{width:calc(100% - 36px)}.site-header{height:73px}.brand-mark{width:38px;height:38px}.brand{gap:7px}.brand-copy strong{font-size:12px;letter-spacing:.06em}.brand-copy small{font-size:7px}.header-phone{display:none}.primary-nav{top:73px;padding:14px 18px 25px}.hero-copy{padding:57px 0 48px;min-height:520px}.hero h1{font-size:clamp(37px,9vw,52px);margin-top:33px}.hero-subtitle{font-size:15px;line-height:1.65;margin-top:25px}.hero-actions{gap:23px;margin-top:30px}.hero-location{font-size:9px}.hero-art{min-height:310px}.art-label{font-size:8px;right:18px;gap:7px}.art-card{width:180px;padding:15px 18px}.art-card strong{font-size:27px}.art-card svg{display:none}.coordinate-x{left:20px;top:22px}.coordinate-y{right:17px;bottom:20px}.hero-bottom{font-size:10px;line-height:1.4;gap:15px}.hero-bottom>a{white-space:nowrap;font-size:0}.hero-bottom>a span{font-size:24px}.section{padding:65px 0}.intro h2,.section-top h2,.contacts h2{font-size:35px}.intro .lead{font-size:17px;line-height:1.6;margin-top:25px}.intro-columns,.service-grid,.contact-grid{grid-template-columns:1fr}.intro-columns{gap:15px;margin-top:25px}.intro-columns p{font-size:14px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:17px;max-width:none}.service-grid{gap:13px}.service-card{padding:25px 24px 36px;min-height:auto}.service-icon{width:80px;height:80px}.service-card h3{font-size:25px}.service-card li{font-size:13px}.project-stage,.project-slides{min-height:620px}.project-slide{display:flex;flex-direction:column}.project-image{min-height:295px;height:295px;flex-shrink:0}.project-details{flex:1;padding:27px 25px 78px}.project-details h3{font-size:29px;margin-top:18px}.project-details p{margin-top:13px;font-size:14px}.project-index{display:none}.project-controls{bottom:22px;left:25px;right:25px;justify-content:space-between;gap:10px}.arrow-control{width:42px;height:42px}.project-note{display:block}.project-note>div{margin-top:13px}.career-band{padding:65px 0}.career-layout{grid-template-columns:1fr;gap:27px}.career-band h2{font-size:34px}.career-action p{font-size:14px}.contact-grid{gap:40px}.contacts p{font-size:14px}.contact-item a{font-size:20px}.footer-top{min-height:115px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* Corrections agreed against annotated screenshots, 15 Oct 2026. */
/* Uploaded brand artwork — never redraw or replace with text. */
.brand { flex-shrink: 0; gap: 0; }
.brand-image { display: block; width: 186px; height: auto; max-height: 82px; object-fit: contain; }
.footer-brand .brand-image { width: 205px; max-height: none; }
.footer-top { min-height: 136px; }

/* Hero: remove the right-hand illustration and the bottom decorative strip. */
.hero-grid { display: block; min-height: 0; }
.hero-copy { max-width: 860px; min-height: 580px; padding: 88px 0 65px; }
.hero h1 { max-width: 810px; font-size: clamp(46px, 5vw, 68px); }
.hero-subtitle { max-width: 600px; }
.hero-location { padding-top: 40px; }

/* About: keep the side illustration low after removing the heading marker. */
.intro .section-side { justify-content: flex-end; }

/* Directions: remove the previously occupied 100px icon row, reduce dead space. */
.services .section-top h2 { margin-top: 0; }
.service-card { min-height: 0; padding: 40px 45px 61px; }
.service-card h3 { margin-top: 0; }
.service-card ul { margin-top: 25px; }
.service-card .card-decoration { bottom: 23px; }

/* Projects: closer grouping of heading, slider and city labels. */
.projects .project-heading h2 { margin-top: 0; }
.project-note { gap: 0; padding: 25px 0; }

/* Careers: rebalance the two columns without the section number. */
.career-band { padding: 66px 0; }
.career-layout { align-items: center; }
.career-band h2 { margin-top: 0; }

@media (max-width: 1200px) {
  .brand-image { width: 169px; }
  .hero-copy { max-width: 800px; }
  .service-card { padding: 34px 35px 57px; }
}
@media (max-width: 940px) {
  .brand-image { width: 164px; max-height: 72px; }
  .hero-copy { max-width: 100%; min-height: 530px; padding: 78px 0 55px; }
  .hero h1 { font-size: clamp(43px, 6vw, 62px); }
  .footer-brand .brand-image { width: 188px; }
  .career-layout { align-items: start; }
}
@media (max-width: 640px) {
  .brand-image { width: 130px; max-height: 59px; }
  .hero-copy { min-height: 0; padding: 65px 0 55px; }
  .hero h1 { font-size: clamp(35px, 9vw, 49px); }
  .hero-location { margin-top: 52px; padding-top: 0; }
  .service-card { padding: 28px 25px 57px; }
  .career-band { padding: 56px 0; }
  .footer-brand .brand-image { width: 176px; }
  .footer-top { min-height: 114px; }
}


/* Update 2 — pending replacement of project photos with placeholders and layout refinements. */
.services .service-card{display:grid;grid-template-rows:minmax(70px,auto) minmax(48px,auto) 1fr;align-content:start}
.services .service-card h3{margin-top:0;display:flex;align-items:flex-start}
.services .service-card>p{margin-top:14px;max-width:420px}
.services .service-card ul{margin-top:18px;align-self:start}
.project-heading{display:block;margin-bottom:32px}
.project-heading > div{max-width:760px}
.contacts h2{margin-top:0}
.contact-grid{align-items:start}


/* Update 3 — heading wrap in services and larger intro decoration. */
.services .section-top > div{flex:1 1 auto; min-width:0}
.services .section-top h2{max-width:860px}
.services .section-top h2 span{display:block; white-space:nowrap}

.intro .section-side{justify-content:flex-end}
.side-decoration{
  height:245px;
  display:flex;
  align-items:flex-end;
  gap:18px;
  margin-bottom:2px;
}
.side-decoration span{
  width:31px;
  border-left:1px solid #b6c5c9;
  border-top:1px solid #b6c5c9;
  transform:skewY(-35deg);
  height:95px;
}
.side-decoration span:nth-child(2){height:158px}
.side-decoration span:nth-child(3){height:214px}

@media (max-width: 940px){
  .services .section-top h2 span{white-space:normal}
  .side-decoration{height:180px; gap:14px; margin-bottom:0}
  .side-decoration span{width:26px; height:70px}
  .side-decoration span:nth-child(2){height:116px}
  .side-decoration span:nth-child(3){height:156px}
}
@media (max-width: 640px){
  .services .section-top h2 span{display:inline; white-space:normal}
}
