/* Photography belongs to the composition, rather than a stack of isolated cards. */
.logo-noir .logo-hero{display:flex;position:relative;min-height:690px;padding:80px 6.2% 90px;margin:0;overflow:hidden;background:#101214}
.logo-noir .logo-hero-image{position:absolute;inset:0;min-height:0;height:100%;width:100%;isolation:isolate}
.logo-noir .logo-hero-image>img{width:100%;height:100%;object-fit:cover;object-position:65% 58%;filter:none}
.logo-noir .logo-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101214f5 0%,#101214eb 30%,#101214b8 48%,#10121426 72%),linear-gradient(0deg,#101214c4,transparent 35%);z-index:1}
.logo-noir .logo-hero-copy{position:relative;z-index:2;width:49%;max-width:630px;align-self:center}
.logo-noir .logo-hero h1{font-size:clamp(64px,6.1vw,92px);line-height:1.02;color:#fff}
.logo-noir .logo-hero h1 em{color:#dedad1}
.logo-noir .logo-hero-copy>p{color:#e1e0db;max-width:420px;font-size:19px}
.logo-noir .logo-hero-copy>.eyebrow{color:#e2ded6}
.logo-noir .logo-hero-actions{align-items:flex-start;gap:19px 27px}
.logo-noir .image-credit{z-index:2;left:auto;right:5%;bottom:25px;background:transparent;color:#f4f1eb;padding:0;font-size:12px;letter-spacing:.8px;text-shadow:0 1px 4px #000}
.logo-noir .quality-strip{background:#171a1c;padding-block:30px;border-top:1px solid #44484b}
.logo-noir .quality-strip>span{display:flex;align-items:center;gap:12px}
.logo-noir .quality-strip .usp-check{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;margin:0;flex-shrink:0;color:#e9e1d5}
.usp-check svg{width:22px;height:22px}
.logo-noir .about{padding:0;background:#1c1f21}
.logo-noir .about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;align-items:stretch}
.logo-noir .about-photo{min-width:0;min-height:650px;overflow:hidden}
.logo-noir .about-photo img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:48% center;filter:none}
.logo-noir .about-photo>span{left:35px;bottom:25px;background:#121416e8;color:#fff;font-size:13px}
.logo-noir .about-body{padding:80px 12% 80px 11%;min-width:0}
.logo-noir .about-intro{margin-bottom:32px}
.logo-noir .about h2{font-size:clamp(48px,4.7vw,70px)}
.logo-noir .about .prose{font-size:17px;line-height:1.9}
.logo-noir .service-cover{grid-template-columns:.85fr 1.3fr;gap:5%;padding:55px 0 0 6.2%;align-items:center}
.logo-noir .detail-title{grid-column:1;grid-row:1;padding-bottom:65px;min-width:0}
.logo-noir .detail-title h1{font-size:clamp(53px,5.2vw,82px)}
.logo-noir .photo-viewer{grid-column:2;grid-row:1;min-width:0}
.logo-noir .viewer-stage{height:490px;background:#202426}
.logo-noir .viewer-photo{object-fit:cover;object-position:center}
.logo-noir .viewer-photo.portrait-photo{object-fit:contain}
.logo-noir .viewer-toolbar{margin-right:8%;min-height:84px;border:0}
.logo-noir .enlarge{background:#101214de;border:1px solid #b7b9b47d;backdrop-filter:blur(6px)}
.logo-noir .gallery-section{padding-bottom:70px}
.logo-noir .gallery-frame{height:590px;background:#111416}
.logo-noir .gallery-frame img{object-fit:cover;object-position:center}
.logo-noir .gallery-frame img.portrait-photo{object-fit:contain}
.logo-noir .gallery-frame>span{background:#111416ed;padding:16px 22px;font-size:14px}
.logo-noir .gallery-thumbs{display:flex;gap:13px;margin-top:20px;overflow-x:auto;padding:2px 2px 15px;scrollbar-color:#747a77 #24292a;scrollbar-width:thin}
.logo-noir .gallery-thumbs button{width:112px;height:76px;flex:0 0 112px;padding:0;border:2px solid transparent;background:#171b1d;opacity:.65;transition:opacity .2s,border-color .2s}
.logo-noir .gallery-thumbs button[aria-pressed=true]{border-color:#e4796d;opacity:1}
.logo-noir .gallery-thumbs button:hover{opacity:1}
.logo-noir .gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.logo-noir .contact-details{padding:0;gap:0;grid-template-columns:1.05fr 1fr;align-items:stretch}
.logo-noir .contact-details>img{height:100%;max-height:none;min-height:620px;object-position:55% center}
.logo-noir .contact-details>div{padding:70px 12%}
.logo-noir .map-section{padding-top:60px}
.logo-noir .booking{padding-right:0;gap:7%;grid-template-columns:1fr 1.1fr}
.logo-noir .booking>img{max-height:none;height:100%;object-position:60% center}
@media(min-width:1600px){.logo-noir .logo-hero{padding-inline:max(6.2%,calc((100% - 1400px)/2))}}
@media(max-width:1000px){.logo-noir .logo-hero-copy{width:57%}.logo-noir .logo-hero h1{font-size:70px}.logo-noir .about-body{padding:60px 9%}.logo-noir .about h2{font-size:50px}.logo-noir .viewer-stage{height:430px}.logo-noir .detail-title h1{font-size:58px}.logo-noir .contact-details>div{padding:55px 9%}}
@media(max-width:750px){.logo-noir .logo-hero{min-height:790px;padding:45px 6% 345px;display:block}.logo-noir .logo-hero-copy{width:100%;max-width:580px}.logo-noir .logo-hero-image{height:100%;min-height:0;position:absolute;inset:0}.logo-noir .logo-hero-image>img{object-position:66% bottom;object-fit:cover}.logo-noir .logo-hero-image:after{background:linear-gradient(180deg,#101214 0%,#101214fa 40%,#101214d9 55%,#10121418 78%,#10121460)}.logo-noir .logo-hero h1{font-size:66px}.logo-noir .image-credit{right:6%;bottom:20px;font-size:11px}.logo-noir .about-grid{grid-template-columns:1fr}.logo-noir .about-photo{min-height:0;height:370px}.logo-noir .about-photo img{object-position:center 40%}.logo-noir .about-body{padding:50px 6%}.logo-noir .about-photo>span{left:6%;bottom:22px}.logo-noir .service-cover{grid-template-columns:1fr;gap:0;padding:40px 0 0}.logo-noir .detail-title{grid-column:1;grid-row:1;padding:0 6% 35px}.logo-noir .photo-viewer{grid-column:1;grid-row:2}.logo-noir .viewer-stage{height:420px}.logo-noir .viewer-toolbar{margin:0 6%;min-height:75px}.logo-noir .gallery-frame{height:430px}.logo-noir .gallery-thumbs button{width:90px;flex-basis:90px;height:64px}.logo-noir .gallery-thumbs{gap:10px;margin-top:15px}.logo-noir .contact-details{grid-template-columns:1fr}.logo-noir .contact-details>img{height:370px;min-height:0}.logo-noir .contact-details>div{padding:50px 6%}.logo-noir .booking{padding-right:6%;grid-template-columns:1fr;gap:40px}.logo-noir .booking>img{height:370px}.logo-noir .gallery-section{padding-bottom:45px}}
@media(max-width:560px){.logo-noir .logo-hero{min-height:850px;padding-top:40px;padding-bottom:320px}.logo-noir .logo-hero h1{font-size:clamp(50px,14vw,65px)}.logo-noir .logo-hero-copy>p{font-size:18px}.logo-noir .logo-hero-actions{margin-top:25px;gap:15px}.logo-noir .logo-hero-image>img{object-position:62% bottom}.logo-noir .quality-strip{padding-block:25px;gap:14px}.logo-noir .about-photo{height:300px}.logo-noir .about h2{font-size:47px}.logo-noir .viewer-stage{height:330px}.logo-noir .detail-title h1{font-size:clamp(43px,12vw,58px)}.logo-noir .gallery-frame{height:330px}.logo-noir .gallery-controls{margin-top:22px}.logo-noir .contact-details>img{height:300px}.logo-noir .booking>img{height:320px}.logo-noir .gallery-thumbs button{width:82px;flex-basis:82px;height:60px}}
@media(max-width:750px){.logo-noir .logo-hero-image>img{position:absolute;bottom:0;left:0;height:440px;width:100%;object-fit:cover;object-position:58% center}.logo-noir .logo-hero-image:after{background:linear-gradient(180deg,#101214 0%,#101214 42%,#101214d9 55%,#10121415 80%,#10121438)}}
/* The same transparent brand is white on dark surfaces and black on the reading panel. */
.logo-noir .header{background:#101214;color:#f5f2ec;border-bottom:1px solid #34383a;box-shadow:none}
.logo-noir .header nav a,.logo-noir .dropdown-toggle,.logo-noir .mobile-nav a{color:#e9e6df}
.logo-noir .header nav a:hover,.logo-noir .header nav a[aria-current],.logo-noir .mobile-nav a:hover{color:#f3a397}
.logo-noir .header nav a[aria-current]{box-shadow:0 2px #d76558}
.logo-noir .dropdown,.logo-noir .mobile-nav{background:#171b1d;color:#f4f1eb;border-color:#686e6a}
.logo-noir .mobile-nav a{border-color:#4a504e}
.logo-noir .menu-toggle>span{background:#f4f1eb}
.logo-noir .actual-brand img,.logo-noir .actual-footer img{width:100%;height:auto;display:block}
.logo-noir .actual-footer{background:transparent;padding:0;max-width:460px}
.logo-noir .aside-seal{background:transparent;padding:0;width:240px;max-width:100%;height:auto;display:block;margin-bottom:28px}
.logo-noir .aside-seal img{width:100%;height:auto}
@media(max-width:560px){.logo-noir .actual-footer{padding:0}.logo-noir .aside-seal{width:220px;height:auto}.logo-noir .aside-seal img{width:100%}}
