*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#172532;background:#f8f9fa}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #12a6b4;outline-offset:7px}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:16px;z-index:20}.skip:focus{top:10px}.nav{height:100px;display:flex;align-items:center;gap:clamp(36px,5.5vw,110px);padding:0 max(28px,2.7vw);background:#1d2735;color:#fff;position:relative;z-index:5}.nav a{font-size:20px;text-decoration:none;padding:12px 0;text-underline-offset:6px}.nav a[aria-current=page],.nav a:hover{text-decoration:underline}.home{background:#1d2735}.hero{position:relative;min-height:calc(100svh - 100px);overflow:hidden;background:#4b83c4}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero h1{position:relative;z-index:1;margin:0;padding:clamp(70px,8vw,150px) 6vw 48px;color:white;font-size:clamp(52px,6.4vw,122px);line-height:.94;font-weight:800;letter-spacing:-.045em;text-shadow:0 1px 6px #183c5930}.hero h1 span{display:block}.hero h1 .architects{color:#080b0e;text-shadow:0 0 24px #ffffff35}.hero-caption{position:absolute;bottom:26px;left:6vw;color:white;font-size:14px;background:#162634d9;padding:10px 14px;margin:0;letter-spacing:.04em}.page{max-width:1600px;margin:auto;padding:80px 6vw 90px}.eyebrow{color:#286b7b;font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px}.page h1{font-size:clamp(45px,6vw,88px);line-height:1.02;letter-spacing:-.05em;font-weight:500;margin:0 0 50px}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;border-top:1px solid #b8c4ca;padding-top:40px}.about-heading h2{font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.14;margin:0 0 20px;letter-spacing:-.03em}.credentials{line-height:1.7;font-size:16px;color:#536572}.about-copy p{font-size:19px;line-height:1.75;margin:0 0 24px}.about-copy p:first-child{font-size:24px;line-height:1.55}.types{margin-top:40px;padding-top:28px;border-top:1px solid #b8c4ca}.types h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}.types p{font-size:17px;line-height:1.9;margin:0}.about-photo{width:100%;height:auto;display:block;margin-top:60px}.portfolio-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.portfolio-intro h1{margin-bottom:0}.portfolio-intro p{font-size:16px;color:#536572;margin:0 0 6px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}.project{margin:0}.project button{border:0;background:none;display:block;width:100%;padding:0;cursor:zoom-in;text-align:left;color:inherit}.project img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:filter .2s}.project button:hover img{filter:brightness(.94)}.project figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:15px}.project-title{font-size:19px;font-weight:500}.project-kind{font-size:14px;color:#5c6e78}.footer{border-top:1px solid #cad2d6;margin:0 6vw;padding:27px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#536572}.lightbox{border:0;padding:0;background:#101a22;color:#fff;width:min(1400px,95vw);max-width:95vw;max-height:95svh}.lightbox::backdrop{background:#08131aed}.lightbox img{display:block;width:100%;max-height:78svh;object-fit:contain}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:20px}.lightbox-bar p{margin:0}.close{border:1px solid #7f959f;color:#fff;background:none;padding:10px 18px;cursor:pointer;font-size:16px}@media(min-width:1800px){.hero h1{font-size:122px}}@media(max-width:700px){.nav{height:78px;gap:30px;justify-content:center;padding:0 18px}.nav a{font-size:16px}.hero{min-height:calc(100svh - 78px)}.hero-image{object-position:57% center}.hero h1{font-size:clamp(34px,8.7vw,61px);padding:60px 6vw 40px;line-height:1.02;letter-spacing:-.045em}.hero-caption{right:6vw;width:fit-content;max-width:88vw;font-size:12px}.page{padding:48px 6vw 60px}.page h1{margin-bottom:32px}.about-grid{grid-template-columns:1fr;gap:24px;padding-top:28px}.about-copy p{font-size:17px;line-height:1.7}.about-copy p:first-child{font-size:21px}.about-photo{margin-top:35px}.portfolio-intro{display:block;margin-bottom:30px}.portfolio-intro h1{margin-bottom:20px}.gallery{grid-template-columns:1fr;gap:32px}.project-title{font-size:18px}.footer{display:block;line-height:1.8}.footer span{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.skip{top:10px;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}
/* Single scrolling page and uncropped project galleries. */
.site-header{position:sticky;top:0;z-index:10}.nav{height:86px}.nav a[aria-current=location]{text-decoration:underline}main>section{scroll-margin-top:86px}.hero{min-height:calc(100svh - 86px)}.section-title{font-size:clamp(45px,6vw,88px);line-height:1.02;letter-spacing:-.05em;font-weight:500;margin:0 0 50px}.portfolio-section{border-top:1px solid #cad2d6}.gallery{gap:32px;align-items:start}.project{min-width:0;position:relative;background:#e9edef}.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;aspect-ratio:1/1}.slides::-webkit-scrollbar{display:none}.project .slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}.project .slide img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}.carousel-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#fffefc;box-shadow:0 1px 5px #0002;border-radius:28px;padding:3px 8px}.project .carousel-controls button{width:40px;height:40px;text-align:center;cursor:pointer;font-size:22px;border-radius:50%}.carousel-controls button:hover{background:#dce8ed}.position{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.lightbox-stage{position:relative}.lightbox-stage img{height:78svh;max-height:78svh;object-fit:contain;touch-action:pan-y}.lightbox-stage button{position:absolute;z-index:1;top:50%;width:44px;height:44px;border:1px solid #718894;border-radius:50%;background:#182c3bea;color:white;font-size:24px;cursor:pointer}.lightbox-stage button[hidden]{display:none}.lightbox-previous{left:12px}.lightbox-next{right:12px}body:has(dialog[open]){overflow:hidden}.skip{transform:translateY(-300%)}@media(max-width:700px){.nav{height:72px;gap:30px}main>section{scroll-margin-top:72px}.hero{min-height:calc(100svh - 72px)}.section-title{margin-bottom:32px}.gallery{gap:24px}.lightbox-stage img{height:70svh;max-height:70svh}}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.hero h1{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:clamp(22px,3.2vw,58px);letter-spacing:.3em;line-height:1.35;text-align:center;width:min(100%,1100px);text-shadow:0 2px 8px #143a5940}.hero h1 .architects{font-size:1.48em;letter-spacing:.22em;margin-top:.48em;line-height:1.2}.contact-section{border-top:1px solid #cad2d6}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.contact-intro h3{font-size:30px;line-height:1.2;font-weight:500;margin:0 0 18px}.contact-intro p{font-size:18px;line-height:1.6}.contact-intro a{font-size:17px;overflow-wrap:anywhere;text-underline-offset:4px}#contact-form{min-width:0}#contact-form label{display:block;font-size:17px;margin:0 0 10px}#contact-form input:not([type=hidden]),#contact-form textarea{display:block;width:100%;font:inherit;font-size:18px;color:#172532;background:white;border:1px solid #879ba6;border-radius:0;padding:14px;margin:0 0 25px}#contact-form textarea{resize:vertical;min-height:160px}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid #217f91;outline-offset:2px}.honey{display:none!important}.contact-note{font-size:14px;line-height:1.6;color:#536572;margin:0 0 24px}.send-button{border:0;background:#1d2735;color:#fff;padding:16px 28px;min-height:48px;font-size:17px;cursor:pointer}.send-button:hover{background:#2e455a}.send-button:disabled{opacity:.65;cursor:wait}#contact-status{font-size:16px;line-height:1.6;margin-top:20px}.error{color:#9b2929}.success{color:#246144}@media(max-width:700px){.nav{gap:clamp(16px,5vw,30px);padding:0 14px}.nav a{font-size:15px}.hero h1{font-size:clamp(18px,4.7vw,33px);letter-spacing:.27em;width:100%;padding:65px 4vw 35px}.hero h1 .architects{font-size:1.45em;letter-spacing:.16em}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-intro h3{font-size:26px}}@media(max-width:360px){.nav{gap:17px}.nav a{font-size:14px}.hero h1{font-size:17px}}
.section-title{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:clamp(32px,4.3vw,64px);letter-spacing:.10em;line-height:1.2}.about-grid{grid-template-columns:minmax(0,1fr);gap:0}.about-copy{max-width:960px}

/* Place the full-size title in the open sky, with compact vertical spacing. */
.hero-image{object-position:left center}
.hero h1{width:min(78vw,980px);font-size:clamp(22px,3.2vw,58px);padding:clamp(100px,9vw,150px) 4vw 24px;line-height:1.15;letter-spacing:.3em}
.hero h1 .architects{font-size:1.48em;letter-spacing:.22em;margin-top:.26em;line-height:1.1}
@media(max-width:700px){.hero h1{width:100%;font-size:clamp(18px,4.7vw,33px);padding:70px 4vw 24px;letter-spacing:.27em}.hero h1 .architects{font-size:1.45em;letter-spacing:.16em}}