/* Scale, space and a measured rhythm, shared by the two sister companies. */
:root{--display-weight:500;--gutter:clamp(24px,4vw,80px)}
body{overflow-wrap:break-word}
.company-page{max-width:none}
.company-page .family-bar{background:var(--paper);border-bottom:1px solid var(--line);font-size:.875rem;padding-top:12px;padding-bottom:12px}
.company-page .site-header{border:0;padding:26px 0;margin:0 var(--gutter)}
.company-page .site-header nav{gap:clamp(24px,3.5vw,64px)}
.company-page .hero-stage{position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 165px);max-height:1100px;background:#191817;color:var(--sand)}
.company-page .hero-image{position:absolute;inset:0;margin:0;z-index:-1}
.company-page .hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 5%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.7) 100%);pointer-events:none}
.company-page .hero-image>img{height:100%;width:100%;object-fit:cover}
.company-page .hero-copy{position:absolute;left:0;right:0;bottom:100px;padding:0 var(--gutter);z-index:1}
.company-page .hero-copy .eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:24px;max-width:650px}
.company-page .hero-heading{margin:0;align-items:flex-end;gap:36px}
.company-page .hero-heading h1{max-width:1250px;font-size:clamp(3rem,6.3vw,7.8rem);line-height:1.06;letter-spacing:-.06em;font-weight:var(--display-weight);text-wrap:balance}
.company-page .hero-heading h1 span{color:var(--sand)}
.company-page .hero-heading .circle-link{width:58px;height:58px;flex-basis:58px;font-size:1.6rem;margin-bottom:8px}
.company-page .hero-heading .circle-link:hover{background:var(--sand);color:#000}
.company-page .hero-image figcaption{z-index:1;padding:26px var(--gutter);font-size:.8125rem;letter-spacing:.025em;color:var(--sand);background:none}
.company-page .hero-bottom{padding:clamp(72px,9vw,160px) 0;display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:clamp(40px,9vw,160px)}
.company-page .hero-bottom p:first-child{font-size:clamp(2rem,3.8vw,4.5rem);font-weight:var(--display-weight);line-height:1.16;letter-spacing:-.045em}
.company-page .hero-bottom p:last-child{font-size:1.0625rem;max-width:480px;line-height:1.85}
.company-page .section{padding-top:clamp(96px,11vw,180px);padding-bottom:clamp(96px,11vw,180px)}
.company-page .section-head{grid-template-columns:1fr 2fr 1.1fr;gap:36px;margin-bottom:clamp(64px,7vw,110px);align-items:start}
.company-page .section-head h2{font-size:clamp(2.5rem,4.8vw,6rem);font-weight:var(--display-weight);line-height:1.1;letter-spacing:-.055em}
.company-page .section-head>p:last-child{line-height:1.8}
.company-page .eyebrow{font-size:.8125rem;letter-spacing:.08em}
.company-page .discipline-heading{padding-bottom:22px;margin-bottom:40px;gap:32px}
.company-page .discipline-heading h3{font-size:1.125rem}
.company-page .work-nav{margin-bottom:60px;border-top:0;padding-top:0}
.company-page .work-group+.work-group{margin-top:clamp(100px,12vw,190px)}
.company-page .project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(80px,8vw,135px) clamp(28px,4vw,72px)}
.company-page .project{grid-column:span 7;margin:0}
.company-page .project:nth-child(3n+1){grid-column:1/-1}
.company-page .project:nth-child(3n+2){grid-column:span 7}
.company-page .project:nth-child(3n){grid-column:span 5;margin-top:clamp(80px,9vw,160px)}
.company-page .project figure{aspect-ratio:1.2;overflow:hidden}
.company-page .project:nth-child(3n+1) figure{aspect-ratio:1.85}
.company-page .project img{transition:transform 1.25s var(--ease)}
.company-page .project:hover img{transform:scale(1.035)}
.company-page .project-meta{margin-top:24px;font-size:.8125rem;letter-spacing:.06em;line-height:1.6}
.company-page .project h4{font-size:clamp(1.5rem,2.1vw,2.3rem);font-weight:var(--display-weight);margin:8px 0 10px}
.company-page .project-description{max-width:590px;line-height:1.8}
.company-page .project:nth-child(3n+1) .project-description{max-width:650px}
.company-page .marketing-grid .project{grid-column:span 6;margin:0}
.company-page .marketing-grid .project:nth-child(even){margin-top:100px}
.company-page .marketing-grid .project figure{aspect-ratio:4/5}
.company-page .studio-top{grid-template-columns:1fr 3.1fr;gap:60px}
.company-page .studio-content :is(h1,h2){font-size:clamp(3rem,6.2vw,7.5rem);font-weight:var(--display-weight);line-height:1.06;letter-spacing:-.06em}
.company-page .studio-columns{margin-top:65px;gap:clamp(40px,6vw,105px)}
.company-page .studio-intro{font-size:clamp(1.125rem,1.7vw,1.5rem);line-height:1.7}
.company-page .studio-columns>div p{line-height:1.85}
.company-page .studio-principles{margin-top:55px;padding-top:28px}
.company-page .studio-lead{max-width:1000px;margin:90px 0 0 auto;grid-template-columns:220px 1fr;gap:clamp(36px,7vw,100px);padding-top:40px}
.company-page .studio-lead>img{width:220px}
.company-page .expertise-heading :is(h1,h2){font-size:clamp(2.6rem,4.4vw,5.4rem);font-weight:var(--display-weight);line-height:1.12;letter-spacing:-.05em}
.company-page .services article{padding:34px 0}
.company-page .services article:first-child{padding-top:0}
.company-page .services :is(h2,h3){font-size:clamp(1.2rem,1.7vw,1.65rem);font-weight:var(--display-weight)}
.company-page .services p{line-height:1.8}
.company-page .delivery{margin-top:35px;padding-top:35px}
.company-page .contact{background:#080808;color:var(--sand)}
.company-page .contact :is(h1,h2){font-size:clamp(3.5rem,8vw,10rem);font-weight:var(--display-weight);line-height:1.04}
.company-page .contact-heading{margin:50px 0 90px}
.company-page .contact-bottom{border-color:#38352f}
.company-page .contact-bottom p{color:#bdb3a5}
.company-page footer{padding-top:32px;padding-bottom:32px}
[data-reveal].reveal-pending{opacity:0;transform:translate3d(0,28px,0)}
[data-reveal].reveal-visible{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
@media(max-width:1000px){
 .company-page .section-head{grid-template-columns:1fr 2fr}.company-page .section-head>p:last-child{grid-column:2}
 .company-page .studio-top{grid-template-columns:1fr;gap:35px}.company-page .hero-stage{height:75svh;min-height:600px}
 .company-page .hero-heading h1{font-size:clamp(3rem,7.4vw,5.5rem)}
}
@media(max-width:700px){
 .company-page .family-bar{font-size:.8125rem;gap:20px}.company-page .family-bar>a:last-child{max-width:170px}
 .company-page .site-header{gap:20px;padding-top:24px;padding-bottom:24px}.company-page .site-header nav{gap:10px;font-size:.875rem}
 .company-page .hero-stage{height:76svh;min-height:560px;max-height:850px}
 .company-page .hero-copy{bottom:120px}.company-page .hero-copy .eyebrow{font-size:.8125rem;line-height:1.7;letter-spacing:.045em;margin-bottom:24px}
 .company-page .hero-heading h1{font-size:clamp(2.6rem,9vw,4.5rem);line-height:1.1;letter-spacing:-.055em;overflow-wrap:normal}
 .company-page .hero-image figcaption{padding:24px var(--gutter);font-size:.8125rem;gap:4px}
 .company-page .hero-bottom{grid-template-columns:1fr;gap:32px;padding-top:64px;padding-bottom:70px}
 .company-page .hero-bottom p:first-child{font-size:clamp(2rem,7.8vw,3rem)}
 .company-page .section{padding-top:80px;padding-bottom:80px}
 .company-page .section-head{display:block;margin-bottom:52px}.company-page .section-head h2{font-size:clamp(2.5rem,9vw,3.5rem);margin:24px 0}
 .company-page .discipline-heading{gap:12px;margin-bottom:30px}.company-page .work-nav{margin-bottom:36px}
 .company-page .project-grid{grid-template-columns:1fr;gap:64px}
 .company-page .project,.company-page .project:nth-child(n),.company-page .marketing-grid .project:nth-child(n){grid-column:1;margin:0}
 .company-page .project figure,.company-page .project:nth-child(3n+1) figure{aspect-ratio:1.18}
 .company-page .marketing-grid .project figure{aspect-ratio:4/5}
 .company-page .project-meta{margin-top:20px}.company-page .project h4{font-size:1.625rem}
 .company-page .studio-content :is(h1,h2){font-size:clamp(2.7rem,9.8vw,4.2rem)}
 .company-page .studio-columns{margin-top:36px;gap:24px}.company-page .studio-principles{margin-top:36px}
 .company-page .studio-lead{grid-template-columns:130px 1fr;gap:24px;margin-top:60px;padding-top:30px}.company-page .studio-lead>img{width:130px}
 .company-page .expertise-heading :is(h1,h2){font-size:clamp(2.5rem,8vw,3.5rem)}.company-page .delivery{margin-top:5px}
 .company-page .contact :is(h1,h2){font-size:clamp(3rem,10vw,4.5rem)}.company-page .contact-heading{margin:36px 0 54px}
}
@media(max-width:420px){.company-page .studio-lead{grid-template-columns:1fr}.company-page .studio-lead>img{width:160px}}
@media(prefers-reduced-motion:reduce){[data-reveal].reveal-pending,[data-reveal].reveal-visible{opacity:1;transform:none;transition:none}.company-page .project:hover img{transform:none}}

/* ADF's portfolio opens directly on an even, closely spaced image gallery. */
.design-firm .work{padding:38px clamp(20px,1.8vw,36px) 95px}
.design-firm .work .section-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin:0 auto 36px;max-width:760px}
.design-firm .work .section-head h1{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin:0}
.design-firm .work .section-head>p:last-child{max-width:650px;font-size:1rem;line-height:1.65}
.design-firm .work .discipline-heading{margin:0 0 22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:0;align-items:center}
.design-firm .work .discipline-heading h2{font-size:.875rem;font-weight:500;letter-spacing:.035em;text-transform:uppercase;line-height:1.5}
.design-firm .interiors-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:38px 16px;align-items:start}
.design-firm .interiors-grid .project:nth-child(n){grid-column:auto;margin:0}
.design-firm .interiors-grid .project:nth-child(n) figure{position:relative;aspect-ratio:3/4;background:#1b1b19;margin:0;isolation:isolate}
.design-firm .interiors-grid .project img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.design-firm .interiors-grid .project figcaption{position:absolute;inset:auto 0 0;padding:72px 24px 26px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.76));text-align:left;pointer-events:none}
.design-firm .interiors-grid .project h3{font-size:clamp(1.2rem,1.65vw,1.65rem);font-weight:500;line-height:1.2;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 9px}
.design-firm .interiors-grid .project-meta{color:#f0ece5;font-size:.8125rem;font-weight:400;letter-spacing:.02em;line-height:1.5;text-transform:none;margin:0}
.design-firm .interiors-grid .project-description{margin:16px 0 0;font-size:1rem;line-height:1.65;color:var(--muted);max-width:540px}
.design-firm .hero-heading h2{max-width:1250px;font-size:clamp(3rem,6.3vw,7.8rem);line-height:1.06;letter-spacing:-.06em;font-weight:var(--display-weight);text-wrap:balance}
.design-firm .hero-heading h2 span{color:var(--sand)}
@media(min-width:1800px){.design-firm .interiors-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}
@media(max-width:1000px){.design-firm .hero-heading h2{font-size:clamp(3rem,7.4vw,5.5rem)}}
@media(max-width:700px){
 .design-firm .work{padding:28px 20px 64px}
 .design-firm .work .section-head{gap:15px;margin-bottom:28px}
 .design-firm .work .section-head h1{font-size:clamp(2rem,7.5vw,3rem)}
 .design-firm .work .section-head>p:last-child{font-size:1rem}
 .design-firm .work .discipline-heading{gap:10px;padding:16px 0;margin-bottom:18px}
 .design-firm .interiors-grid{grid-template-columns:1fr;gap:34px}
 .design-firm .interiors-grid .project:nth-child(n) figure{aspect-ratio:4/5}
 .design-firm .interiors-grid .project figcaption{padding:64px 22px 24px}
 .design-firm .interiors-grid .project h3{font-size:1.4rem}
 .design-firm .hero-heading h2{font-size:clamp(2.6rem,9vw,4.5rem);line-height:1.1;letter-spacing:-.055em;overflow-wrap:normal}
}

/* Separate company pages share the same navigation and retain their section palette. */
.company-page .site-header nav a[aria-current="page"]::after{transform:scaleX(1)}
.company-page main{min-height:60svh}
:is(.design-studio-page,.marketing-studio-page) .studio,:is(.design-expertise-page,.marketing-expertise-page) .expertise{padding-top:clamp(64px,7vw,110px)}
:is(.design-studio-page,.marketing-studio-page) .studio-content h1 span{color:#756b5f}
:is(.design-studio-page,.marketing-studio-page) .studio-lead .founder-name{font-size:1.6rem;letter-spacing:-.035em;margin:16px 0 4px}
:is(.design-expertise-page,.marketing-expertise-page) .expertise-heading h1{margin:30px 0 26px}
:is(.design-contact-page,.marketing-contact-page) .contact{min-height:calc(100svh - 240px);padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
:is(.design-contact-page,.marketing-contact-page) .contact h1{letter-spacing:-.06em}
:is(.design-contact-page,.marketing-contact-page) .contact h1 span{color:var(--sand)}
@media(max-width:700px){
 :is(.design-expertise-page,.marketing-expertise-page) .expertise-heading h1{margin-top:20px}
 :is(.design-studio-page,.marketing-studio-page) .studio-lead .founder-name{font-size:1.4rem}
 :is(.design-contact-page,.marketing-contact-page) .contact{min-height:60svh}
}
