/* The name is the aperture: a single landscape, never four unrelated pictures. */
.alt-hero {padding:88px 0 0}
.alt-portal {position:relative;isolation:isolate}
.alt-portal__veil {display:block;width:100%;height:32vw;overflow:hidden}
.alt-portal__type {font:400 27.2vw 'Mira Dela',sans-serif;letter-spacing:-.04em}
.alt-portal__surface {fill:var(--alt-paper);opacity:var(--portal-veil,1)}
.alt-portal__ink {fill:var(--alt-blue);opacity:var(--portal-ink,1)}
.alt-portal__outline {fill:none;stroke:var(--portal-color,var(--alt-blue));stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-dasharray:var(--portal-dash,1600);stroke-dashoffset:var(--portal-trace,1600);opacity:var(--portal-outline,0);pointer-events:none}
.alt-portal .alt-hero__stage {margin-inline:36px}
.alt-portal__landscape img {display:block;width:100%;height:auto}
.alt-portal__shade {display:none}
.alt-portal__footer {display:flex;justify-content:space-between;align-items:center;gap:30px;margin:25px 36px 35px;padding-top:16px;border-top:1px solid currentColor}
.alt-portal__explore,.alt-portal__work {display:flex;align-items:center;gap:30px;color:inherit;text-decoration:none;font-size:12px}
.alt-portal__work {gap:14px}
.alt-portal__explore span {font-size:25px}
:is(.alt-cinematic,.mira-cinematic) .alt-portal {min-height:660px;height:calc(28vw + 300px);max-height:980px;overflow:hidden;color:var(--portal-color,var(--alt-blue))}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__landscape {position:absolute;inset:0;z-index:-3}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__landscape img {height:100%;object-fit:cover;transform:scale(1.1);transform-origin:center}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__type {y:calc(23vw + 30px)}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__veil {position:absolute;inset:0;height:100%;z-index:-1}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__aperture,:is(.alt-cinematic,.mira-cinematic) .alt-portal__outline {transform-box:fill-box;transform-origin:60% 52%;transform:scale(var(--portal-zoom,1))}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__shade {display:block;position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#07130b00 32%,#07130b80 66%,#07130bb3);opacity:var(--portal-shade,0)}
:is(.alt-cinematic,.mira-cinematic) .alt-portal .alt-hero__stage {position:absolute;top:calc(28vw + 45px);left:36px;right:36px;z-index:1;margin:0;padding:0;gap:13%;align-items:start}
:is(.alt-cinematic,.mira-cinematic) .alt-portal__footer {position:absolute;left:36px;right:36px;bottom:24px;z-index:1;margin:0}
:is(.alt-cinematic,.mira-cinematic) .alt-hero__aside p {font-weight:500}
/* Script drives only the one shared-name transition. CSS remains a timed fallback. */
.alt-loading .alt-preload {animation:none}
.alt-loading .alt-preload__word {overflow:visible;width:max-content;max-width:none;align-self:center;transform-origin:50% 50%;will-change:transform}
.alt-loading .alt-preload__name {transition:opacity .18s}
.alt-loading .alt-preload__word span {animation-duration:.5s}
/* Contact-sheet rhythm follows the files' original aspect ratios. */
.alt-showroom {padding:85px 36px 65px;background:var(--alt-sage);color:var(--alt-blue)}
.alt-showroom__heading {display:grid;grid-template-columns:1.4fr 1fr;gap:12%;align-items:end;margin-bottom:45px}
.alt-showroom__heading h2 {font-size:clamp(48px,7vw,104px);line-height:1.08;margin-top:15px}
.alt-showroom__heading p {font-size:17px;line-height:1.6;max-width:40ch;color:var(--alt-ink)}
.alt-showroom__count {font-size:12px}.alt-showroom__count>span {margin-left:5px}
.alt-directory__heading .alt-link {margin-top:20px;max-width:360px}
.alt-showroom__row {display:flex;gap:22px;align-items:start;margin-bottom:32px}
.alt-showroom__photo {flex:var(--photo-ratio) 1 0;min-width:0}
.alt-showroom__photo a {position:relative;display:block;overflow:hidden;background:var(--alt-ink)}
.alt-showroom__photo img {display:block;width:100%;height:auto;aspect-ratio:var(--photo-ratio);transition:filter .3s}
.alt-showroom__photo a:hover img {filter:brightness(.86)}
.alt-showroom__photo figcaption {font-size:11px;line-height:1.5;padding-top:10px;color:var(--alt-ink)}
.alt-showroom__expand {position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;background:var(--alt-paper);color:var(--alt-blue);font-size:24px;opacity:0;transition:opacity .2s}
.alt-showroom__photo a:hover .alt-showroom__expand,.alt-showroom__photo a:focus-visible .alt-showroom__expand {opacity:1}
.alt-showroom__row:last-child .alt-showroom__photo:only-child {flex:none;width:min(100%,calc(var(--photo-ratio)*500px))}
.alt-lightbox {position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:22px 32px;border:0;background:#10241c;color:var(--alt-paper);overflow:auto}
.alt-lightbox::backdrop {background:#10241c}
.alt-lightbox[open] {display:flex;flex-direction:column;gap:15px}
.alt-lightbox>header,.alt-lightbox>footer {display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none}
.alt-lightbox>header {font-size:12px}.alt-lightbox>footer p {font-size:12px;text-align:center}
.alt-lightbox button {min-width:48px;min-height:48px;padding:8px;border:1px solid #f1f3df60;background:transparent;color:inherit;font:500 14px var(--mira-body);cursor:pointer}
.alt-lightbox button span {font-size:24px;vertical-align:middle;margin-left:20px}
.alt-lightbox>figure {display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:12px}
.alt-lightbox>figure img {width:100%;height:100%;min-height:0;object-fit:contain;max-height:calc(100svh - 210px)}
.alt-lightbox figcaption {font-size:14px;text-align:center;flex:none}
body.mira-showroom-open {overflow:hidden}
@media(max-width:1099px) {.alt-hero {padding-top:70px}}
@media(max-width:899px) {
 :is(.alt-cinematic,.mira-cinematic) .alt-portal__type {y:calc(23vw + 25px)}
 .alt-portal .alt-hero__stage {margin-inline:20px}
 :is(.alt-cinematic,.mira-cinematic) .alt-portal {min-height:610px;height:calc(100svh - 210px);max-height:760px}
 :is(.alt-cinematic,.mira-cinematic) .alt-portal .alt-hero__stage {top:calc(28vw + 65px);left:20px;right:20px;display:grid;grid-template-columns:1fr;gap:24px}
 :is(.alt-cinematic,.mira-cinematic) .alt-portal__footer {left:20px;right:20px;bottom:24px}
 .alt-portal__footer {margin-inline:20px;gap:20px}.alt-portal__explore {gap:12px}.alt-portal__work {gap:8px}
 .alt-showroom {padding:55px 20px 40px}.alt-showroom__heading {gap:25px;grid-template-columns:1fr;margin-bottom:30px}
 .alt-showroom__heading h2 {font-size:clamp(46px,9vw,72px)}.alt-showroom__heading p {font-size:15px}
 .alt-showroom__collection {columns:2 150px;column-gap:16px}
 .alt-showroom__row {display:contents}
 .alt-showroom__collection .alt-showroom__photo {display:inline-block;width:100%;vertical-align:top;break-inside:avoid;margin-bottom:24px}
 .alt-showroom__row:first-child .alt-showroom__photo:first-child {display:block;column-span:all;margin-bottom:28px}
 .alt-showroom__row:last-child .alt-showroom__photo:only-child {width:100%}
 .alt-showroom__photo figcaption {font-size:12px;line-height:1.5;padding-top:9px}.alt-showroom__expand {opacity:1;width:30px;height:30px;font-size:21px;bottom:8px;right:8px}
 .alt-lightbox {padding:12px 14px}.alt-lightbox figcaption {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {.alt-showroom__photo img,.alt-showroom__expand {transition:none}}
