/* One photographic cover, shared by the public page and Studio previews.
   Authored focal points/zoom stay on the image; only its viewport frame changes. */
body.page-project-detail .project-cover{
 --cover-facts-height:min(22dvh,180px);
 --cover-bottom:max(62px,env(safe-area-inset-bottom));
 --cover-inset:clamp(32px,6vw,96px);
}
html.project-deck body.page-project-detail .project-story>.project-cover:is(.is-active,.is-exiting,.is-drag-preview){
 display:flex!important;flex-direction:column;justify-content:flex-end;align-items:stretch;
 padding:0!important;overflow:clip;isolation:isolate;
}
body.page-project-detail .project-cover .project-cover__media{
 position:absolute!important;inset:0!important;width:100%;height:100%;min-height:0;
 max-height:none;grid-row:auto;z-index:0;
}
body.page-project-detail .project-cover__shade{
 background:linear-gradient(180deg,rgb(10 12 11 / .18),transparent 24%,transparent 62%,rgb(10 12 11 / .16));
 display:block!important;pointer-events:none;z-index:1;
}
body.page-project-detail .project-cover .project-cover__content{
 position:relative!important;z-index:2;isolation:isolate;flex:none;display:flex;
 flex-direction:column;align-items:stretch;align-self:stretch;gap:0;
 width:100%;margin:auto 0 0;padding:0 var(--cover-inset) var(--cover-bottom);
 max-height:none;overflow:visible;background:transparent!important;color:#f5f5f2!important;
}
body.page-project-detail .project-cover .project-cover__content::before{
 display:block!important;content:'';position:absolute;inset:-100px 0 0;z-index:-1;
 pointer-events:none;opacity:1!important;
 background:linear-gradient(180deg,transparent,rgb(10 12 11 / .27) 24%,rgb(10 12 11 / .62) 66%,rgb(10 12 11 / .85))!important;
}
html[data-theme-choice] body.page-project-detail .project-cover .project-cover__content::before{
 background:linear-gradient(180deg,transparent,rgb(10 12 11 / .27) 24%,rgb(10 12 11 / .62) 66%,rgb(10 12 11 / .85))!important;
}
body.page-project-detail .project-cover .project-cover__identity{max-width:none;opacity:1;transform:none}
body.page-project-detail .project-cover .project-cover__identity h1{
 font-family:var(--font-support)!important;font-weight:300!important;font-size:clamp(38px,4.8vw,76px)!important;line-height:1.04;
 letter-spacing:-.025em;max-width:25ch;margin:0;text-wrap:balance;
}
body.page-project-detail .project-cover .story-eyebrow{
 font-size:9px;line-height:1.4;letter-spacing:.14em;font-weight:400;margin:0 0 10px;
}
body.page-project-detail .project-cover .project-cover__intro{
 font-size:clamp(12px,1vw,14px);line-height:1.4;max-width:72ch;
}
body.page-project-detail .project-cover.has-mouse-data .project-cover__intro{max-height:3em;margin-top:10px}
body.page-project-detail .project-cover .project-cover__data .project-facts{
 grid-template-columns:repeat(4,minmax(0,1fr));gap:12px clamp(16px,2.5vw,36px);
 align-items:start;align-content:start;margin-top:20px;padding:12px 4px 0 0;
 max-height:var(--cover-facts-height);overflow-y:auto;overscroll-behavior:contain;
 scrollbar-width:thin;scrollbar-color:#ffffff60 transparent;
 border-top:1px solid #ffffff40;font-size:clamp(11px,.85vw,13px);line-height:1.35;color:inherit!important;
}
body.page-project-detail .project-cover .project-facts>div{min-width:0;padding:0;border:0}
body.page-project-detail .project-cover .project-facts dt{
 margin:0 0 4px;font-size:8px;line-height:1.3;letter-spacing:.13em;font-weight:400;opacity:.7;
}
body.page-project-detail .project-cover .project-facts dd{
 margin:0;line-height:1.35;font-weight:300;overflow-wrap:anywhere;text-wrap:pretty;
}
body.page-project-detail .project-cover .project-facts:focus-visible{outline:1px solid #fff9;outline-offset:4px}
/* Focus/reading must not be interrupted by the automatic hover-data timeout. */
body.page-project-detail .project-cover:focus-within .project-cover__data{grid-template-rows:1fr;opacity:1}
body.page-project-detail .project-cover:focus-within .project-cover__data-inner{visibility:visible}
body.page-project-detail .project-cover:focus-within .project-facts{opacity:1!important;pointer-events:auto}
body.page-project-detail .project-cover__number{top:28px;right:118px;padding:0;border:0;font-size:12px;line-height:1;letter-spacing:.01em}

/* Small glyphs, unchanged generous selection areas. */
body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide){
 display:grid;place-items:center;width:56px;height:64px;padding:0;
 background:none!important;border:0;touch-action:manipulation;
}
body.page-project-detail .story-project-nav__previous{left:max(0px,env(safe-area-inset-left))}
body.page-project-detail .story-project-nav__next{right:max(0px,env(safe-area-inset-right))}
body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide) svg{
 width:7px!important;height:11px!important;fill:currentColor!important;stroke:none!important;
 stroke-width:0!important;opacity:.78;transform:none!important;filter:none!important;
 transform-origin:center;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s,filter .32s!important;
}
body.page-project-detail :is(.story-previous-slide,.story-next-slide) svg{width:11px!important;height:7px!important}
body.page-project-detail .story-previous-slide{top:12px!important;bottom:auto;left:50%;height:44px!important;transform:translateX(-50%)}
body.page-project-detail .story-next-slide{bottom:max(6px,env(safe-area-inset-bottom));height:44px!important}
body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide):is(:hover,:focus-visible) svg{
 opacity:1;transform:scale(1.2)!important;filter:drop-shadow(0 0 5px #ffffff70)!important;
}
body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide)::after{display:none}
body.page-project-detail .story-reader__index{
 position:fixed;top:12px!important;right:clamp(16px,2.4vw,38px);width:auto;min-width:52px;height:44px;
 display:flex;align-items:center;justify-content:center;gap:0;padding:0 4px;
 background:none!important;border:0;border-radius:0;font:300 12px/1 var(--font-support);
 text-decoration:none;color:inherit;opacity:.85;
}
body.page-project-detail .story-reader__index svg{display:none}
body.page-project-detail .story-reader__index span{
 position:static;transform:none;opacity:1;visibility:visible;font:inherit;white-space:nowrap;
}
body.page-project-detail .story-reader__index:is(:hover,:focus-visible){opacity:1;text-shadow:0 0 12px #ffffff50}
body.page-project-detail :is(.story-previous-slide,.story-next-slide)[hidden]{display:none!important}
body.page-project-detail.project-controls-idle :is(.story-reader,.story-project-nav a){opacity:1!important}
body.page-project-detail.project-controls-idle .story-reader :is(a,button),
body.page-project-detail.project-controls-idle .story-project-nav a{pointer-events:auto!important}
body.page-project-detail.project-on-hero :is(.story-reader,.story-project-nav a){mix-blend-mode:normal!important;color:#fff!important}
@media(min-width:701px) and (min-height:551px){
 body.page-project-detail .story-project-nav a{width:clamp(60px,6vw,96px);height:calc(100dvh - 240px);min-height:100px}
}
@media(hover:hover) and (pointer:fine) and (min-width:901px){
 body.page-project-detail :is(.story-previous-slide,.story-next-slide){width:min(52vw,680px)!important}
}
html body.page-project-detail.project-on-hero :is(.site-header .brand,.mobile-menu-toggle){
 color:#fff!important;mix-blend-mode:normal!important;filter:none!important;
}
html[data-theme-choice] body.page-project-detail .project-cover :is(.project-cover__content,.project-facts){color:#f5f5f2!important}

@media(max-width:950px) and (min-width:701px){
 body.page-project-detail .project-cover{--cover-inset:36px}
 body.page-project-detail .project-cover .project-cover__data .project-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){body.page-project-detail .project-cover__number{display:none}}
@media(max-width:700px),(max-width:950px) and (max-height:550px){
 body.page-project-detail .project-cover{--cover-inset:32px;--cover-bottom:max(48px,calc(env(safe-area-inset-bottom) + 36px))}
 html.project-deck body.page-project-detail #project-story .project-cover .project-cover__content{
  padding:0 var(--cover-inset) var(--cover-bottom)!important;gap:0;max-height:none;overflow:visible;
 }
 html.project-deck body.page-project-detail #project-story .project-cover:not(.has-expanded-details) .project-cover__content{overflow:visible}
 body.page-project-detail .project-cover .project-cover__content::before{inset:-90px 0 0}
 body.page-project-detail .project-cover .project-cover__identity h1{
  font-size:clamp(32px,10vw,46px)!important;line-height:1.07;letter-spacing:-.02em;max-width:15ch;
 }
 body.page-project-detail .project-cover .story-eyebrow{font-size:8px;line-height:1.45;letter-spacing:.12em;margin-bottom:10px}
 body.page-project-detail .project-cover:not(.has-expanded-details) .project-cover__intro{display:none}
 body.page-project-detail .project-cover .project-cover__data{grid-template-rows:1fr;opacity:1;flex:none}
 body.page-project-detail .project-cover .project-cover__data-inner{display:flex;flex-direction:column;visibility:visible;overflow:visible}
 body.page-project-detail .project-cover .project-cover__data .project-facts{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;
  margin-top:20px;padding:12px 0 0;border-top:1px solid #ffffff40;
  max-height:none;overflow:visible;font-size:12px;line-height:1.35;opacity:1!important;
 }
 body.page-project-detail .project-cover .project-facts.has-mobile-summary>div:not(.project-facts-more){padding:0}
 body.page-project-detail .project-cover .project-facts>.project-fact--program{grid-column:1/-1}
 body.page-project-detail .project-cover .project-facts>.project-fact--size{text-align:right}
 body.page-project-detail .project-cover .project-facts.has-mobile-summary>div:not(.project-facts-more)>dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body.page-project-detail .project-cover .project-facts.has-mobile-summary>.project-facts-more{margin:0;padding:0}
 body.page-project-detail .project-cover .project-facts:not(.is-expanded)>.project-facts-more{display:none}
 body.page-project-detail .project-cover .project-facts-more__inner{gap:12px 18px}
 body.page-project-detail .project-cover .project-facts-more__inner>div{padding:8px 0 0;border-top:1px solid #ffffff30}
 body.page-project-detail .project-cover .project-facts-toggle{
  order:1;min-height:44px;margin:10px 0 0;padding:8px 0 0;border:0;
  font:300 11px/1.4 var(--font-support);letter-spacing:.02em;text-transform:none;
 }
 body.page-project-detail .project-facts-toggle__mark{width:16px;height:16px}
 body.page-project-detail .project-facts-toggle__mark::before,
 body.page-project-detail .project-facts-toggle__mark::after{top:7px;left:3px;right:3px;height:1px}
 /* Only a deliberate expansion can introduce a scrollable reading area.
    The photograph stays full-screen and stationary beneath it. */
 html.project-deck body.page-project-detail #project-story .project-cover.has-expanded-details .project-cover__content{
  max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;
  padding-top:24px!important;scrollbar-width:thin;
  background:linear-gradient(180deg,rgb(15 17 15 / .48),rgb(15 17 15 / .86))!important;
 }
 body.page-project-detail .project-cover.has-expanded-details .project-cover__intro{display:block;max-height:none;margin-top:12px;font-size:13px}
 body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide){width:44px;height:44px}
 body.page-project-detail .story-project-nav a svg{width:5.25px!important;height:10.85px!important}
 body.page-project-detail .story-previous-slide{top:12px!important}
 html.mobile-menu-enabled body.page-project-detail .story-reader__index span{display:block!important}
 body.page-project-detail .story-reader__index{top:12px!important;right:16px;font-size:11px}
 body.page-project-detail .project-cover__number{display:none}
}
@media(max-width:700px) and (max-height:620px){
 body.page-project-detail .project-cover .project-cover__identity h1{font-size:clamp(27px,8vw,36px)!important}
 body.page-project-detail .project-cover .project-cover__data .project-facts{margin-top:14px;gap:6px 14px}
}

/* Orbit photographs fade into the existing charcoal atmosphere, not a black plane.
   --focus follows fractional rotation, so neighbouring cards brighten continuously. */
html[data-theme=dark] body.page-projects [data-view=rotunda] .rotunda-image-wrap{
 background:transparent;
 -webkit-mask-image:linear-gradient(#000 52%,rgb(0 0 0 / .94) 66%,rgb(0 0 0 / .65) 88%,rgb(0 0 0 / .12));
 mask-image:linear-gradient(#000 52%,rgb(0 0 0 / .94) 66%,rgb(0 0 0 / .65) 88%,rgb(0 0 0 / .12));
}
html[data-theme=dark] body.page-projects [data-view=rotunda] .rotunda-image-wrap::after{
 content:'';position:absolute;inset:0;pointer-events:none;
 background:rgb(20 23 23 / calc(.48 * (1 - var(--focus,0))));
}
body.page-projects [data-view=rotunda] .rotunda-card-link{container-type:inline-size}
body.page-projects [data-view=rotunda] .rotunda-card-caption,
body.page-projects [data-view=rotunda] :is(.rotunda-card,.rotunda-copy).is-current .rotunda-card-caption{
 position:absolute;inset:auto 0 0;width:100%;padding:clamp(28px,12cqw,56px) clamp(12px,6cqw,34px) clamp(14px,5cqw,24px);
 display:flex;flex-direction:column;align-items:flex-start;gap:6px;
 background:linear-gradient(transparent,rgb(10 12 11 / .32) 48%,rgb(10 12 11 / .65));
 text-align:left;transform:none;
}
body.page-projects [data-view=rotunda] .rotunda-card-caption h2{
 font-family:var(--font-support)!important;font-weight:300!important;
 font-size:clamp(14px,8cqw,40px)!important;line-height:1.07;letter-spacing:-.025em;
}
body.page-projects [data-view=rotunda] .rotunda-card-caption p{font-size:clamp(9px,3cqw,11px);line-height:1.4}
body.page-projects [data-view=rotunda] .rotunda-card-caption p:first-of-type{order:-1;font-size:8px;letter-spacing:.12em;text-transform:uppercase}
body.page-projects [data-view=rotunda] .rotunda-card-caption img{display:none}
/* Keep every fact on the photograph, including when the pointer is elsewhere. */
body.page-projects [data-view=rotunda].rotunda-close-view :is(.rotunda-card,.rotunda-copy).is-current .rotunda-card-caption p{
 opacity:1;transform:none;visibility:visible;-webkit-line-clamp:unset;
}
html[data-theme=dark] body.page-projects [data-view=rotunda] .rotunda-card-caption{background:linear-gradient(transparent,rgb(17 20 19 / .12) 40%,rgb(17 20 19 / .38))}
body.page-projects .browser-topline .collection-zoom{min-width:126px;gap:10px;color:inherit}
body.page-projects .collection-zoom>span{font-size:10px;font-weight:300}
body.page-projects .collection-zoom output{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body.page-projects .collection-zoom input[type=range]{
 appearance:none;-webkit-appearance:none;width:82px;height:44px;margin:0;background:transparent;
 color:inherit;transform:none!important;cursor:ew-resize!important;touch-action:pan-y;
}
body.page-projects .collection-zoom input[type=range]::-webkit-slider-runnable-track{height:1px;background:color-mix(in srgb,currentColor 36%,transparent);border:0}
body.page-projects .collection-zoom input[type=range]::-moz-range-track{height:1px;background:color-mix(in srgb,currentColor 36%,transparent);border:0}
body.page-projects .collection-zoom input[type=range]::-webkit-slider-thumb{
 appearance:none;-webkit-appearance:none;width:5px;height:5px;border:0;border-radius:50%;
 background:currentColor;margin-top:-2px;box-shadow:0 0 0 9px transparent;
}
body.page-projects .collection-zoom input[type=range]::-moz-range-thumb{width:5px;height:5px;border:0;border-radius:50%;background:currentColor}
body.page-projects .browser-view-switch{gap:2px}
body.page-projects .browser-view-switch button{width:40px;height:44px;padding:10px;display:grid;place-items:center}
body.page-projects .browser-view-switch button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}
body.page-projects .browser-view-switch .collection-search-toggle svg{width:18px;height:18px;stroke-width:1.3}
body.page-projects .browser-view-switch button[data-view-button=grid] svg{fill:currentColor;stroke:none}
body.page-projects .browser-view-switch button[data-view-button=globe] svg{fill:none!important;stroke:currentColor!important;stroke-width:1.3}
@media(max-width:700px){
 body.page-projects [data-view=rotunda] .rotunda-card-caption,
 body.page-projects [data-view=rotunda] :is(.rotunda-card,.rotunda-copy).is-current .rotunda-card-caption{padding:clamp(24px,12cqw,48px) clamp(12px,6cqw,22px) clamp(14px,6cqw,22px);gap:7px}
 body.page-projects [data-view=rotunda] .rotunda-card-caption h2{font-size:clamp(14px,9cqw,32px)!important}
}
@media(max-width:360px){
 /* Keep the up hit area away from the wordmark on the narrowest phones. */
 body.page-project-detail .story-previous-slide{top:62px!important}
}
@media(prefers-reduced-motion:reduce){
 body.page-project-detail :is(.story-project-nav a,.story-previous-slide,.story-next-slide) svg{transition:none;transform:none!important}
}
