/* Identity marks are neither photographs nor editorial illustrations. */
.logo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px;list-style:none;padding:0;margin:0;align-items:center}
.logo-strip li{display:flex;align-items:center;justify-content:center;min-height:125px;padding:24px;background:#fff;border:1px solid #0001}
.logo-strip img{width:auto;height:auto;max-width:100%;max-height:76px;object-fit:contain}
.identity-strip{padding:36px 0;border-top:1px solid #0002}.identity-strip h2{font-size:28px}
/* A prose article, a service explanation and an album have different measures. */
.article-layout{border-top:0;padding:32px 0 52px}.article-body{max-width:850px;margin-inline:auto}
.article-body>p{max-width:67ch;margin:0 auto 22px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}
.article-body>h2,.article-body>h3{max-width:67ch;margin:44px auto 24px;line-height:1.3}
.article-body>h2{font-size:clamp(27px,2.5vw,35px)}.article-body>h3{font-size:clamp(22px,2vw,27px)}
.article-body>.gallery{margin:30px 0 44px}.article-body .gallery img{object-fit:contain}
.article-body>.editorial-image{max-width:780px;margin:32px auto 48px}.editorial-image img{max-height:500px;width:auto;max-width:100%;margin:auto;object-fit:contain}.editorial-image figure{margin:0}
.editorial-image figcaption{max-width:67ch;margin:14px auto 0;font-size:14px}
.article-portfolio .article-body,.article-home .article-body{max-width:none}.article-portfolio .gallery img,.article-home .gallery img{max-height:none}
.article-legal .article-body{max-width:720px}.article-legal p{font-size:16px}
.article-body .media-comparison{margin:32px 0}.article-body .media-comparison img{object-fit:contain}
.brand img{width:var(--logo-width,155px);max-height:80px;height:auto;object-fit:contain}.brand.logo-wordmark span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.brand:not(.logo-wordmark) img{width:75px}
.button{background:var(--brand,var(--accent));border-color:var(--brand,var(--accent));color:var(--button-ink,#fff)}.button.secondary{background:transparent;color:var(--ink)}
.identity-hero .hero-shot img{width:100%;max-height:560px;object-fit:cover}.identity-hero{position:relative;display:block!important;isolation:isolate;padding:70px 40px!important;min-height:520px;margin:25px 0 40px;background:#222;overflow:hidden}
.identity-hero .hero-shot{position:absolute;inset:0;z-index:-2;max-width:none!important}.identity-hero .hero-shot figure{margin:0;height:100%}.identity-hero .hero-shot img{height:100%;max-height:none!important;object-fit:cover;width:100%!important}
.identity-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000c,#0007 55%,#0001);z-index:-1}
.identity-hero .hero-copy{max-width:650px;color:#fff;margin:0!important}.identity-hero .eyebrow{color:#fff}.identity-hero .button.secondary{color:#fff;border-color:#fff8}.identity-hero .lead{max-width:50ch}
body.renovassise .hero h1{font-size:clamp(35px,4.2vw,60px);font-weight:400}body.renovassise .site-header{border-bottom:3px solid var(--brand)}
body.arborem .site-header{background:var(--brand);color:#fff}body.arborem .nav-contact{border-color:#fff9}body.arborem .menu-toggle{color:#fff;border-color:#fff9}body.arborem .desktop-nav.open{color:var(--ink)}
body.calinaud .site-header{background:#251b16;color:white}.calinaud .menu-toggle{color:white;border-color:#fff9}.calinaud .desktop-nav.open{color:var(--ink)}
body.dcma .site-header{background:#f0f5fa}body.sicomefer .hero h1{text-transform:none}
@media(max-width:800px){.brand img{width:var(--logo-mobile-width,130px);max-height:62px}.brand:not(.logo-wordmark) img{width:48px}.identity-hero{padding:38px 24px!important;min-height:560px}.identity-hero:after{background:#0008}.identity-hero .hero-copy{margin:0}.logo-strip{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.logo-strip li{padding:18px;min-height:105px}}
@media(max-width:500px){.article-layout{padding:16px 0 34px}.article-body>h2{margin-top:36px}.identity-hero{padding:30px 20px!important;margin-top:12px}.identity-hero h1{font-size:36px}.logo-strip img{max-height:60px}.logo-strip li{padding:14px}.logo-strip{gap:12px}}

.identity-hero .hero-shot picture{display:block;width:100%;height:100%}.identity-hero .hero-shot img{position:absolute;inset:0;height:100%!important;width:100%!important;object-fit:cover}
.identity-hero .hero-shot{align-self:stretch;height:100%;top:0;bottom:0;margin:0}

/* Keep the zoom affordance attached to the image, not to the reading column. */
.editorial-image .photo-button{width:fit-content;max-width:100%;margin-inline:auto}.editorial-image .photo-button picture{display:block}
