:root{--blue:#135778;--ink:#17343f;--muted:#566970;--paper:#f7f7f2;--line:#dce2df;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}.wrap{max-width:1248px;width:calc(100% - 96px);margin:auto}.topbar{background:var(--blue);color:#fff;font-size:12px;letter-spacing:.03em}.topbar .wrap{display:flex;justify-content:space-between;padding:8px 0}.topbar a{font-weight:700}header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e9e7}.header{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.brand{width:345px;flex-shrink:0}.brand img{width:100%}nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600}nav>a:not(.button){padding:14px 0;border-bottom:2px solid transparent}nav>a:hover,nav>a[aria-current]{color:var(--blue);border-color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 22px;background:var(--blue);color:white;line-height:1.3;font-size:14px;font-weight:600;border:1px solid var(--blue);transition:background .2s}.button:hover{background:#0c3e56}.button.light{background:#fff;color:var(--blue);border-color:#fff}.button.light:hover{background:#eaf0ee}.button span{font-size:20px}.menu{display:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:clamp(46px,5.6vw,78px);line-height:1.06;letter-spacing:-.045em;margin-bottom:25px}h2{font-family:var(--serif);font-size:clamp(34px,3.7vw,51px);line-height:1.15;letter-spacing:-.035em;margin-bottom:22px}h3{font-family:var(--serif);font-size:28px;line-height:1.25}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.6;margin-bottom:23px}.lead{font-size:20px;line-height:1.65}.hero{position:relative;min-height:660px;color:#fff;display:flex;align-items:center;isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(8,38,49,.86),rgba(8,38,49,.37) 60%,rgba(8,38,49,.08));z-index:-1}.hero-content{padding-top:60px;padding-bottom:120px}.hero h1{font-size:clamp(50px,6vw,84px);max-width:820px}.hero-content>p:not(.eyebrow){font-size:19px;line-height:1.6;color:#ecf0ed;max-width:550px}.actions{display:flex;align-items:center;gap:28px;margin-top:33px}.text-link{font-size:14px;border-bottom:1px solid #a9bebc;padding:8px 0;display:inline-flex;gap:20px}.hero-bottom{position:absolute;left:0;right:0;bottom:0;border-top:1px solid #ffffff50;display:flex;justify-content:space-between;padding:21px 0;font-size:12px;letter-spacing:.03em}.section{padding-top:94px;padding-bottom:94px}.section.compact{padding-top:25px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-grid p:not(.eyebrow){color:var(--muted)}.intro-grid .lead{color:var(--ink)!important}.underlined{font-size:14px;display:inline-flex;gap:30px;border-bottom:1px solid var(--blue);padding-bottom:7px;margin-top:10px;line-height:1.5;color:var(--blue)}.service-section{background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:16px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #cbd5d3}.service-card{padding:34px 55px 6px 0}.service-card+.service-card{border-left:1px solid #cbd5d3;padding:34px 0 6px 55px}.number{font-size:11px;letter-spacing:.1em;color:var(--blue);font-weight:600}.service-card h3{font-size:38px;margin-top:28px;margin-bottom:20px;letter-spacing:-.03em}.service-card p{max-width:430px;color:var(--muted);font-size:15px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.project-card{display:block}.project-card img{width:100%;height:265px;object-fit:cover;transition:filter .25s}.project-card:hover img{filter:brightness(.92)}.project-card>div{padding:18px 0;border-bottom:1px solid var(--line)}.project-card h3{font-size:24px;margin-bottom:6px}.project-card span{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.project-card b{font-size:18px;color:var(--blue);font-weight:400}.quote-section{background:var(--paper);text-align:center;padding:85px 0}.quote-section .wrap{max-width:920px}.quote-section blockquote{font:34px/1.45 var(--serif);letter-spacing:-.02em;margin:0 0 25px}.quote-section>div>p:not(.eyebrow){font-size:13px}.contact-banner{background:var(--blue);color:#fff;padding:70px 0}.contact-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-banner h2{margin:0;font-size:48px}.contact-banner .eyebrow{color:#c2d7df}footer{background:#f6f7f4;padding-top:56px}.footer-grid{display:grid;grid-template-columns:1.5fr 1.2fr .7fr;gap:60px;padding-bottom:45px;font-size:14px}.footer-name{font-family:var(--serif);font-size:25px;font-weight:600}.footer-grid p:not(.eyebrow){margin-top:14px;color:var(--muted)}.footer-grid>div>a:not(.footer-name){display:block;margin-bottom:6px}.footer-grid .eyebrow{margin-bottom:16px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:11px;color:var(--muted)}.page-intro{padding-top:75px;padding-bottom:50px}.page-intro .lead{max-width:760px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.split>img{width:100%;min-height:420px;object-fit:cover}.prose{font-size:17px;line-height:1.8}.prose p{margin-bottom:24px}.prose .button{margin-top:12px}.prose h2{margin-top:8px}.prose a:not(.button){text-decoration:underline}.service-photos{display:grid;gap:22px}.service-photos img{width:100%;object-fit:cover;max-height:380px}.service-list article{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin-bottom:70px}.service-list article:nth-child(2) img{order:2}.service-list article img{width:100%;height:390px;object-fit:cover}.service-list article p:not(.eyebrow){color:var(--muted);max-width:480px}.filters{display:flex;gap:14px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px;flex-wrap:wrap}.filters button{background:white;color:var(--muted);border:1px solid var(--line);padding:9px 17px;font-size:13px}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.filters span{font-size:10px;margin-left:10px;opacity:.7}[hidden]{display:none!important}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery a{position:relative;background:var(--paper)}.gallery img{width:100%;height:390px;object-fit:cover}.gallery span{position:absolute;right:12px;bottom:12px;background:white;padding:6px 12px;font-size:11px}.back-link{margin-bottom:30px}.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:40px}.testimonials article{border-top:1px solid var(--line);padding-top:25px}.quote-mark{font:70px/1 var(--serif);color:var(--blue)}.testimonials blockquote{margin:0 0 24px;font:19px/1.7 var(--serif)}.testimonials h2{font:600 13px/1.6 var(--sans);letter-spacing:0}.contact-layout{display:grid;grid-template-columns:1.1fr .85fr;gap:100px}.contact-person{display:grid;grid-template-columns:80px 1fr 25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);gap:20px}.contact-person strong{font-family:var(--serif);font-size:32px;font-weight:400}.contact-person b{font-weight:400}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;font-size:14px}.contact-details h2{font:600 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}.contact-details a{color:var(--blue)}.contact-layout aside{background:var(--paper);padding:40px}.contact-layout aside h2{font-size:38px}.contact-layout aside>p:not(.eyebrow){color:var(--muted)}.small{font-size:12px;margin-top:16px}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{clip:auto;width:auto;height:auto;padding:15px;background:white;z-index:100}:focus-visible{outline:3px solid #c38d31;outline-offset:5px}dialog{border:0;padding:48px 20px 20px;background:#102b35;color:white;max-width:95vw;max-height:95vh;width:max-content}dialog::backdrop{background:#00121de8}dialog img{max-height:76vh;max-width:87vw;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}dialog .close-viewer{position:absolute;right:10px;top:0;border:0;color:white;background:transparent;font-size:34px;line-height:1.3}
@media(min-width:1500px){.hero{min-height:750px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.brand{width:280px}nav{gap:17px;font-size:12px}nav .button{padding:13px 16px;gap:15px}.intro-grid{gap:60px}.project-card img{height:220px}.split,.service-list article{gap:40px}.contact-layout{gap:45px}}@media(max-width:850px){.header{min-height:85px}.brand{width:300px;max-width:75%}.menu{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--blue);font-size:14px}.menu span{font-size:20px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 16px #17343f12;flex-direction:column;align-items:stretch;gap:4px;font-size:15px}nav.open{display:flex}nav .button{margin-top:12px}.hero{min-height:610px}.hero h1{font-size:62px}.hero-content{padding-top:50px;padding-bottom:110px}.hero-bottom{font-size:10px}.intro-grid{gap:35px}.section{padding-top:70px;padding-bottom:70px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card img{height:260px}.split{grid-template-columns:1fr}.split>img{max-height:480px;min-height:0}.service-list article{grid-template-columns:1fr 1fr;gap:30px}.service-list article img{height:320px}.service-card{padding-right:30px}.service-card+.service-card{padding-left:30px}.service-card h3{font-size:32px}.contact-banner h2{font-size:39px}.footer-grid{gap:30px;grid-template-columns:1.3fr 1.2fr .7fr}.gallery img{height:280px}.contact-layout{grid-template-columns:1fr 1fr;gap:35px}.contact-person{grid-template-columns:55px 1fr 15px;gap:8px}.contact-person strong{font-size:23px}.contact-layout aside{padding:27px}.contact-layout aside h2{font-size:32px}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.topbar{font-size:10px}.topbar .wrap{padding:7px 0}.header{min-height:78px;gap:14px}.brand{width:260px}.menu{font-size:0;gap:0}.menu span{font-size:23px}.hero{min-height:600px}.hero h1{font-size:49px;letter-spacing:-.04em}.hero-content .eyebrow{font-size:10px}.hero-content>p:not(.eyebrow){font-size:17px;max-width:310px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#082631dc,#08263175)}.hero-content{padding-top:35px;padding-bottom:100px}.actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:25px}.hero-bottom{padding:16px 0;font-size:9px}.hero-bottom span:last-child{display:none}.desktop{display:none}.section{padding-top:54px;padding-bottom:54px}.intro-grid{grid-template-columns:1fr;gap:15px}.intro-grid h2{margin-bottom:10px}.lead{font-size:18px}.eyebrow{font-size:10px;margin-bottom:15px}h2{font-size:36px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:28px}.section-heading .underlined{margin-top:0}.service-grid{grid-template-columns:1fr}.service-card{padding:28px 0}.service-card+.service-card{border-left:0;border-top:1px solid #cbd5d3;padding:28px 0 0}.service-card h3{font-size:34px;margin-top:18px}.projects-grid{grid-template-columns:1fr;gap:30px}.project-card img{height:auto;aspect-ratio:1.45;object-fit:cover}.project-card h3{font-size:25px}.quote-section{padding:55px 0}.quote-section blockquote{font-size:26px;line-height:1.5}.contact-banner{padding:48px 0}.contact-banner .wrap{align-items:flex-start;flex-direction:column;gap:28px}.contact-banner h2{font-size:37px}.footer-grid{grid-template-columns:1fr;gap:26px;padding-bottom:30px}.footer-bottom{font-size:10px;gap:15px}.page-intro{padding-top:47px;padding-bottom:26px}.page-intro h1{font-size:45px}.split{gap:30px}.service-list article{grid-template-columns:1fr;gap:27px;margin-bottom:50px}.service-list article img{height:auto;aspect-ratio:1.4}.service-list article:nth-child(2) img{order:0}.service-photos{gap:15px}.gallery{grid-template-columns:1fr;gap:18px}.gallery img{height:auto;min-height:0;aspect-ratio:1.4}.testimonials{grid-template-columns:1fr;gap:20px}.testimonials blockquote{font-size:18px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-person{grid-template-columns:65px 1fr 20px;gap:15px}.contact-person strong{font-size:29px}.contact-details{gap:20px;font-size:13px}.contact-layout aside{padding:30px}.filters{gap:8px}.filters button{padding:8px 12px;font-size:12px}.filters span{margin-left:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
