:root{--paper:#f5f4f0;--white:#fff;--ink:#142d39;--muted:#667176;--line:#dcded9;--orange:#e47747;--dark:#102b37;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}::selection{background:#edb395;color:var(--dark)}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.skip{position:fixed;top:-60px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}.header{height:96px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:block;width:176px}.brand img{width:100%;height:54px;object-fit:contain}.nav{display:flex;align-items:center;gap:27px}.nav a{font-size:13px;font-weight:600;padding:38px 0 35px;border-bottom:3px solid transparent;transition:.2s}.nav a:hover,.nav a.active{border-color:var(--orange)}.header-cta{padding:14px 19px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;font-size:25px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow:before{content:'';display:inline-block;width:24px;height:2px;background:var(--orange)}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:48% 52%;overflow:hidden}.hero-copy{padding:85px 38px 72px max(48px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(54px,5.5vw,84px);line-height:1.035;letter-spacing:-4px;font-weight:500;margin:0 0 28px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:375px;color:var(--muted);margin:0 0 34px}.hero-visual{position:relative;background:#c8d2d3;min-width:0}.hero-visual>img{width:100%;height:100%;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,43,.6),transparent 55%)}.image-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:20px}.image-caption small{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;display:block;margin-bottom:10px;opacity:.8}.image-caption strong{font-size:20px;font-weight:400}.image-caption .circle{width:45px;height:45px;display:grid;place-items:center;border:1px solid #ffffff7a;border-radius:50%;font-size:22px}.hero-number{position:absolute;right:32px;top:30px;color:#fff;font-size:11px;letter-spacing:2px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:16px 23px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;border:1px solid var(--ink);transition:background .2s,transform .2s}.btn:hover{background:#284b5b;transform:translateY(-2px)}.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.outline{background:none;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:12px;font-weight:700;padding:12px 0;border-bottom:1px solid var(--ink)}.arrow{font-size:20px;font-weight:400}.discipline-strip{background:#fff;border-bottom:1px solid var(--line)}.discipline-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.discipline-strip a{display:flex;gap:18px;align-items:center;padding:27px 0;font-size:12px;letter-spacing:.4px;border-right:1px solid var(--line);justify-content:center}.discipline-strip a:last-child{border-right:0}.discipline-strip span{font-size:10px;color:var(--orange)}.section{padding:100px 0}.section.white{background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-head h2,.big-heading{font-weight:500;font-size:clamp(34px,3.6vw,52px);letter-spacing:-1.7px;line-height:1.12;margin:0}.section-head p{font-size:14px;color:var(--muted);line-height:1.8;max-width:370px;margin:0}.section-head .eyebrow{margin-bottom:20px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro p{color:var(--muted);line-height:1.9;font-size:15px}.intro .text-link{margin-top:15px}.intro h2{max-width:480px}.rule{height:1px;background:var(--line);margin:45px 0 0}.numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.numbers div{padding:28px 20px 0 0}.numbers strong{font-size:50px;font-weight:400;letter-spacing:-2px;display:block}.numbers span{font-size:11px;color:var(--muted);display:block;margin-top:8px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 28px}.project-card{display:block}.project-media{position:relative;aspect-ratio:1.5;overflow:hidden;background:#e3e5e3}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.project-card:hover .project-media img{transform:scale(1.045)}.project-media .project-index{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:1px;background:#ffffffea;padding:8px 12px}.project-media .project-go{position:absolute;bottom:18px;right:18px;width:42px;height:42px;background:#fff;display:grid;place-items:center;font-size:23px;transition:background .2s}.project-card:hover .project-go{background:var(--orange);color:#fff}.project-info{padding-top:19px;display:flex;justify-content:space-between;gap:12px}.project-info h3{font-size:23px;letter-spacing:-.6px;font-weight:500;margin:0 0 8px}.project-info p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}.project-info small{font-size:11px;color:var(--muted);padding-top:4px;white-space:nowrap}.services-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:35px 1fr 20px;padding:28px 0;border-bottom:1px solid var(--line);gap:15px;transition:padding .25s}.service-row:hover{padding-left:10px}.service-row>span:first-child{font-size:11px;color:var(--orange);padding-top:5px}.service-row h3{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:0 0 10px}.service-row p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.services-copy .big-heading{margin-bottom:25px}.services-copy>p{font-size:15px;line-height:1.9;color:var(--muted)}.services-copy .text-link{margin-top:20px}.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.logo-tile{background:#fff;min-width:0;aspect-ratio:1.8;display:flex;align-items:center;justify-content:center;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.logo-tile img{width:100%;height:70px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:.3s}.logo-tile:hover img{filter:none;opacity:1}.logo-tile .logo-name{position:absolute;bottom:8px;left:8px;right:8px;font-size:9px;line-height:1.2;text-align:center;color:var(--muted);opacity:0;transition:.2s}.logo-tile:hover .logo-name{opacity:1}.callout{background:var(--dark);color:#fff;padding:65px 0;position:relative;overflow:hidden}.callout .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.callout h2{font-size:45px;line-height:1.15;font-weight:400;letter-spacing:-1.5px;margin:0}.callout p{color:#b8c6ca;font-size:14px;line-height:1.8;margin:15px 0 0}.footer{background:#fff;padding:60px 0 25px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:70px;padding-bottom:45px}.footer-logo{width:190px;max-height:68px;object-fit:contain;object-position:left}.footer p,.footer a{font-size:12px;line-height:1.9;color:var(--muted)}.footer h3{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 22px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);line-height:1.7}.page-head{padding:65px 0 55px}.breadcrumbs{font-size:10px;color:var(--muted);display:flex;gap:10px;margin-bottom:45px}.page-head h1{font-size:clamp(43px,5vw,70px);font-weight:500;line-height:1.05;letter-spacing:-2.5px;margin:0 0 25px;max-width:900px}.page-head .lead{font-size:17px;line-height:1.8;max-width:690px;color:var(--muted);margin:0}.page-head .eyebrow{margin-bottom:20px}.filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:35px}.filter{border:1px solid var(--line);padding:11px 19px;background:transparent;font-size:12px;transition:.2s}.filter:hover,.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.search{background:#fff;border:1px solid var(--line);padding:14px 18px;min-width:260px;font-size:13px;color:var(--ink)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px}.toolbar p{color:var(--muted);font-size:12px}.empty{grid-column:1/-1;padding:35px 0;color:var(--muted)}[hidden]{display:none!important}.feature-image{width:100%;max-height:600px;object-fit:cover}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-split img{width:100%;aspect-ratio:1.1;object-fit:cover}.about-split p{font-size:15px;line-height:1.9;color:var(--muted)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);margin-top:55px}.value{padding-top:30px}.value small{color:var(--orange);font-size:11px}.value h3{font-size:23px;font-weight:500;margin:25px 0 15px}.value p{font-size:14px;line-height:1.8;color:var(--muted)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.service-detail img{width:100%;aspect-ratio:1.1;object-fit:cover}.body-copy{font-size:16px;line-height:1.9;color:var(--muted)}.body-copy p{margin:0 0 22px}.check-list{padding:0;list-style:none;border-top:1px solid var(--line);margin-top:30px}.check-list li{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;gap:16px}.check-list li:before{content:'↗';color:var(--orange)}.subsection-title{font-size:32px;letter-spacing:-1px;font-weight:500;margin:0 0 30px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 24px}.person{min-width:0}.person-photo{width:100%;aspect-ratio:.93;background:#e3e4df;overflow:hidden;position:relative}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.7);transition:.4s}.person:hover img{filter:saturate(1)}.person-photo.initials{display:grid;place-items:center;font-size:55px;font-weight:400;color:#72828a}.person h3{font-size:17px;font-weight:500;margin:18px 0 8px;letter-spacing:-.3px}.person p{font-size:11px;color:var(--muted);line-height:1.75;margin:3px 0}.person a{font-size:10px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted)}.team-note{font-size:12px;line-height:1.8;color:var(--muted);border-left:2px solid var(--orange);padding-left:16px;max-width:700px}.board-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.board-grid .person-photo{aspect-ratio:.8}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery button{padding:0;border:0;background:#e5e6e3;overflow:hidden;aspect-ratio:1.4}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery button:hover img{transform:scale(1.04)}.project-hero{width:100%;max-height:690px;object-fit:cover}.project-detail{display:grid;grid-template-columns:1.4fr .8fr;gap:100px}.project-specs{border-top:1px solid var(--line)}.project-specs div{border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:110px 1fr;gap:12px}.project-specs dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.project-specs dd{font-size:13px;line-height:1.6;margin:0}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.contact-card{padding:32px 0;border-top:1px solid var(--line)}.contact-card h2{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 20px;color:var(--muted)}.contact-card .large{display:block;font-size:31px;letter-spacing:-1px;line-height:1.5}.contact-card p{font-size:15px;line-height:1.9;margin:0}.contact-aside{background:var(--dark);color:#fff;padding:45px;min-height:400px;display:flex;flex-direction:column;justify-content:space-between}.contact-aside .big-heading{font-size:45px}.contact-aside p{color:#bed0d6;font-size:14px;line-height:1.9}.contact-aside .eyebrow{color:#ced9db}.section.compact{padding-top:45px}.archive-caption{font-size:11px;line-height:1.8;color:var(--muted);margin-top:25px}.image-missing{display:flex;align-items:center;justify-content:center;aspect-ratio:1.5;color:var(--muted);background:#e5e7e2;font-size:13px}.lightbox{border:0;padding:0;background:#091922;color:white;max-width:min(1150px,95vw);width:100%;max-height:95vh;overflow:hidden}.lightbox::backdrop{background:#06141de8}.lightbox figure{margin:0}.lightbox img{height:min(75vh,820px);width:100%;object-fit:contain}.lightbox figcaption{font-size:12px;padding:20px 65px 20px 25px;line-height:1.5}.lightbox-close{position:absolute;right:15px;top:15px;background:#fff;color:#122c39;border:0;width:40px;height:40px;font-size:27px;z-index:2}.lightbox-controls{position:absolute;right:20px;bottom:15px;display:flex;gap:5px}.lightbox-controls button{background:transparent;color:white;border:1px solid #ffffff50;width:34px;height:34px;font-size:20px}.to-top{font-size:12px}.header-cta:hover{background:#345564}.section-anchor{scroll-margin-top:110px}.portfolio-index{font-size:12px;letter-spacing:1px;color:var(--muted)}.technical-drawing{object-fit:contain!important;background:white}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.gallery-heading small{font-size:11px;color:var(--muted)}
@media(min-width:1600px){.hero-copy{padding-right:70px}.hero{min-height:760px}}@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav{gap:17px}.nav a{font-size:12px}.header-cta{display:none}.hero-copy{padding:60px 30px 60px 32px}.hero{min-height:620px}.hero h1{font-size:66px;letter-spacing:-3px}.intro,.services-layout,.about-split{gap:50px}.footer-main{gap:40px}.team-grid{grid-template-columns:repeat(3,1fr)}.board-grid{grid-template-columns:repeat(3,1fr)}.project-detail{gap:50px}.logo-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header{height:78px}.brand{width:145px}.brand img{height:48px}.menu-toggle{display:block}.nav{position:absolute;left:0;right:0;top:78px;display:none;background:#fff;padding:15px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #102b370d}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{padding:17px 0;border-bottom:1px solid var(--line);font-size:15px}.nav a.active{color:var(--orange)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:55px 20px 50px}.hero h1{font-size:62px;letter-spacing:-3px}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:500px}.hero-visual{height:390px}.hero-number{right:20px;top:22px}.image-caption{left:20px;right:20px;bottom:25px}.image-caption strong{font-size:18px}.discipline-strip .wrap{grid-template-columns:repeat(2,1fr)}.discipline-strip a{padding:22px 5px;font-size:10px;gap:11px;border-bottom:1px solid var(--line)}.discipline-strip a:nth-child(2){border-right:0}.section{padding:65px 0}.intro,.services-layout,.about-split,.service-detail,.project-detail,.contact-layout{grid-template-columns:1fr;gap:38px}.section-head{align-items:start;gap:25px;flex-direction:column;margin-bottom:30px}.section-head h2,.big-heading{font-size:38px}.project-grid{gap:35px 18px}.project-info h3{font-size:20px}.project-info small{display:none}.project-info p{font-size:10px}.project-media{aspect-ratio:1.15}.project-index{display:none}.logo-grid{grid-template-columns:repeat(3,1fr)}.logo-tile{padding:18px}.logo-tile img{height:60px}.callout{padding:50px 0}.callout .wrap{align-items:start;flex-direction:column;gap:30px}.callout h2{font-size:38px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer{padding-top:45px}.footer-bottom{flex-direction:column;gap:10px}.page-head{padding:40px 0}.breadcrumbs{margin-bottom:32px}.page-head h1{font-size:48px}.page-head .lead{font-size:15px}.toolbar{align-items:stretch;flex-direction:column;gap:15px}.search{width:100%}.value-grid{grid-template-columns:1fr;gap:0;margin-top:25px}.value{border-bottom:1px solid var(--line);padding:25px 0}.value h3{margin-top:15px}.team-grid,.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.contact-card .large{font-size:27px}.contact-aside{padding:30px;min-height:360px}.project-hero{max-height:470px}.numbers strong{font-size:43px}.numbers span{font-size:10px}.service-row h3{font-size:22px}.service-detail img{aspect-ratio:1.4}.lightbox img{height:60vh}.footer-links{grid-template-columns:1fr}.about-split img{aspect-ratio:1.4}}@media(max-width:430px){.hero h1{font-size:54px}.hero-visual{height:310px}.hero-copy{padding-top:45px}.project-grid{grid-template-columns:1fr}.project-media{aspect-ratio:1.5}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-tile{aspect-ratio:1.8}.numbers strong{font-size:38px}.team-grid{gap:25px 14px}.person h3{font-size:15px}.person p{font-size:10px}.person a{font-size:9px}.page-head h1{font-size:42px;letter-spacing:-1.7px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.gallery{grid-template-columns:1fr}.filter{padding:10px 13px;font-size:11px}.contact-card .large{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.portfolio-links{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.visual-card{min-width:0}.visual-card img{width:100%;aspect-ratio:1.25;object-fit:cover}.visual-card h3{font-size:18px;font-weight:500;margin:18px 0;display:flex;justify-content:space-between;gap:15px}.visual-card span{color:var(--orange)}@media(max-width:800px){.portfolio-links{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.portfolio-links{grid-template-columns:1fr}}
