/* The new sections follow the original navy, cream and blue identity. */
.hero-photo img{filter:brightness(1.23)}
.photo-shade{background:linear-gradient(90deg,rgba(7,15,24,.66),rgba(7,15,24,.44) 23%,rgba(7,15,24,.17) 43%,transparent 68%),linear-gradient(0deg,#0c121b99,transparent 23%,transparent 84%,#0c121b22)}
.hero-description,.hero-foot{color:#e5e9ee}
.hero h1{text-shadow:0 2px 28px #0003}
.filter-bar{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a8b2c1 transparent}
.filter{flex-shrink:0}
.project-grid{grid-auto-flow:row dense}
.project-image img{aspect-ratio:auto}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line);background:#eeece6}
.about-photo{position:relative;overflow:hidden;aspect-ratio:4/5;background:#d8d2c7}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.about-photo:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(0deg,#091423b3,transparent);pointer-events:none}
.about-photo figcaption{position:absolute;bottom:27px;left:28px;right:20px;font-size:8px;line-height:1.7;letter-spacing:1.5px;color:white;z-index:1}
.about-copy .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:27px;color:#697079;flex-wrap:wrap}
.about-copy h2{font-size:clamp(40px,4.2vw,66px);margin-bottom:25px}
.about-copy h2 em{white-space:nowrap}
.about-summary{font-size:14px;color:#626a72;line-height:1.95;max-width:390px}
.about-button{margin-top:29px;background:var(--navy);color:#fff;min-height:54px;font-size:11px;gap:28px}
.about-button:hover{background:var(--blue);transform:translateY(-2px)}
.about-signature{border-top:1px solid #cdd0d1;padding-top:27px;margin-top:34px;color:#777f88;font:italic 22px var(--serif)}
.contact-location{font-size:10px;letter-spacing:.4px;line-height:1.8;max-width:320px;align-items:center}
.contact-location svg{flex-shrink:0}
.location{display:grid;grid-template-columns:.9fr 1.3fr;gap:7%;align-items:center;background:#eeece6;border-top:1px solid var(--line)}
.location-copy .eyebrow{font-size:8px;letter-spacing:1.3px;color:#65707d;margin-bottom:25px}
.location h2{font-size:clamp(37px,3.5vw,56px)}
.location address{font-style:normal;font-size:17px;line-height:1.7;margin:28px 0 23px}
.location address span{display:block;color:#69717a;font-size:12px;margin-top:8px;line-height:1.8}
.location-map{height:405px;background:#d8dedb;border:1px solid #cbd0cc;overflow:hidden}
.location-map iframe{width:100%;height:100%;border:0;display:block}
.story-dialog{width:min(800px,calc(100% - 40px));max-width:800px;max-height:86svh;padding:0;border:0;background:var(--cream);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 120px #0005}
.story-dialog::backdrop{background:#071322c9;backdrop-filter:blur(6px)}
.story-dialog-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--cream);border-bottom:1px solid var(--line)}
.story-dialog-bar>span{font-size:9px;letter-spacing:2px;color:#707985}
.story-close{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid #c8cdd4;border-radius:50%;flex-shrink:0}
.story-close:hover{background:var(--navy);color:white}
.story-close svg{width:20px;height:20px;stroke-width:1.5}
.story-body{padding:38px 60px 52px}
.story-body>.eyebrow{font-size:8px;color:var(--blue);margin-bottom:19px}
.story-body h2{font-size:40px;line-height:1.2;letter-spacing:-1.1px;margin-bottom:29px}
.story-body>p:not(.eyebrow){font-size:14px;line-height:1.95;color:#5b6570;margin-bottom:18px}
.story-body .story-signature{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.story-signature strong{font-weight:600;color:var(--navy)}
@media(max-width:1150px){.desktop-nav{gap:24px;margin-right:4%}.about{gap:7%}.about-copy h2{font-size:48px}.about-summary{font-size:13px}.location{gap:5%}}
@media(max-width:850px){.photo-shade{background:linear-gradient(90deg,#07111ca8,#07111c59 53%,#07111c0a),linear-gradient(0deg,#0c121b99,transparent 26%,transparent 84%,#0c121b22)}.about{gap:6%}.about-copy h2{font-size:40px}.about-copy .eyebrow{gap:7px;letter-spacing:1px}.about-photo{aspect-ratio:3/4}.about-signature{font-size:19px}.location{grid-template-columns:1fr;gap:36px}.location-map{height:360px}.location h2{font-size:47px}}
@media(max-width:600px){.hero-photo img{filter:brightness(1.24)}.photo-shade{background:linear-gradient(180deg,#09111b55,#09111b55 16%,#09111b38 43%,transparent 70%,#09111b99),linear-gradient(90deg,#07101b66,#07101b22 54%,transparent)}.about{grid-template-columns:1fr;padding-top:62px;padding-bottom:64px;gap:34px}.about-photo{width:100%;aspect-ratio:4/5}.about-photo figcaption{left:20px;bottom:21px;font-size:7px;letter-spacing:1.2px}.about-copy .eyebrow{font-size:7px;margin-bottom:20px}.about-copy h2{font-size:clamp(37px,10.8vw,48px);letter-spacing:-1.7px;margin-bottom:21px}.about-summary{font-size:13px;max-width:none;line-height:1.9}.about-button{min-height:52px;font-size:11px;margin-top:24px;padding:16px 21px}.about-signature{font-size:21px;margin-top:28px;padding-top:24px}.filter-bar{gap:2px}.filter{padding:10px 13px}.location{padding-top:61px;padding-bottom:63px;gap:29px}.location-copy .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:21px}.location h2{font-size:clamp(36px,10.4vw,47px);letter-spacing:-1.5px}.location address{font-size:17px;margin-top:25px}.location-map{height:320px}.story-dialog{width:calc(100% - 24px);max-height:90svh}.story-dialog-bar{padding:11px 17px}.story-body{padding:29px 25px 34px}.story-body h2{font-size:30px;letter-spacing:-.7px}.story-body>p:not(.eyebrow){font-size:14px;line-height:1.85}.story-close{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.about-button{transition:none}.about-button:hover{transform:none}}

/* Preserve the supplied map and its attribution; the card opens directions. */
.location-map{display:block;height:auto;aspect-ratio:845/440;background:#22252b}
.location-map img{display:block;width:100%;height:auto;max-width:none}
