/* An architectural portfolio: full compositions, generous text, quiet motion. */
.portfolio-page .site-header{height:96px;transition:background .25s,box-shadow .25s}
.portfolio-page .site-header.is-scrolled{height:96px}
.portfolio-page .site-header .brand img,.portfolio-page .site-header.is-scrolled .brand img{width:103px;height:76px;transition:transform .25s}
.portfolio-page .site-header.is-scrolled .brand img{transform:scale(.94)}
.portfolio-page{--case-line:#d4dce5}
.portfolio-intro{display:grid;grid-template-columns:1fr 1.12fr;min-height:560px;background:#071d49;color:white}
.portfolio-intro-copy{padding:clamp(50px,7vw,105px) 10% 65px 14%;align-self:center}
.portfolio-intro .eyebrow{font-size:.78rem;letter-spacing:.18em;color:#c0ccdc}
.portfolio-intro h1{font:400 clamp(3.2rem,5.6vw,6.2rem)/1.02 var(--title);letter-spacing:-.035em;margin:26px 0}
.portfolio-intro-copy>p:not(.eyebrow){font:400 1rem/1.85 var(--body);max-width:470px;color:#d8e0eb}
.portfolio-intro .text-link{display:inline-flex;gap:35px;color:white;margin-top:22px;font-size:.9rem}
.portfolio-intro-visual{position:relative;min-width:0;overflow:hidden;min-height:440px}
.portfolio-intro-visual img{position:absolute;width:100%;height:100%;object-fit:cover;display:block}
.portfolio-intro-visual>span{position:absolute;right:28px;bottom:28px;color:white;background:#071d49d9;padding:11px 16px;font:500 .75rem var(--sub);letter-spacing:.12em}
.portfolio-selection{padding:0;background:white}
.portfolio-chapter{display:flex;justify-content:space-between;align-items:center;padding:64px 7% 25px;gap:20px}
.portfolio-chapter>p{font:400 2.3rem var(--title);margin:0}
.portfolio-chapter>p span{font:400 .875rem var(--body);margin-left:12px;color:#536378}
.portfolio-selection>.folio-pagination{margin:0 7% 35px;border-color:var(--case-line);padding:20px 0}
.folio-pagination a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.folio-pagination>div a{display:grid}
.folio-pagination>div a[aria-current=page]{background:#071d49;color:#fff}
.folio-pagination>.folio-pager-direction:last-child{justify-content:flex-end}
.portfolio-page .folio-records{display:block}
.case-study{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.5fr);gap:clamp(35px,5vw,85px);padding:clamp(55px,7vw,110px) 7%;scroll-margin-top:110px;align-items:start;background:#fff;color:#071d49}
.case-study:nth-child(3n+2){background:#071d49;color:#fff;--case-line:#ffffff38}
.case-study:nth-child(3n){background:#edf0f4;--case-line:#cbd5df}
.case-copy{min-width:0;padding-top:3px}
.copy-motion .case-copy{opacity:0;transform:translateY(10px);transition:opacity .45s ease-out,transform .45s ease-out}
.copy-motion .case-copy.copy-visible{opacity:1;transform:none}
.case-index{font:400 clamp(2.5rem,4vw,4rem)/1 var(--title);display:block;margin-bottom:40px;color:inherit}
.case-index>span{font:400 .85rem var(--sub);opacity:.62;margin-left:8px}
.case-copy .section-label{font:500 .78rem/1.7 var(--sub);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin:0 0 20px}
.case-copy h2{font:400 clamp(2.7rem,4vw,4.5rem)/1.06 var(--title);letter-spacing:-.025em;margin:0 0 27px;color:inherit;overflow-wrap:break-word}
.case-description{font:400 1rem/1.85 var(--body);max-width:480px;margin:0;color:inherit;opacity:.88}
.case-scope{border-top:1px solid var(--case-line);padding-top:22px;margin-top:28px;font:500 .95rem/1.5 var(--body)}
.case-scope>span{display:block;font:500 .75rem var(--sub);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;opacity:.7}
.case-study .folio-gallery{min-width:0;position:relative}
.case-study .folio-main{position:relative;aspect-ratio:3/2;max-height:none;background:#dfe4eb;isolation:isolate}
.case-study .folio-main img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;transition:none}
.case-study .folio-main img.gallery-incoming{position:absolute;inset:0;z-index:1}
.case-expand{position:absolute;bottom:18px;right:18px;z-index:3;color:white;background:#071d49d9;border:1px solid #ffffff40;padding:10px 14px;font:500 .75rem var(--sub);pointer-events:none}
.case-study .folio-thumbnails{gap:14px;margin-top:17px}
.case-study .folio-thumb{color:inherit;opacity:.58;transition:opacity .2s;cursor:pointer}
.case-study .folio-thumb[aria-pressed=true],.case-study .folio-thumb:hover{opacity:1}
.case-study .folio-thumb img{height:auto;aspect-ratio:3/2;display:block;object-fit:cover;border:0;filter:none}
.case-study .folio-thumb[aria-pressed=true] img{outline:1px solid currentColor;outline-offset:4px}
.case-study .folio-thumb span{font:400 .75rem/1.5 var(--sub);letter-spacing:0;margin-top:12px;display:block}
.case-study .folio-caption{color:inherit;opacity:.62;font:.75rem/1.6 var(--body);margin-top:24px!important}
.gallery-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.case-study.text-case{padding-top:42px;padding-bottom:42px;border-top:1px solid var(--case-line);display:block}
.text-case .case-copy{display:grid;grid-template-columns:80px 1fr minmax(260px,.8fr);gap:12px 45px;align-items:start}
.text-case .case-index{grid-row:1/4;margin:0;font-size:3rem}
.text-case .section-label{grid-column:2;margin:0}
.text-case h2{grid-column:2;grid-row:2;margin:0;font-size:clamp(2.5rem,3.8vw,4rem)}
.text-case .case-description{grid-column:3;grid-row:1/4}
.text-case .case-scope{grid-column:2;font-size:.875rem;margin:5px 0 0}
.portfolio-page .folio-pagination:last-child{margin-top:40px;margin-bottom:0;padding-bottom:45px}
.portfolio-page .reveal{opacity:1!important;transform:none!important;transition:none!important}
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left;transition:none}
.home-selected{background:#e9edf2;color:#071d49;padding:clamp(75px,9vw,140px) 7%}
.selected-heading>.eyebrow{color:#536378;font-size:.78rem;letter-spacing:.18em;margin-bottom:32px}
.selected-heading>div{display:grid;grid-template-columns:1fr .6fr;align-items:end;gap:50px;margin-bottom:60px}
.selected-heading h2{font:400 clamp(3.6rem,6.3vw,7rem)/.98 var(--title);letter-spacing:-.035em;margin:0;color:#071d49}
.selected-heading h2 em{font-weight:400}
.selected-heading>div>p{font:400 1rem/1.85 var(--body);color:#536378;max-width:360px;margin:0 0 4px}
.selected-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}
.selected-project{display:block;min-width:0;text-decoration:none;color:#071d49}
.selected-project.selected-lead{grid-column:1/-1}
.selected-media{overflow:hidden;background:#132b4b;aspect-ratio:3/2}
.selected-lead .selected-media{aspect-ratio:16/8}
.selected-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.selected-project:hover .selected-media img{transform:scale(1.025)}
.selected-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:23px;border-bottom:1px solid #b9c6d4;padding-bottom:25px}
.selected-caption>div>span{font:500 .75rem var(--sub);letter-spacing:.12em;text-transform:uppercase;color:#536378}
.selected-caption h3{font:400 clamp(2.2rem,3.5vw,4rem)/1.08 var(--title);letter-spacing:-.02em;margin:12px 0 0;color:#071d49}
.selected-arrow{font:400 2rem var(--body);transition:transform .25s}
.selected-project:hover .selected-arrow{transform:translate(3px,-3px)}
.selected-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:40px}
.selected-bottom>p{font:.75rem/1.6 var(--body);color:#536378;max-width:360px}
.selected-bottom .text-link{color:#071d49;font-size:.95rem}
@media(min-width:1100px){.case-study.has-images:nth-child(even){grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr)}.case-study.has-images:nth-child(even) .case-copy{grid-column:2;grid-row:1}.case-study.has-images:nth-child(even) .folio-gallery{grid-column:1;grid-row:1}}
@media(max-width:900px){.portfolio-intro{grid-template-columns:1fr}.portfolio-intro-copy{padding:65px 7% 50px}.portfolio-intro h1{max-width:650px}.portfolio-intro-visual{min-height:0;aspect-ratio:16/9}.case-study{grid-template-columns:1fr;gap:35px}.case-index{margin-bottom:24px}.case-copy{max-width:650px}.case-description{max-width:650px}.text-case .case-copy{grid-template-columns:60px 1fr;gap:10px 25px}.text-case .case-description{grid-column:2;grid-row:3}.text-case .case-scope{grid-row:4}.selected-heading>div{grid-template-columns:1fr;gap:30px}.selected-heading>div>p{max-width:560px}.selected-grid{gap:40px 24px}}
@media(max-width:600px){.portfolio-page .site-header,.portfolio-page .site-header.is-scrolled{height:82px}.portfolio-page .site-header .brand img,.portfolio-page .site-header.is-scrolled .brand img{width:88px;height:68px}.portfolio-intro-copy{padding-top:48px}.portfolio-intro h1{font-size:3.5rem}.portfolio-intro .eyebrow{font-size:.75rem}.portfolio-chapter{padding-top:40px;align-items:start}.portfolio-chapter>p{font-size:1.8rem}.portfolio-chapter>p span{display:block;margin:5px 0 0;font-size:.8rem}.case-study{padding:50px 6%;scroll-margin-top:95px}.case-copy h2{font-size:3rem}.case-study .folio-thumb span{font-size:.75rem}.case-study .folio-thumbnails{gap:10px}.case-expand{font-size:.75rem;bottom:12px;right:12px;padding:8px 10px}.text-case .case-copy{grid-template-columns:40px 1fr;gap:12px 20px}.text-case .case-index{font-size:2.2rem}.text-case .case-index>span{display:none}.text-case h2{font-size:2.6rem}.selected-grid{grid-template-columns:1fr;gap:36px}.selected-lead .selected-media{aspect-ratio:3/2}.selected-heading>div{margin-bottom:38px}.selected-heading h2{font-size:3.6rem}.selected-caption h3{font-size:2.7rem}.selected-bottom{display:block}.selected-bottom .text-link{display:inline-block;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.selected-media img,.selected-arrow,.folio-thumb,.portfolio-page .site-header .brand img{transition:none!important}.selected-project:hover .selected-media img{transform:none}}

/* Project stories use the same typography and white/navy/gray sequence. */
.case-explore{color:inherit;font-size:.875rem;margin-top:26px}.text-case .case-explore{grid-column:2;margin-top:10px;justify-self:start}
.project-opening{background:#071d49;color:white;padding:42px 7% 85px}.project-back{display:inline-block;font:.875rem var(--body);color:#d4ddea;margin-bottom:65px;min-height:32px}.project-opening>.eyebrow{color:#bccbe0}.project-opening h1{font:400 clamp(3.6rem,7vw,7rem)/1.02 var(--title);max-width:1100px;margin:26px 0}.project-lead{font:400 1.05rem/1.85 var(--body);max-width:780px;color:#dce4ee}.project-opening .text-link{color:white}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#fff;padding:90px 7%;scroll-margin-top:110px}.project-story h2{margin:25px 0;font:400 clamp(3rem,5vw,5.5rem)/1.02 var(--title)}.project-work{font:400 1.1rem/1.9 var(--body);max-width:650px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:36px 0 0;border-top:1px solid #c8d1df;padding-top:22px}.project-facts dt{font:.8rem var(--sub);color:#52647c;margin-bottom:10px}.project-facts dd{margin:0;font:1rem var(--body)}
.project-photos{background:#edf0f4;padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.project-photos figure{margin:0;min-width:0}.project-photos figure:first-child{grid-column:1/-1}.project-photos img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}.project-photos figcaption{display:flex;justify-content:space-between;gap:20px;font:.8rem/1.6 var(--body);padding-top:16px}.project-photos figcaption>span:last-child{color:#52647c}.project-image-note{grid-column:1/-1;font:.8rem/1.7 var(--body);max-width:720px;color:#52647c}.project-next{background:#071d49;color:white;padding:75px 7%}.project-next>a:not(.text-link){display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:30px}.project-next h2{font:400 clamp(3rem,5vw,5rem)/1.04 var(--title)}.project-next>a>span{font:3rem var(--title);transition:transform .25s}.project-next>a:hover>span{transform:translate(4px,-4px)}.project-next .text-link{color:white}
@media(max-width:700px){.project-opening{padding:30px 7% 55px}.project-back{margin-bottom:40px}.project-opening h1{font-size:3.4rem}.project-story{grid-template-columns:1fr;gap:26px;padding:55px 7%}.project-story h2{margin-bottom:0}.project-photos{grid-template-columns:1fr;padding:40px 6%;gap:30px}.project-photos figcaption{display:block}.project-photos figcaption>span{display:block}.project-next{padding:55px 7%}}
@media(prefers-reduced-motion:reduce){.project-next>a>span{transition:none}}
.project-page .project-story .reveal{transition:opacity .45s ease-out,transform .45s ease-out!important}.js .project-page .project-story .reveal:not(.visible){opacity:0!important;transform:translateY(10px)!important}.project-opening h1{animation:innerHero .65s ease-out both}@media(prefers-reduced-motion:reduce){.project-opening h1{animation:none}.js .project-page .project-story .reveal:not(.visible){opacity:1!important;transform:none!important}}
