@font-face{font-family:Caslon;src:url('assets/caslon.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-weight:400 600;font-display:swap}
:root{--navy:#001320;--ivory:#f5f2eb;--ink:#122733;--muted:#52616a;--blue:#007a9e;--line:#cecfc8;--display:Caslon,Georgia,serif;--body:DM,Arial,sans-serif;--section:clamp(42px,5vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ivory);font-family:var(--body);color:var(--ink);font-size:16px;line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.025em}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border-radius:0}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.section{padding-block:var(--section)}.site-header{position:absolute;inset:0 0 auto;z-index:5;color:#fff}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;width:min(1440px,calc(100% - 100px));min-height:106px;margin:auto}.brand{flex-shrink:0}.brand img{width:205px}.header-inner nav{display:flex;align-items:center;gap:42px}.header-inner nav a{font-size:15px;text-decoration:none;padding:10px 0}.header-inner nav a:hover{text-decoration:underline}.header-inner .nav-inquire{border:1px solid #e4e9eb;padding:9px 24px}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;color:#fff;min-height:620px;height:min(76vw,900px);max-height:100svh;background:var(--navy);display:flex;align-items:end}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(to bottom,rgba(0,19,32,.76) 0,rgba(0,19,32,.14) 21%,transparent 43%,transparent 64%,rgba(0,19,32,.78) 100%)}.hero-caption{width:calc(100% - 100px);margin:0 auto 48px;display:flex;justify-content:space-between;gap:36px;align-items:baseline}.hero h1{font-size:clamp(44px,6.4vw,88px);letter-spacing:-.025em;line-height:1.04}.arrow-link,.quiet-link{display:inline-flex;gap:22px;align-items:center;text-decoration:none;white-space:nowrap}.arrow-link{font-size:14px;padding-block:9px;border-bottom:1px solid var(--blue)}.arrow-link.light{color:#fff;border-bottom-color:#6dc8e3}.arrow-link svg{width:25px}.arrow-link:hover,.quiet-link:hover{color:var(--blue)}.arrow-link.light:hover{color:#a8e0f0}.service-location{font-size:12px;letter-spacing:.17em;text-transform:uppercase;display:flex;gap:22px;align-items:center;margin-bottom:38px}.service-location span{width:40px;height:1px;background:var(--blue)}.service-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.service-columns article{display:flex;flex-direction:column;align-items:start}.service-columns article+article{border-left:1px solid var(--line);padding-left:36px}.service-columns h2{font-size:clamp(30px,3vw,43px);min-height:2.1em;margin-bottom:20px}.service-columns p{font-size:15px;line-height:1.65;max-width:35ch;margin-bottom:20px}.quiet-link{margin-top:auto;font-size:12px;gap:12px;min-height:44px}.quiet-link svg{width:19px}.work{padding-top:22px;padding-bottom:0}.work-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:34px;gap:30px}.work h2{font-size:clamp(58px,7vw,94px)}.project-plate{position:relative;display:block;width:100%;border:0;padding:0;color:#fff;background:var(--navy);text-align:left}.project-plate>img{width:100%;max-height:750px;aspect-ratio:1.9;object-fit:cover;transition:filter .3s}.project-plate:hover>img{filter:brightness(.9)}.plate-caption{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:28px;padding:80px 50px 30px;background:linear-gradient(transparent,rgba(0,19,32,.82));pointer-events:none}.plate-caption>span:first-child{font-family:var(--display);font-size:45px;line-height:1.1}.plate-caption>span:last-child{display:flex;align-items:center;gap:20px;font-size:13px}.project-list{padding-block:42px var(--section)}.project-note{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:28px}.project-note h3{font-size:38px}.project-note p{font-size:14px;max-width:330px;color:var(--muted)}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-card{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:var(--ink)}.project-image{position:relative;overflow:hidden}.project-image img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-card:hover img{transform:scale(1.025)}.image-tag{position:absolute;left:14px;bottom:14px;padding:4px 10px;background:var(--ivory);font-size:11px}.project-card-caption{display:flex;justify-content:space-between;gap:20px;padding-top:18px;align-items:start}.project-card-caption strong{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1}.project-card-caption small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.project-card-caption>svg{width:21px;margin-top:4px}.gallery-help{font-size:12px;color:var(--muted);margin-top:24px}.team{background:#eae8df}.team-layout{display:grid;grid-template-columns:.9fr 1.35fr;gap:70px;align-items:center}.team h2{font-size:clamp(40px,4.5vw,65px)}.team-copy .intro{font-size:21px;line-height:1.5;margin-top:24px}.team-copy>p:not(.intro){font-size:14px;color:var(--muted);margin-top:20px;max-width:47ch}.team-copy .arrow-link{margin-top:22px}.people{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person>img{width:100%;aspect-ratio:1;object-fit:cover}.person h3{font-size:29px;margin-top:20px;margin-bottom:14px}.person a{display:block;width:fit-content;font-size:13px;margin-top:6px}.contact{background:var(--navy);color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(42px,4.6vw,65px);margin-bottom:26px}.contact-copy>p{font-size:15px;color:#cfdae1;max-width:43ch;margin-top:18px}.contact-details{display:grid;gap:22px;margin-top:30px}.contact-details h3{font-family:var(--body);font-size:14px;letter-spacing:0;margin-bottom:8px}.contact-details a{font-size:13px;display:block;width:fit-content;color:#d6e6ee}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:14px;margin-bottom:20px}label>span{font-size:11px;color:#b2c5d0}input,select,textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid #748b99;border-radius:0;color:#fff;padding:10px 0;margin-top:3px;font-size:16px;min-width:0;line-height:1.4}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#94d6e9}select option{background:var(--navy)}textarea::placeholder{color:#b2c5d0;font-size:14px}.submit-link{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;background:transparent;color:#fff;border:1px solid #b0c5d1;padding:14px 20px;font-size:15px;margin-top:24px}.submit-link:hover{background:#153344}.form-status{font-size:13px;color:#c7d8e2;line-height:1.6;margin-top:14px}footer{background:var(--navy);color:#cfdae1}.footer-main{border-top:1px solid #304653;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:30px}.footer-main img{width:180px}.footer-main p{font-size:13px}.back-top{display:flex;gap:12px;align-items:center;font-size:12px;text-decoration:none}.back-top svg{width:18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:16px 24px;font-size:11px;color:#b0c3ce}.skip{position:absolute;top:-100px;left:12px;background:var(--ivory);color:var(--navy);padding:12px;z-index:100}.skip:focus{top:12px}:focus-visible{outline:2px solid #0086b0;outline-offset:5px}::selection{background:#0086b0;color:#fff}input,textarea{caret-color:#8ed3e8}[hidden]{display:none!important}
#gallery{padding:26px 32px;width:min(1240px,96vw);max-width:none;height:min(900px,94svh);max-height:96svh;border:0;background:var(--navy);color:#fff;overflow:auto}#gallery::backdrop{background:rgba(0,10,18,.88)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.gallery-toolbar h2{font-size:32px}.gallery-toolbar p{color:#b9cdd9;font-size:12px;margin-top:5px}.gallery-toolbar button,.gallery-stage>button{display:grid;place-items:center;background:none;color:#fff;border:1px solid #698594;width:44px;height:44px;flex-shrink:0}.gallery-toolbar button:hover,.gallery-stage>button:hover{background:#173646}.gallery-stage{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:150px}.gallery-stage figure{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.gallery-stage img{width:100%;height:min(62svh,640px);object-fit:contain;background:#000a12}.gallery-stage figcaption{font-size:13px;color:#d5e1e7;margin-top:12px;text-align:center}.gallery-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:22px}.gallery-bottom p{font-size:11px;color:#b8cdd9}.gallery-bottom>div{display:flex;gap:8px;flex-wrap:wrap}.gallery-bottom button{padding:9px 12px;border:1px solid #698594;background:none;color:#d6e6ee;font-size:12px}.gallery-bottom button[aria-pressed=true]{background:var(--ivory);border-color:var(--ivory);color:var(--navy)}#gallery-error{font-size:14px;margin-top:15px;color:#ffc6b5}
@media(min-width:1500px){.hero{max-height:94svh}.hero h1{font-size:90px}.hero-caption{max-width:1440px}}@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.header-inner,.hero-caption{width:calc(100% - 80px)}.header-inner nav{gap:30px}.hero-caption{gap:24px}.hero h1{font-size:6.3vw}.hero-caption .arrow-link{font-size:13px;gap:16px}.service-columns{gap:28px}.service-columns article+article{padding-left:28px}.team-layout{gap:40px}.contact-layout{gap:54px}.people{gap:18px}.person h3{font-size:26px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap,.header-inner,.hero-caption{width:calc(100% - 40px)}.header-inner{min-height:88px}.brand img{width:166px}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #d6e2e9;background:var(--navy);color:white;padding:9px 12px;font-size:13px}.menu-toggle svg{width:20px}.header-inner nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--navy);padding:14px 20px 22px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #304653}.header-inner nav.open{display:flex}.header-inner nav a{padding:13px 0}.header-inner nav .nav-inquire{padding:10px 14px;margin-top:10px}.hero{min-height:580px;height:88svh;max-height:850px}.hero-photo{object-position:56% center}.hero-caption{flex-direction:column;align-items:start;margin-bottom:34px;gap:20px}.hero h1{font-size:clamp(42px,9.8vw,66px);max-width:9em;line-height:1.08}.hero-caption .arrow-link{font-size:14px}.hero-scrim{background:linear-gradient(to bottom,rgba(0,19,32,.82),rgba(0,19,32,.15) 22%,transparent 45%,rgba(0,19,32,.12) 60%,rgba(0,19,32,.86))}.service-location{font-size:10px;letter-spacing:.13em;margin-bottom:25px}.service-columns{grid-template-columns:1fr;gap:25px}.service-columns article+article{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:26px}.service-columns h2{min-height:0;font-size:36px;margin-bottom:14px}.service-columns p{max-width:100%;font-size:15px;margin-bottom:5px}.quiet-link{font-size:13px}.work-title{padding-bottom:26px;align-items:baseline;gap:16px}.work h2{font-size:64px}.work-title .arrow-link{font-size:11px;gap:9px}.work-title svg{width:19px}.project-plate>img{aspect-ratio:1.2;object-position:center}.plate-caption{padding:60px 20px 24px;align-items:end;gap:18px}.plate-caption>span:first-child{font-size:33px}.plate-caption>span:last-child{font-size:11px;gap:9px;white-space:nowrap}.plate-caption svg{width:19px}.project-list{padding-top:32px}.project-note{display:block;margin-bottom:24px}.project-note h3{font-size:34px;margin-bottom:14px}.project-note p{max-width:100%}.project-pair{grid-template-columns:1fr;gap:30px}.project-card-caption strong{font-size:29px}.team-layout,.contact-layout{grid-template-columns:1fr;gap:34px}.team h2{font-size:47px}.team-copy>p:not(.intro){max-width:100%;font-size:15px}.people{gap:18px}.person h3{font-size:25px}.person a{font-size:12px}.contact h2{font-size:47px}.contact-details{grid-template-columns:1fr 1fr;gap:18px}.contact-details a{font-size:11px;overflow-wrap:anywhere}.field-row{gap:18px}label>span{font-size:10px}.footer-main{flex-wrap:wrap;align-items:start;gap:22px}.footer-main img{width:160px}.footer-main p{font-size:12px}.back-top{margin-left:auto}.footer-bottom{display:block;line-height:1.8}.footer-bottom>span{display:block}#gallery{width:100vw;height:100svh;max-height:100svh;max-width:100vw;padding:20px 14px;margin:0}.gallery-toolbar{margin-bottom:22px}.gallery-toolbar h2{font-size:28px}.gallery-stage{gap:8px;position:relative;padding-bottom:58px}.gallery-stage>button{position:absolute;bottom:0}.gallery-prev{left:calc(50% - 54px)}.gallery-next{right:calc(50% - 54px)}.gallery-stage img{height:54svh}.gallery-stage figcaption{margin-top:15px}.gallery-bottom{display:block;margin-top:25px}.gallery-bottom p{font-size:12px}.gallery-bottom>div{margin-top:15px}.gallery-bottom button{min-height:44px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Final accessibility and brand integration pass. */
.person a{min-height:34px;display:flex;align-items:center}.back-top{min-height:44px}.gallery-bottom button{min-height:44px}.footer-bottom{font-size:12px}label>span{font-size:12px}
@media(max-width:760px){.person a{min-height:44px;font-size:13px}.contact-details a{font-size:13px;min-height:34px}.contact-details{grid-template-columns:1fr}label>span{font-size:11px}}
.brand img{filter:url(#logo-alpha)}
.footer-bottom{align-items:center;flex-wrap:wrap}.design-credit{display:inline-flex;align-items:center;gap:.35em;min-height:32px;font-size:12px;color:#b0c3ce;text-decoration:none;white-space:nowrap}.design-credit span{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#698594}.design-credit:hover{color:#fff}.design-credit:hover span{text-decoration-color:#8ed3e8}@media(max-width:760px){.design-credit{margin-top:12px;min-height:44px}}
