/* Home keeps its content-sized footer after the firm statement. */
.home-page .footer-inner{padding-block:1.5rem}
.home-page .wordmark-footer .wordmark-name{font-size:2.25rem}
.home-page .wordmark-footer .wordmark-sub{font-size:.46875rem;margin-top:.625rem}

/* Preserve the approved first screen independently of the content below it. */
@media(min-width:1280px) and (min-height:760px) and (hover:hover) and (pointer:fine){
  .home-page .home-intro{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
  .home-page .hero{flex:1 0 auto;min-height:max(32rem,60svh)}
  .home-page .practices{flex:none}
}

/* Preserve the existing compact practice spacing on taller desktops. */
@media(min-width:1280px) and (min-height:900px) and (hover:hover) and (pointer:fine){
  .home-page .practice,
  .home-page .practice+.practice{min-height:11.5rem;padding-block:2rem}
}

/* A concise firm statement, aligned with the two practice columns above. */
.home-page .firm-section{border-bottom:1px solid var(--line)}
.home-page .firm-inner{padding-block:clamp(3rem,4vw,4rem)}
.home-page .firm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:1.5rem}
.home-page .firm-heading{padding-right:3rem}
.home-page .firm-heading h2{font-family:var(--serif);font-size:clamp(1.7rem,2.635vw,2.89rem);line-height:1.12;letter-spacing:-.03em;font-optical-sizing:auto}
.home-page .firm-principles{margin-top:1.75rem;font-size:.6875rem;line-height:1.9;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-wrap:balance}
.home-page .firm-copy{border-left:1px solid var(--line);padding-left:3rem;color:var(--muted)}
.home-page .firm-copy p{max-width:30rem;font-size:1rem;line-height:1.7}
.home-page .firm-copy p+p{margin-top:1rem}
@media(max-width:1100px){
  .home-page .firm-heading{padding-right:2rem}
  .home-page .firm-copy{padding-left:2rem}
}
@media(max-width:760px){
  .home-page .firm-inner{padding-block:2.75rem}
  .home-page .firm-grid{grid-template-columns:1fr;gap:1.75rem}
  .home-page .firm-heading{padding-right:0}
  .home-page .firm-heading h2{font-size:clamp(1.53rem,5.44vw,2.3375rem)}
  .home-page .firm-principles{max-width:30rem;margin-top:1.25rem;text-wrap:pretty}
  .home-page .firm-copy{border-left:0;padding-left:0}
}
@media(max-width:380px){
  .home-page .firm-heading h2{font-size:1.4875rem}
}

/* A floor-only continuation of the hero, fading into the existing footer. */
.home-page .architectural-close{position:relative;height:clamp(7.5rem,9vw,8.75rem);overflow:hidden;background:var(--background);pointer-events:none}
.home-page .architectural-close img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;opacity:.48}
.home-page .architectural-close::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,9,0) calc(100% - 30px),var(--black) 100%),linear-gradient(270deg,rgba(9,9,9,.18) 0%,rgba(9,9,9,.18) 18%,rgba(9,9,9,0) 38%),linear-gradient(180deg,var(--background) 0%,rgba(13,13,12,.35) 18%,rgba(9,9,9,.08) 42%,rgba(9,9,9,.55) 78%,var(--black) 100%)}
@media(max-width:1100px){
  .home-page .architectural-close{height:clamp(6rem,12vw,7.5rem)}
}
@media(max-width:550px){
  .home-page .architectural-close{height:clamp(4.5rem,20vw,6rem)}
}
