/* Client revisions 2.1.0 — typography, navigation and the table collection. */
.header-inner{height:98px;gap:26px}
.brand-mark{width:46px;height:46px;font-size:29px}
.brand-type{font-size:15px;line-height:1.2;letter-spacing:.14em}
.nav-list a{font-size:14px;letter-spacing:.045em;line-height:1.4}
.nav-list{gap:clamp(16px,1.65vw,28px)}
.header-cta{font-size:12px;letter-spacing:.06em;padding:13px 16px;white-space:nowrap}
.custom-brand .custom-logo-link{display:block;max-width:190px}
.custom-brand .custom-logo{width:auto;max-width:190px;height:54px;object-fit:contain}
.page-hero h1,.page-hero-copy h1,.page-hero.compact h1,.project-hero h1,.contact-hero h1{font-size:clamp(36px,4.5vw,76px);line-height:1.1;letter-spacing:-.035em;overflow-wrap:break-word}
.page-hero-copy h1{max-width:1050px}
.page-hero-copy{padding:150px var(--pad) 80px}
.page-hero.compact{padding-top:190px;gap:48px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.page-hero.compact>div{min-width:0}
.image-hero{min-height:580px;height:78svh}
.service-intro h2,.about-lead h2,.section-head h2,.table-focus h2{font-size:clamp(34px,4.5vw,72px);line-height:1.08;letter-spacing:-.035em}
.category-hero .hero-shade{background:linear-gradient(90deg,rgba(10,10,9,.76),rgba(10,10,9,.38) 65%,rgba(10,10,9,.28))}
.category-hero .page-hero-media img{object-position:center 45%}
.category-description{max-width:490px;margin:28px 0 0;line-height:1.65;font-size:16px}
.archive-back{margin-bottom:34px}
.archive-grid{align-items:start}
.archive-media,.archive-card.wide .archive-media{height:auto;aspect-ratio:4/3;background:#f8f7f4}
.archive-media .client-photo,.v2-mosaic-card .client-photo,.service-row-image .client-photo{object-fit:contain}
.archive-meta h2{font-size:clamp(25px,2.3vw,36px);line-height:1.15}
.pagination{margin-top:48px}
.pagination .nav-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 12px;border:1px solid var(--line)}
.pagination .current{background:var(--ink);color:white}
.v21-tables-hero,.v21-table-hero{background:#242729;color:white}
.v21-tables-hero .v2-hero-media,.v21-table-hero .page-hero-media{left:35%;transform:none}
.v21-tables-hero .v2-hero-media img,.v21-table-hero .page-hero-media img{object-fit:contain;filter:none;object-position:center}
.v21-tables-hero .v2-hero-overlay,.v21-table-hero .hero-shade{background:linear-gradient(90deg,#242729 0%,rgba(36,39,41,.97) 24%,rgba(36,39,41,.55) 47%,transparent 73%)}
.v21-tables-hero .v2-hero-content{padding-top:156px;width:min(1400px,calc(100% - 96px))}
.v21-tables-hero h1{font-size:clamp(40px,5.3vw,80px);line-height:1.04;letter-spacing:-.035em;max-width:800px;margin:30px 0 44px}
.v21-tables-hero .v2-hero-orbit{display:none}
.v21-tables-hero .v2-hero-bottom p{line-height:1.65}
.v21-table-hero .page-hero-copy h1{max-width:950px}
.table-focus{padding-top:100px;padding-bottom:100px}
.table-focus .section-head{margin-bottom:52px}
.table-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.table-focus-card{display:block;min-width:0}
.table-focus-card figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:#fff}
.table-focus-card figure img{object-fit:contain;transition:transform .5s}
.table-focus-card:hover figure img{transform:scale(1.025)}
.table-focus-card>div{padding:28px 0;border-bottom:1px solid var(--line)}
.table-focus-card .eyebrow{display:block;margin:0 0 18px}
.table-focus-card h3{font-size:clamp(33px,3.3vw,52px);line-height:1.08;letter-spacing:-.025em;margin:0}
.table-focus-card h3 em{font-family:var(--serif);font-weight:400}
.table-focus-card p{max-width:420px;line-height:1.65;margin:20px 0 24px}
.table-focus-all{margin-top:36px}
.service-row{grid-template-columns:45px 170px minmax(0,1fr) minmax(0,1fr)}
.service-row h3{font-size:clamp(24px,2.45vw,38px);line-height:1.15}
.service-row h3 span{white-space:nowrap;font-size:.65em}
.client-project .project-hero{height:auto;min-height:80svh;background:#242729;display:flex;align-items:end}
.client-project .project-hero-media{left:38%;bottom:0}
.client-project .project-hero-media img{object-fit:contain}
.client-project .project-hero-overlay{background:linear-gradient(90deg,#242729 0%,rgba(36,39,41,.93) 24%,rgba(36,39,41,.15) 72%)}
.client-project .project-hero-content{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:190px var(--pad) 90px}
.client-project .project-hero h1{max-width:700px}
.client-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}
.client-gallery-grid figure{margin:0;min-width:0}
.client-gallery-grid img{width:100%;height:auto;max-height:720px;object-fit:contain;background:#fff}
.client-gallery-grid figcaption{padding-top:14px;font-size:13px;line-height:1.5;color:#55524c}
.client-gallery-grid figure:first-child{grid-column:1/-1}
.mobile-menu{overflow-y:auto;gap:32px}
@media(min-width:1101px) and (max-width:1250px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}}
@media(max-width:1100px){
 .header-inner{gap:18px}.page-hero.compact{grid-template-columns:1fr;gap:30px}.page-hero-copy{padding-top:150px}
 .service-row{grid-template-columns:40px 150px minmax(0,1fr)}.service-row p{grid-column:3}
 .table-focus-grid{gap:24px}.table-focus .section-head.split{grid-template-columns:1fr;gap:24px}
 .v21-tables-hero .v2-hero-bottom{grid-template-columns:1fr;gap:25px}.v21-tables-hero .v2-hero-bottom .hero-actions{justify-self:start}
 .v21-tables-hero .v2-hero-content{width:calc(100% - 64px)}
}
@media(max-width:720px){
 .header-inner{height:82px}.brand-mark{width:42px;height:42px;font-size:27px}.brand-type{font-size:14px}
 .custom-brand .custom-logo{max-width:160px;height:46px}
 .page-hero h1,.page-hero-copy h1,.page-hero.compact h1,.project-hero h1,.contact-hero h1{font-size:clamp(30px,7.7vw,49px);line-height:1.16;letter-spacing:-.025em}
 .page-hero-copy{padding:134px var(--pad) 48px}.page-hero.compact{padding-top:144px;padding-bottom:70px}
 .image-hero{height:auto;min-height:68svh}.category-description{font-size:15px;max-width:32em}
 .v21-table-hero,.client-project .project-hero{min-height:700px;display:flex;align-items:start}
 .v21-table-hero .page-hero-media,.client-project .project-hero-media{left:0;top:44%;bottom:0}
 .v21-table-hero .hero-shade,.client-project .project-hero-overlay{background:linear-gradient(180deg,#242729 0%,rgba(36,39,41,.94) 36%,rgba(36,39,41,.12) 66%,transparent)}
 .v21-table-hero .page-hero-copy{margin:0}
 .client-project .project-hero-content{padding:140px var(--pad) 40px}
 .v21-tables-hero{min-height:890px}
 .v21-tables-hero .v2-hero-media{left:0;top:260px;bottom:210px}
 .v21-tables-hero .v2-hero-overlay{background:linear-gradient(180deg,#242729 0%,rgba(36,39,41,.9) 25%,transparent 45%,rgba(36,39,41,.3) 63%,#242729 82%)}
 .v21-tables-hero .v2-hero-content{width:calc(100% - 40px);padding:126px 0 34px;min-height:890px;display:flex;flex-direction:column}
 .v21-tables-hero h1{font-size:clamp(36px,9vw,54px);line-height:1.08;margin:0 0 36px}
 .v21-tables-hero .v2-hero-bottom{margin-top:auto;display:block}
 .v21-tables-hero .v2-hero-bottom .hero-actions{margin-top:20px;gap:18px}
 .v21-tables-hero .eyebrow{font-size:9px;margin-bottom:22px}
 .table-focus{padding-top:70px;padding-bottom:70px}.table-focus-grid{grid-template-columns:1fr;gap:42px}
 .table-focus .section-head{margin-bottom:34px}.table-focus-card>div{padding-top:24px}
 .table-focus-card h3{font-size:38px}.table-focus-card figure{aspect-ratio:3/2}
 .service-row{grid-template-columns:28px 95px minmax(0,1fr);gap:14px}.service-row h3{font-size:23px}
 .service-row p{grid-column:1/-1;padding-left:42px}.service-row-image{height:100px}
 .client-gallery-grid{grid-template-columns:1fr;gap:30px}.client-gallery-grid figure:first-child{grid-column:auto}
 .project-meta{display:flex;flex-wrap:wrap}.project-meta>div{flex:1 1 140px}
 .project-story{grid-template-columns:1fr}.rich-text{font-size:26px}
 .archive-media,.archive-card.wide .archive-media{height:auto;max-height:none;aspect-ratio:4/3}
 .mobile-menu nav a{font-size:clamp(27px,7.3vw,42px);line-height:1.2;padding:10px 0}
}
@media(prefers-reduced-motion:reduce){.table-focus-card figure img{transition:none}}
/* Keep navigation legible above the light backgrounds in product photographs. */
.single-project .site-header:not(.scrolled){background:rgba(27,29,30,.96)}
.client-project .project-hero-media{top:98px}
.client-project .project-hero-overlay{background:linear-gradient(90deg,#242729 0%,rgba(36,39,41,.97) 28%,rgba(36,39,41,.65) 50%,rgba(36,39,41,.06) 74%)}
@media(max-width:720px){.client-project .project-hero-media{top:44%}.client-project .project-hero-overlay{background:linear-gradient(180deg,#242729 0%,rgba(36,39,41,.94) 36%,rgba(36,39,41,.12) 66%,transparent)}}
.v2-statement h2,.v2-contact-cta h2,.v2-custom-copy h2,.v2-process h2{line-height:1.08}
@media(max-width:720px){
 .v2-statement h2,.v2-contact-cta h2,.v2-custom-copy h2,.footer-statement h2{font-size:clamp(30px,7.9vw,54px);line-height:1.12;letter-spacing:-.03em}
 .v2-custom-copy{min-width:0}
}
@media(max-width:480px){
 .service-row{grid-template-columns:28px minmax(0,1fr)}
 .service-row-image{grid-column:2;height:155px}
 .service-row h3,.service-row p{grid-column:2;padding-left:0}
}
