.architecture-audiences{background:#f3f1eb}.architecture-audiences>.section-intro{max-width:720px}
.architecture-audiences .eyebrow,.architecture-method .eyebrow,.selected-work .eyebrow,.portfolio-intro .eyebrow,.portfolio-index .eyebrow,.project-overview .eyebrow{font-size:.875rem;line-height:1.6}
.architecture-audiences p:not(.eyebrow),.architecture-method p:not(.eyebrow){font-size:1rem;line-height:1.8}
.space-situations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin-top:50px}.space-situations article{border-top:1px solid #aab3b7;padding-top:28px}.space-situations h3{font-size:clamp(28px,2.8vw,40px);margin:24px 0}.space-situations .text-link{font-size:1rem}
.architecture-method{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10%;background:#14293c;color:#fdffff}.architecture-method .eyebrow{color:#e7d6be}.architecture-method .section-intro>p:not(.eyebrow){color:#d8dcdb}
.space-steps{list-style:none;margin:0;padding:0}.space-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:22px;border-top:1px solid #ffffff40;padding:28px 0}.space-steps li>span{font-size:.875rem;color:#e7d6be;padding-top:6px}.space-steps h3{font-size:clamp(25px,2.2vw,34px);line-height:1.25;margin:0 0 18px}.space-steps p{color:#d8dcdb;margin:0}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.work-heading h2{font-size:clamp(38px,4vw,58px);line-height:1.1;margin:0}.work-heading .text-link{font-size:1rem}.work-feature{display:block}.work-cover{position:relative;overflow:hidden;background:#d8dcdb}.work-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .65s ease}.work-feature:hover .work-cover img{transform:scale(1.025)}.work-open{position:absolute;bottom:24px;right:24px;display:flex;gap:40px;padding:16px 22px;background:#14293c;color:#fdffff;font-size:1rem}.work-caption{display:flex;align-items:baseline;gap:32px;padding:27px 0;border-bottom:1px solid #aab3b7}.work-number{font-size:.875rem}.work-caption h3{font-size:clamp(24px,2.8vw,38px);line-height:1.2;margin:0 0 10px}.work-caption p{font-size:.875rem;color:#455761;margin:0}.work-arrow{margin-left:auto;font-size:28px}
.portfolio-intro{padding-bottom:45px!important}.portfolio-intro h1{font-size:clamp(48px,7vw,100px);line-height:1.05;margin-bottom:25px}.portfolio-intro>p:last-child{font-size:1.125rem;color:#455761}.portfolio-index{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6%;padding-top:25px!important}.project-index-entry{border-top:1px solid #aab3b7;padding-top:26px}.project-index-entry h2{font-size:clamp(30px,3.2vw,48px);line-height:1.15;margin:32px 0 25px}.project-index-entry p{font-size:1rem;line-height:1.8;color:#455761}.project-index-entry .text-link{font-size:1rem}.index-cover img{width:100%;height:auto;display:block}.index-cover>span{display:block;font-size:.875rem;margin-top:14px;color:#455761}
/* Project detail: an image stage with a numbered spatial index. */
.project-intro{padding-top:36px!important;padding-bottom:36px!important}
.project-intro .breadcrumb{font-size:.875rem;margin-bottom:28px;flex-wrap:wrap}
.project-intro>div{display:flex;align-items:end;justify-content:space-between;gap:45px}
.project-intro h1{font-size:clamp(36px,4.2vw,66px);line-height:1.1;max-width:850px;margin:0}
.project-intro>div>p{font-size:.875rem;line-height:1.8;color:#455761;flex:none;margin:0}
.project-gallery{--image-height:clamp(300px,62svh,790px);display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:clamp(28px,4vw,72px);background:#14293c;color:#fdffff;padding:40px var(--gutter)}
.gallery-chapters{position:relative;grid-column:1;grid-row:1 / span 4;display:flex;flex-direction:column;align-self:start;gap:0}
.gallery-index-label{font-size:.875rem;letter-spacing:.1em;color:#b6c2c9;line-height:1.7;margin:0 0 30px}
.gallery-chapters a[data-gallery-chapter]{display:flex;gap:18px;align-items:baseline;border-top:1px solid #ffffff28;padding:22px 0;color:#cdd4d8;font-size:1rem;line-height:1.5;transition:color .2s ease}
.chapter-index{font-size:.875rem;color:#9cabb5;font-variant-numeric:tabular-nums}
.gallery-chapters small{display:block;font-size:.875rem;color:#9cabb5;margin-top:5px}
.gallery-chapters a[aria-current=true]{color:#e7d6be;border-top-color:#e7d6be}
.gallery-chapters a[aria-current=true] .chapter-index{color:#e7d6be}
.gallery-chapters .gallery-project-details{border-top:1px solid #ffffff28;margin-top:24px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:.875rem;color:#cdd4d8}
.gallery-frames,.gallery-overview,.gallery-toolbar,.gallery-thumbnails{grid-column:2;min-width:0}
.gallery-frames,.gallery-dialog figure{touch-action:pan-y pinch-zoom}
.project-frame{margin:0 0 40px;scroll-margin-top:120px}
.project-frame img{display:block;width:100%;height:auto;background:#102230}
.project-frame figcaption{display:flex;justify-content:space-between;gap:24px;font-size:.875rem;color:#d8dcdb;padding-top:16px;line-height:1.6}
.gallery-enhanced .project-frame{margin:0}
.gallery-enhanced .project-frame img{height:var(--image-height);object-fit:contain}
.gallery-enhanced .project-frame:not([hidden]){animation:project-reveal .38s ease both}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px}
.gallery-step,.gallery-view-controls{display:flex;align-items:center;gap:14px}
.project-gallery button{font:inherit;font-size:.875rem;color:inherit;border:1px solid #ffffff50;background:transparent;padding:12px 18px;min-height:48px;cursor:pointer;line-height:1.5}
.project-gallery button:hover{border-color:#e7d6be;background:#ffffff10}
.project-gallery button:disabled{opacity:.35;cursor:default}
.gallery-step button{min-width:48px;font-size:1.125rem}
.gallery-step>span{font-size:.875rem;font-variant-numeric:tabular-nums;min-width:62px;text-align:center;white-space:nowrap}
.gallery-view-controls button{white-space:nowrap}
.gallery-thumbnails{position:relative;display:flex;gap:12px;overflow-x:auto;padding:22px 2px 8px;scrollbar-width:thin;scrollbar-color:#8d9aa3 #14293c;overscroll-behavior-x:contain}
.gallery-thumbnails a{position:relative;flex:0 0 96px;opacity:.6;border:2px solid transparent;transition:opacity .2s ease}
.gallery-thumbnails img{display:block;width:92px;height:62px;object-fit:cover}
.gallery-thumbnails a>span{position:absolute;bottom:0;left:0;background:#14293ce6;padding:2px 6px;color:#fdffff;font-size:.875rem}
.gallery-thumbnails a[aria-current=true]{opacity:1;border-color:#e7d6be}
.gallery-thumbnails a:hover{opacity:1}
.project-gallery :focus-visible{outline:2px solid #e7d6be;outline-offset:4px}
.gallery-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;height:calc(var(--image-height) + 39px);align-content:start;overflow-y:auto;padding:4px 8px 4px 4px;scrollbar-width:thin;scrollbar-color:#8d9aa3 #14293c}
.gallery-overview button{min-width:0;text-align:left;border:1px solid #ffffff28;padding:0;background:#102230}
.gallery-overview button img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery-overview button>span{display:flex;gap:12px;padding:12px;line-height:1.5;font-size:.875rem}
.gallery-overview button>span>span{color:#e7d6be;flex:none}
.gallery-toolbar .gallery-view-controls{margin-left:auto}
.gallery-dialog{width:100%;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;margin:0;padding:24px clamp(16px,4vw,70px);border:0;background:#0e202d;color:#fdffff;overflow:auto}
.gallery-dialog::backdrop{background:#0e202d}
.gallery-dialog[open]{display:flex;flex-direction:column;gap:18px}
.dialog-toolbar,.dialog-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:none}
.dialog-toolbar>span{font-size:.875rem}
.gallery-dialog figure{margin:0;min-height:0;flex:1;display:flex;flex-direction:column;gap:12px}
.gallery-dialog figure img{display:block;width:100%;min-height:0;flex:1;object-fit:contain}
.gallery-dialog figcaption{font-size:.875rem;color:#d8dcdb;flex:none;line-height:1.6}
.project-overview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10%;scroll-margin-top:100px}
.project-overview h2{font-size:clamp(30px,3.5vw,50px);line-height:1.15}
.project-overview p,.project-overview li{font-size:1rem;line-height:1.8}
.project-overview h3{font-size:24px;margin-top:30px}
.project-overview ul{padding-left:20px}
.project-overview .project-image-note{font-size:.875rem;color:#455761;border-top:1px solid #aab3b7;padding-top:22px;margin-top:30px}
.project-back{display:block;text-decoration:underline;margin:25px auto 0;font-size:1rem;width:fit-content}
.project-gallery [hidden]{display:none!important}
@keyframes project-reveal{from{opacity:.55;clip-path:inset(0 1.5% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:1100px){
 .project-gallery{grid-template-columns:150px minmax(0,1fr);column-gap:26px}
 .gallery-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-toolbar{flex-wrap:wrap;gap:16px}
 .gallery-chapters a[data-gallery-chapter]{gap:12px}
}
@media(max-width:850px){
 .space-situations{grid-template-columns:1fr;gap:30px}
 .architecture-method,.portfolio-index,.project-overview{grid-template-columns:1fr;gap:35px}
 .project-intro>div{display:block}.project-intro>div>p{margin-top:20px}
 .project-index-entry h2{max-width:650px}.work-heading{align-items:start;flex-direction:column}
 .work-cover img{aspect-ratio:4/3}.work-caption{gap:18px}
 .work-open{bottom:16px;right:16px;padding:12px 16px;font-size:.875rem;gap:18px}
 .project-gallery{--image-height:clamp(240px,48svh,550px);grid-template-columns:minmax(0,1fr);padding-top:20px}
 .gallery-frames,.gallery-overview,.gallery-toolbar,.gallery-thumbnails{grid-column:1}
 .gallery-chapters{grid-column:1;grid-row:auto;flex-direction:row;overflow-x:auto;gap:24px;padding-bottom:20px;scrollbar-width:thin}
 .gallery-index-label,.gallery-chapters .gallery-project-details{display:none}
 .gallery-chapters a[data-gallery-chapter]{flex:none;min-height:48px;padding:12px 0 8px;border-top:0;border-bottom:1px solid #ffffff28;font-size:.875rem;gap:10px}
 .gallery-chapters a[aria-current=true]{border-bottom-color:#e7d6be}.gallery-chapters small{display:none}
 .project-frame figcaption{flex-direction:column;gap:4px}
 .gallery-overview{height:calc(var(--image-height) + 64px);gap:12px}
 .gallery-step{gap:10px}.project-gallery button{padding:10px 14px}
 .gallery-thumbnails a{flex-basis:88px}.gallery-thumbnails img{width:84px;height:55px}
 .gallery-dialog{padding:16px}.gallery-dialog figure{min-height:160px}
 .project-intro .breadcrumb{line-height:1.7}
}
@media(max-width:450px){
 .gallery-toolbar{align-items:stretch}.gallery-step{justify-content:space-between;width:100%}
 .gallery-toolbar .gallery-view-controls{margin:0;width:100%}.gallery-view-controls button{flex:1;white-space:normal}
 .gallery-overview button>span{display:block;padding:10px}.gallery-overview button>span>span{display:block;margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){
 .gallery-enhanced .project-frame:not([hidden]){animation:none}
 .work-cover img,.gallery-thumbnails a,.gallery-chapters a[data-gallery-chapter]{transition:none}
 .work-feature:hover .work-cover img{transform:none}
}

/* Immersive chapter canvas. The unenhanced document retains its image sequence. */
.gallery-canvas{display:contents}
.gallery-enhanced{display:block;padding:0;--canvas-gutter:clamp(24px,4vw,72px)}
.gallery-enhanced .gallery-canvas{display:block;position:relative;height:100svh;min-height:740px;isolation:isolate;background:#102230}
.gallery-enhanced.gallery-scroll{height:400svh}
.gallery-scroll .gallery-canvas{position:sticky;top:0}
.gallery-enhanced .gallery-frames{position:absolute;inset:0;overflow:hidden}
.gallery-enhanced .project-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#091821e6 0%,#09182199 18%,transparent 54%),linear-gradient(0deg,#091821f5 0%,#0918219e 19%,transparent 48%)}
.gallery-enhanced .project-frame{position:absolute;inset:0}
.gallery-enhanced .project-frame img{width:100%;height:100%;object-fit:cover}
.gallery-enhanced .project-frame figcaption{position:absolute;z-index:2;right:var(--canvas-gutter);bottom:192px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:55%;padding:0;color:#fdffff;text-align:right;text-shadow:0 2px 14px #0008}
.gallery-enhanced .project-frame figcaption>span:first-child{font-family:var(--font-display);font-size:clamp(24px,2.8vw,42px);line-height:1.2}
.gallery-enhanced .project-frame figcaption>span:last-child{font-size:.875rem}
.gallery-enhanced .gallery-chapters{position:absolute;z-index:3;left:var(--canvas-gutter);top:clamp(140px,20svh,220px);width:210px;display:flex;flex-direction:column}
.gallery-enhanced .gallery-chapters a[data-gallery-chapter]{padding:18px 0;color:#e1e7eb}
.gallery-enhanced .gallery-chapters a[aria-current=true]{color:#e7d6be}
.gallery-enhanced .gallery-index-label{color:#f4f4f0;margin-bottom:22px}
.gallery-enhanced .chapter-index,.gallery-enhanced .gallery-chapters small{color:#c3cdd3}
.gallery-enhanced .gallery-chapters .gallery-project-details{margin-top:12px;padding-top:20px;color:#fdffff}
.gallery-enhanced .gallery-toolbar{position:absolute;z-index:3;left:var(--canvas-gutter);right:var(--canvas-gutter);bottom:110px;padding:0;flex-wrap:nowrap}
.gallery-enhanced .gallery-thumbnails{position:absolute;z-index:3;left:var(--canvas-gutter);right:var(--canvas-gutter);bottom:20px;padding:4px 2px 8px}
.gallery-enhanced .gallery-toolbar button{background:#102230aa;border-color:#ffffff80;backdrop-filter:blur(10px)}
.gallery-enhanced .gallery-toolbar button:hover{background:#14293c;border-color:#e7d6be}
.gallery-enhanced .gallery-overview{position:absolute;z-index:4;top:100px;bottom:190px;left:calc(var(--canvas-gutter) + 260px);right:var(--canvas-gutter);height:auto;background:#102230;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px}
.gallery-enhanced .gallery-scroll-cue{position:absolute;z-index:3;top:38px;right:var(--canvas-gutter);display:flex;gap:28px;color:#fdffff;font-size:.875rem;padding:12px 16px;background:#102230aa;backdrop-filter:blur(10px)}
.gallery-enhanced .project-frame:not([hidden]){animation:canvas-rise 1.1s cubic-bezier(.22,.61,.36,1) both}
.gallery-enhanced[data-direction=up] .project-frame:not([hidden]){animation-name:canvas-fall}
@keyframes canvas-rise{from{transform:translateY(7%);opacity:.35}to{transform:translateY(0);opacity:1}}
@keyframes canvas-fall{from{transform:translateY(-7%);opacity:.35}to{transform:translateY(0);opacity:1}}
@media(max-width:1100px){.gallery-enhanced .gallery-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:999px){
 .gallery-enhanced .gallery-canvas{height:90svh;min-height:680px}
 .gallery-enhanced .gallery-chapters{left:var(--canvas-gutter);right:var(--canvas-gutter);top:auto;bottom:213px;width:auto;flex-direction:row;gap:24px;padding:0;overflow-x:auto;overscroll-behavior-x:contain}
 .gallery-enhanced .gallery-index-label,.gallery-enhanced .gallery-chapters small,.gallery-enhanced .gallery-chapters .gallery-project-details{display:none}
 .gallery-enhanced .gallery-chapters a[data-gallery-chapter]{flex:none;min-height:48px;font-size:.875rem;gap:10px;padding:12px 0;border-top:0;border-bottom:1px solid #ffffff50}
 .gallery-enhanced .gallery-chapters a[aria-current=true]{border-bottom-color:#e7d6be}
 .gallery-enhanced .project-frame figcaption{top:34px;bottom:auto;left:var(--canvas-gutter);right:var(--canvas-gutter);max-width:none;align-items:flex-start;text-align:left}
 .gallery-enhanced .project-frame figcaption>span:first-child{font-size:28px}
 .gallery-enhanced .project-frame::after{background:linear-gradient(0deg,#091821f5 0%,#091821c7 30%,transparent 58%),linear-gradient(180deg,#091821ab,transparent 35%)}
 .gallery-enhanced .gallery-toolbar{bottom:104px;flex-wrap:wrap;gap:12px}
 .gallery-enhanced .gallery-thumbnails{bottom:22px}
 .gallery-enhanced .gallery-overview{inset:28px var(--canvas-gutter) 278px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:450px){
 .gallery-enhanced .gallery-step{width:auto;gap:10px}
 .gallery-enhanced .gallery-toolbar .gallery-view-controls{width:auto;margin-left:auto;gap:8px}
 .gallery-enhanced .gallery-view-controls button{padding:10px;font-size:.875rem}
 .gallery-enhanced .gallery-toolbar{bottom:98px;display:grid;grid-template-columns:1fr;gap:10px}
 .gallery-enhanced .gallery-step{justify-content:space-between}
 .gallery-enhanced .gallery-toolbar .gallery-view-controls{margin:0;display:flex}
 .gallery-enhanced .gallery-chapters{bottom:234px}
 .gallery-enhanced .gallery-overview{bottom:295px}
}
/* Oversized text uses ordinary flow rather than clipped overlay controls. */
.gallery-enhanced.gallery-readable .gallery-canvas{height:auto;min-height:0;padding:30px var(--canvas-gutter);display:flex;flex-direction:column;gap:24px}
.gallery-readable .gallery-frames,.gallery-readable .gallery-chapters,.gallery-readable .gallery-toolbar,.gallery-readable .gallery-thumbnails,.gallery-readable .gallery-overview{position:relative;inset:auto;width:100%;height:auto;max-height:none;max-width:none}
.gallery-readable .gallery-chapters{flex-direction:row;flex-wrap:wrap}
.gallery-readable .gallery-index-label,.gallery-readable .gallery-chapters small,.gallery-readable .gallery-project-details{display:none}
.gallery-readable .project-frame::after{display:none}
.gallery-readable .project-frame{position:relative}
.gallery-readable .project-frame img{height:auto;object-fit:contain}
.gallery-readable .project-frame figcaption{position:static;max-width:none;margin-top:16px;align-items:flex-start;text-align:left}
.gallery-readable .gallery-toolbar{display:flex;flex-wrap:wrap}
.gallery-readable .gallery-overview{overflow:visible}
@media(prefers-reduced-motion:reduce){.gallery-enhanced .project-frame:not([hidden]){animation:none}}

/* Project collection and links between case studies. */
.selected-work-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}
.selected-work-more>a{display:block;min-width:0}.selected-work-more img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.selected-work-more .eyebrow{display:block;margin:22px 0 12px;font-size:.875rem}
.selected-work-more h3{font-size:clamp(23px,2vw,32px);line-height:1.25;margin:0 0 16px}
.selected-work-more .text-link{font-size:.875rem}
.portfolio-intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}
.portfolio-intro-bottom p{font-size:1.125rem;line-height:1.7;color:#455761;margin:0}
.portfolio-intro-bottom button{font:inherit;font-size:1rem;min-height:48px;padding:12px 22px;border:1px solid #71808a;background:transparent;color:#14293c;cursor:pointer}
.portfolio-browser{padding-top:10px!important}.portfolio-browser.browser-enhanced{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:6%;align-items:start}
.portfolio-selectors{position:relative;max-height:78svh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9eabae #f3f1eb;padding:0 10px 4px 0}
.portfolio-selectors button{font:inherit;font-size:1rem;text-align:left;display:flex;gap:18px;align-items:baseline;width:100%;min-height:64px;border:0;border-top:1px solid #aab3b7;background:transparent;padding:20px 12px;color:#455761;cursor:pointer;line-height:1.5}
.portfolio-selectors button>span:first-child{font-size:.875rem;font-variant-numeric:tabular-nums}
.portfolio-selectors button[aria-pressed=true]{background:#14293c;color:#fdffff;border-color:#14293c}
.portfolio-selectors button:hover:not([aria-pressed=true]){background:#e7d6be66}
.portfolio-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px;min-width:0}
.browser-enhanced:not(.show-all-projects) .portfolio-panels{display:block}
.portfolio-project{scroll-margin-top:130px;min-width:0}.portfolio-cover{position:relative;display:block;overflow:hidden;background:#d8dcdb}
.portfolio-cover img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.portfolio-cover>span{display:flex;gap:30px;position:absolute;right:20px;bottom:20px;padding:13px 18px;background:#14293c;color:#fdffff;font-size:.875rem}
.portfolio-project-copy{padding-top:25px}.portfolio-project-copy .eyebrow{font-size:.875rem;line-height:1.7;margin-bottom:16px}
.portfolio-project-copy h2{font-size:clamp(26px,3vw,44px);line-height:1.15;margin:0 0 18px}
.portfolio-project-copy>p:last-child{font-size:1rem;line-height:1.8;max-width:660px;color:#455761}
.portfolio-browser.show-all-projects{display:block}.portfolio-browser [hidden]{display:none!important}
.portfolio-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.adjacent-projects{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#f3f1eb}
.adjacent-projects>a{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:24px;align-items:center;padding:28px 0;border-top:1px solid #aab3b7}
.adjacent-projects .eyebrow{font-size:.875rem;margin:0 0 18px;grid-column:1}
.adjacent-project-title{font-family:var(--font-display);font-size:clamp(23px,2.6vw,36px);line-height:1.25;grid-column:1}
.adjacent-projects img{width:112px;height:88px;object-fit:cover;grid-column:2;grid-row:1 / span 2}
.gallery-enhanced.gallery-scroll{height:calc(var(--chapter-count,4) * 100svh)}
.gallery-enhanced .project-frame[data-fit=contain] img{object-fit:contain;background:#e7e5e0}
@media(max-width:850px){
 .selected-work-more{grid-template-columns:1fr;gap:36px}.selected-work-more img{aspect-ratio:16/9}
 .portfolio-intro-bottom{align-items:start;flex-direction:column}.portfolio-browser.browser-enhanced{grid-template-columns:1fr;gap:26px}
 .portfolio-selectors{max-height:290px;padding-right:5px}.portfolio-selectors button{min-height:58px;padding:16px 12px}
 .portfolio-panels{gap:32px 20px}.portfolio-project-copy h2{font-size:28px}.portfolio-cover>span{right:12px;bottom:12px;padding:10px 12px;gap:16px}
 .adjacent-projects{grid-template-columns:1fr;gap:18px}
}
@media(max-width:550px){.portfolio-panels{grid-template-columns:1fr}.portfolio-project-copy h2{font-size:32px}}
.project-intro>div>p{max-width:260px;flex:0 1 260px}
@media(max-width:850px){.project-intro>div>p{max-width:none}}

/* Keep thumbnail captions in their own rows inside the scrollable overview. */
.gallery-enhanced .gallery-overview{grid-auto-rows:max-content}
.project-gallery .gallery-overview button{height:auto;min-height:max-content;padding:0;align-self:start;text-align:start}

/* Project types sit above the project-name strip, with the same selected treatment. */
.portfolio-browser.browser-enhanced{column-gap:6%;row-gap:32px}
.portfolio-type-filters{grid-column:1/-1;display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}
.portfolio-type-filters button{flex:1 0 138px;display:flex;align-items:center;gap:14px;padding:18px 16px;min-height:82px;font:inherit;font-size:.875rem;text-align:start;color:var(--ink);background:transparent;border:0;border-top:1px solid var(--graphite);cursor:pointer}
.portfolio-type-filters .arcan-icon{width:32px;height:32px;flex:none}
.portfolio-type-filters button[aria-pressed=true]{background:var(--ink);color:var(--pearl);border-color:var(--ink)}
.portfolio-type-filters button:hover:not([aria-pressed=true]){background:var(--iron-50)}
.portfolio-type-filters button:focus-visible,.portfolio-selectors button:focus-visible{outline:2px solid var(--graphite);outline-offset:-3px}
.portfolio-selectors{display:flex;align-items:stretch;gap:18px;overflow-x:auto;overflow-y:hidden;max-height:none;min-width:0;padding:0 0 12px;scrollbar-width:thin}
.portfolio-selectors button{flex:0 0 170px;width:170px;text-align:start;gap:14px;align-items:baseline}
.portfolio-browser.show-all-projects .portfolio-type-filters{margin-bottom:32px}
@media(max-width:850px){.portfolio-type-filters{gap:10px}.portfolio-type-filters button{flex-basis:145px;padding:16px 12px}.portfolio-selectors button{flex-basis:160px;width:160px}}

@media(prefers-reduced-motion:no-preference){.portfolio-type-filters button{transition:background-color .18s ease,color .18s ease,border-color .18s ease}}

.portfolio-selector-wrap{min-width:0}
.portfolio-selector-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;color:var(--graphite);font-size:.8125rem}
.portfolio-selector-controls>div{display:flex;gap:8px}
.portfolio-selector-controls button{width:44px;height:44px;border:1px solid var(--graphite);color:var(--ink);background:transparent;font:inherit;font-size:1.15rem;cursor:pointer}
.portfolio-selector-controls button:hover:not(:disabled){background:var(--ink);color:var(--pearl)}
.portfolio-selector-controls button:disabled{opacity:.3;cursor:default}
html[dir=rtl] .portfolio-selector-controls button{transform:scaleX(-1)}
