/* Photography is treated as a continuous, quiet part of the architecture. */
.logo-noir .logo-hero-image>img{transform:scale(1.045);will-change:transform}
.logo-noir .about{background:#15191b}
.logo-noir .about-photo{position:relative;isolation:isolate}
.logo-noir .about-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 65%,#15191b 100%),linear-gradient(0deg,#15191ba6,transparent 45%);z-index:1}
.logo-noir .about-photo img{height:108%;min-height:100%;transform:translateY(calc(-4% + var(--photo-shift,0px)));object-position:52% center;will-change:transform}
.logo-noir .about-photo>span{z-index:2;bottom:30px;background:transparent;border-left:2px solid #cf6254;padding:0 0 0 14px;font-size:13px;letter-spacing:.3px;text-shadow:0 1px 5px #000}
.logo-noir .about-body{position:relative;z-index:2;padding-left:7%;padding-right:11%}
.logo-noir .viewer-stage{isolation:isolate;background:#15191b}
.logo-noir .viewer-stage:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff17;background:linear-gradient(0deg,#12141680,transparent 24%);z-index:1}
.logo-noir .viewer-stage .enlarge{z-index:2}
.logo-noir .viewer-photo{transition:opacity .5s ease,transform 1.2s cubic-bezier(.2,.6,.2,1)}
.logo-noir .viewer-stage:hover .viewer-photo:not(.portrait-photo){transform:scale(1.025)}
.logo-noir .contact-details{background:#171b1d}
.logo-noir .contact-details>img{mask-image:linear-gradient(90deg,#000 75%,transparent 100%)}
.logo-noir .gallery-section{background:#101416;padding-top:105px;padding-bottom:85px;overflow:hidden}
.logo-noir .gallery-section .section-heading{align-items:end;margin-bottom:38px}
.logo-noir .gallery-deck{grid-template-columns:minmax(0,1fr) 25%;gap:18px;align-items:stretch}
.logo-noir .gallery-frame{height:570px;border:1px solid #ffffff1b;box-shadow:0 22px 55px #0004}
.logo-noir .gallery-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#070b0ee0,transparent 30%);z-index:2}
.logo-noir .gallery-frame>span{left:30px;bottom:28px;padding:0 0 0 16px;border-left:2px solid #d56c5c;background:transparent;color:#fff;font-size:16px;text-shadow:0 1px 4px #000;line-height:1.5}
.logo-noir .gallery-peek{margin-top:65px;margin-bottom:65px;border:1px solid #ffffff1b;transform:translateY(var(--peek-shift,0px));will-change:transform}
.logo-noir .gallery-peek>img{filter:brightness(.8) saturate(.8)}
.logo-noir .gallery-peek>span{padding:55px 22px 24px}
.logo-noir .gallery-thumbs{gap:12px;padding-top:15px;padding-bottom:8px;margin-top:20px;mask-image:linear-gradient(90deg,#000 94%,transparent)}
.logo-noir .gallery-thumbs button{width:98px;flex-basis:98px;height:64px;border:0;position:relative;opacity:.55;transition:opacity .35s,transform .5s;transform:translateY(3px)}
.logo-noir .gallery-thumbs button[aria-pressed=true]{opacity:1;transform:translateY(-3px);box-shadow:0 3px #d77160}
.logo-noir .gallery-thumbs button:hover{opacity:1;transform:translateY(-3px)}
.logo-noir .gallery-arrival #gallery-image:not(.portrait-photo){animation:gallery-drift 9s ease-out both;animation-play-state:paused}
.logo-noir .gallery-motion .gallery-arrival #gallery-image{animation-play-state:running}
@keyframes gallery-drift{from{transform:scale(1.025) translateX(-.5%)}to{transform:scale(1.08) translateX(.5%)}}
@media(min-width:751px){.logo-noir .logo-hero-image>img{transform:translateY(var(--hero-shift,0px)) scale(1.07)}}
@media(max-width:1000px){.logo-noir .gallery-frame{height:470px}.logo-noir .gallery-peek{margin-block:45px}.logo-noir .about-body{padding-left:7%;padding-right:8%}}
@media(max-width:750px){.logo-noir .about-photo:after{background:linear-gradient(0deg,#15191b,transparent 50%)}.logo-noir .about-body{padding:35px 6% 55px}.logo-noir .about-photo>span{bottom:40px}.logo-noir .gallery-deck{display:block}.logo-noir .gallery-frame{height:390px}.logo-noir .gallery-section{padding-block:65px}.logo-noir .contact-details>img{mask-image:linear-gradient(0deg,transparent,#000 35%)}.logo-noir .gallery-frame>span{left:20px;bottom:24px;font-size:15px}.logo-noir .gallery-thumbs button{width:82px;flex-basis:82px;height:58px}}
@media(prefers-reduced-motion:reduce){.logo-noir .logo-hero-image>img,.logo-noir .about-photo img,.logo-noir .gallery-peek{transform:none!important;will-change:auto}.logo-noir .gallery-frame img,.logo-noir .viewer-photo{animation:none!important;transition:none!important}}
