/* 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}

/* A portfolio groups one work and its details instead of flattening photos into prose. */
.showroom-intro{max-width:72ch;margin:0 0 36px;line-height:1.8}.showroom-intro p{margin:0 0 14px}
.showroom-nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 36px}.showroom-nav a{padding:10px 16px;border:1px solid var(--brand);text-decoration:none;font-size:14px}
.showcase-category{padding:0 0 32px}.showcase-category>h2{font-size:clamp(25px,2.6vw,36px);padding-top:28px;border-top:1px solid #0002;margin:0 0 28px;scroll-margin-top:140px}
.project-showcase{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;padding:28px 0 40px;border-bottom:1px solid #0001;align-items:start}
.showcase-media{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr);gap:16px;align-items:start}.showcase-media:not(:has(.showcase-details)){grid-template-columns:1fr}
.showcase-media figure{margin:0}.showcase-media .photo-button{display:block;width:fit-content;max-width:100%;margin:0 auto}.showcase-media picture{display:block}
.showcase-primary img{display:block;width:auto;max-width:100%;height:auto;max-height:480px;object-fit:contain;margin:auto}
.showcase-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.showcase-details img{display:block;width:auto;max-width:100%;height:auto;max-height:155px;object-fit:contain;margin:auto}
.showcase-media figcaption{font-size:12px;line-height:1.5;margin:8px 0 0;color:#555}
.showcase-copy h3{font-size:clamp(20px,2vw,27px);line-height:1.35;margin:0 0 18px;text-wrap:balance}.showcase-copy p{font-size:16px;line-height:1.8;margin:0 0 16px;max-width:50ch}
.showcase-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.showcase-collection figure{margin:0}.showcase-collection img{display:block;width:100%;height:auto;object-fit:contain}.showcase-collection figcaption{font-size:14px;margin-top:12px}
@media(max-width:800px){.project-showcase{grid-template-columns:1fr;gap:24px;padding:24px 0 32px}.showcase-media{grid-template-columns:1fr}.showcase-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.showcase-primary img{max-height:460px}.showcase-details img{max-height:150px}.showcase-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.showcase-copy h3{text-wrap:initial}.showroom-intro{margin-bottom:24px}}
