
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#00234a;--gold:#eba830;--paper:#f5f7fa;--muted:#53677a;--line:#d4dce5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #008dcc;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;font-weight:500;letter-spacing:-.045em}p{line-height:1.65}header{height:100px;padding:14px 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:25px}.brand img{width:83px;height:70px;object-fit:contain}.brand{display:flex;align-items:center;gap:16px}.brand span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;line-height:1.6;max-width:170px}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a[aria-current=page]{border-bottom:2px solid var(--gold);padding:12px 0}.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:16px 25px;border-radius:5px;border:0;font-size:13px;font-weight:700;transition:background .2s}.cta:hover{background:#f7be50}.menu{display:none}.eyebrow{display:block;text-transform:uppercase;letter-spacing:2.1px;font-size:11px;font-weight:600;margin-bottom:22px}.intro{padding:68px 5% 52px;display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end}.intro h1{font-size:clamp(42px,5.5vw,80px);line-height:1.08}.intro p{max-width:430px;font-size:17px;margin:0 0 6px;color:var(--muted)}.intro h1 em{font-style:normal;color:#0084c7}.filters{margin:0 5% 30px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters button{border:1px solid transparent;background:transparent;padding:11px 18px;border-radius:4px;color:var(--muted);font-size:13px}.filters button[aria-pressed=true]{background:var(--navy);color:white}.filters button:hover{border-color:var(--navy)}.count{margin-left:auto;font-size:12px;color:var(--muted)}.projects{padding:0 5% 80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 28px}.card[hidden]{display:none}.card-image{position:relative;background:#d4dce5;overflow:hidden}.card-image img{aspect-ratio:1.48;object-fit:cover}.photo-count{position:absolute;bottom:16px;left:16px;padding:9px 13px;background:rgba(0,35,74,.9);color:white;font-size:11px;letter-spacing:.3px}.card h2{font-size:clamp(24px,2.3vw,35px);margin:17px 0 8px}.card a:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.card-meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.contact{padding:70px 5%;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font-size:clamp(32px,4vw,54px);max-width:650px}.contact p{color:#c9d9e9;max-width:600px;margin-bottom:0}.contact .cta{white-space:nowrap}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;font-size:12px;color:var(--muted)}footer img{width:90px}footer .links{display:flex;gap:28px}.detail-head{padding:40px 5% 34px}.back{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:36px;border-bottom:1px solid var(--line);padding-bottom:5px}.title-row{display:flex;align-items:end;justify-content:space-between;gap:25px}.detail-head h1{font-size:clamp(40px,6vw,80px);line-height:1.1}.detail-head .eyebrow{margin-bottom:16px}.text-link{font-size:13px;border-bottom:1px solid var(--navy);padding-bottom:7px;white-space:nowrap}.hero-photo{margin:0 5%;width:90%;padding:0;border:0;background:var(--navy);position:relative;text-align:left}.hero-photo img{height:min(64vw,680px);min-height:320px;object-fit:cover}.hero-photo .photo-count{bottom:24px;left:24px}.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:0 5%;padding:29px 0 34px;border-bottom:1px solid var(--line)}.facts dt{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.facts dd{margin:0;font-size:15px}.gallery-section{padding:65px 5% 80px;scroll-margin-top:25px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.gallery-heading h2{font-size:38px}.gallery-heading p{font-size:13px;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.shot{border:0;padding:0;background:transparent;text-align:left;color:var(--muted);min-width:0}.shot .frame{background:#e7ecf1;display:flex;align-items:center;justify-content:center;aspect-ratio:1.45}.shot img{width:100%;height:100%;object-fit:contain;max-height:100%}.shot-label{display:flex;justify-content:space-between;font-size:11px;padding:11px 0 4px}.shot:hover .shot-label{color:var(--navy);text-decoration:underline}.next-project{padding:45px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.next-project h2{font-size:30px;margin-top:8px}.next-project span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.next-project>a:hover h2{text-decoration:underline}.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px 3%;background:#06182c;color:white;border:0}.lightbox::backdrop{background:#06182c}.lightbox[open]{display:flex;flex-direction:column}.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:48px;flex-shrink:0;font-size:13px}.lb-bar button,.lb-controls button{background:transparent;border:1px solid #607286;color:white;border-radius:4px;padding:10px 18px;font-size:12px}.lb-bar button:hover,.lb-controls button:hover{background:#23405f}.lb-image{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:14px 0}.lb-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.lb-controls{display:flex;justify-content:center;align-items:center;gap:25px;padding:10px 0;font-size:12px;flex-shrink:0}.lb-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 0;flex-shrink:0;max-width:100%}.lb-thumbs button{padding:0;border:2px solid transparent;background:transparent;flex:0 0 72px;height:51px;border-radius:2px}.lb-thumbs button[aria-current=true]{border-color:var(--gold)}.lb-thumbs img{height:100%;width:100%;object-fit:cover}.skip{position:absolute;left:12px;top:-70px;background:white;padding:12px;z-index:3}.skip:focus{top:12px}
@media(max-width:850px){.brand span{display:none}nav{gap:18px}.intro{gap:5%}.intro p{font-size:15px}.contact{align-items:start;flex-direction:column}.facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){header{height:85px}.brand img{width:67px;height:57px}.menu{display:block;background:transparent;border:1px solid var(--line);padding:10px 15px;border-radius:4px;color:var(--navy)}nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;z-index:5;padding:24px 5%;border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column}.intro{padding:42px 5% 30px;grid-template-columns:1fr;gap:23px}.intro p{max-width:none}.filters{gap:4px;padding:14px 0}.filters button{padding:10px 12px;font-size:12px}.count{width:100%;margin:10px 0 0}.projects{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.card h2{font-size:28px}.card-image img{aspect-ratio:1.3}.contact{padding:45px 5%}footer{flex-wrap:wrap}footer .links{gap:17px}.detail-head{padding-top:25px}.back{margin-bottom:27px}.title-row{align-items:start;flex-direction:column}.hero-photo img{min-height:260px;height:65vw}.facts{gap:24px 16px}.facts dd{font-size:14px}.gallery-section{padding:42px 5%}.gallery-heading{display:block}.gallery-heading h2{font-size:30px}.gallery-heading p{margin-top:12px}.gallery{gap:20px;grid-template-columns:1fr}.next-project h2{font-size:24px}.next-project{align-items:start;flex-direction:column}.lb-bar{font-size:11px}.lb-bar button{padding:9px 12px}.lb-thumbs button{flex-basis:60px;height:44px}.lb-controls{gap:14px}.lightbox{padding:12px 4%}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
