/* Firm introduction and full-width films for the owner's local review. */
#firm { scroll-margin-top: 2rem; }
.firm-introduction { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.firm-introduction h2 { max-width:17ch; margin-top:1rem; font:400 clamp(3.4rem,5.7vw,6rem)/1.02 var(--serif); letter-spacing:-.025em; }
.firm-introduction-copy { padding-top:.2rem; }
.firm-introduction-copy>p { max-width:57ch; color:var(--silver); font-size:clamp(1rem,1.25vw,1.125rem); line-height:1.75; }
.firm-introduction-copy>p+p { margin-top:1.2rem; }
.firm-introduction-copy>p:first-child { color:#fff; }
.firm-introduction-links { display:flex; flex-wrap:wrap; gap:.5rem 2rem; margin-top:.4rem; }
.firm-introduction-links .text-link { min-height:44px; }
#chicago-story.roots { display:block; }
#chicago-story .roots-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(2rem,6vw,6rem); align-items:start; margin-bottom:2.5rem; }
#chicago-story .roots-copy>.eyebrow { grid-column:1; }
#chicago-story .roots-copy>h2 { grid-column:1; grid-row:2/5; margin-top:1rem; margin-bottom:0; }
#chicago-story .roots-copy>.roots-lede { grid-column:2; grid-row:1/3; max-width:45ch; }
#chicago-story .roots-copy>p:not(.eyebrow):not(.roots-lede) { grid-column:2; margin-top:1rem; }
#chicago-story .roots-copy>.text-link { grid-column:2; justify-self:start; }
#chicago-story.roots .river-film { display:block; width:100%; max-width:none; margin:0; justify-self:stretch; }
#chicago-story .quiet-film-frame { width:100%; aspect-ratio:16/9; background:#000; overflow:hidden; }
#chicago-story #river-film-video { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:contain; border:0; }
#chicago-story .river-film figcaption { margin-top:.85rem; }
#contact.site-footer { background:#080f1c; padding-top:0; }
#contact .contact-layout { position:relative; display:grid; grid-template-columns:1fr; align-items:center; gap:0; aspect-ratio:16/9; min-height:360px; isolation:isolate; overflow:hidden; background:#080f1c; }
#contact .contact-layout>.office-view { position:absolute; inset:0; width:100%; height:100%; margin:0; z-index:0; }
#contact .contact-layout>.office-view:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,12,25,.93) 0%,rgba(5,12,25,.78) 34%,rgba(5,12,25,.26) 69%,rgba(5,12,25,.04) 100%); pointer-events:none; }
#contact .skyline-frame { width:100%; height:100%; aspect-ratio:16/9; border:0; box-shadow:none; }
#contact .contact-heading { position:relative; z-index:1; width:100%; max-width:48rem; padding:clamp(2rem,5vw,5rem); }
#contact .contact-heading>.eyebrow { max-width:32ch; color:#e8edf3; }
#contact .contact-heading h2 { font-size:clamp(4rem,7vw,7rem); }
#contact .contact-email { font-size:clamp(1.45rem,2.6vw,2.7rem); gap:1rem; }
#contact .footer-motion { padding-block:1.2rem; }
#contact .footer-bottom { margin-top:0; }
@media (min-width:801px) and (max-width:1100px) {
  .site-header .site-menu { gap:1.1rem; font-size:.8125rem; }
}
@media (max-width:800px) {
  .firm-introduction { grid-template-columns:1fr; gap:1.6rem; }
  .firm-introduction h2 { max-width:19ch; font-size:clamp(3.3rem,8vw,4.5rem); }
  #chicago-story .roots-copy { grid-template-columns:1fr; gap:0; }
  #chicago-story .roots-copy>* { grid-column:1!important; grid-row:auto!important; }
  #chicago-story .roots-copy>h2 { margin-bottom:1.5rem; }
}
@media (max-width:640px) {
  #contact .contact-layout { aspect-ratio:auto; min-height:0; align-items:start; }
  #contact .contact-layout>.office-view { position:relative; inset:auto; height:auto; aspect-ratio:16/9; grid-row:1; z-index:0; }
  #contact .contact-layout>.office-view:after { background:linear-gradient(180deg,transparent 55%,rgba(8,15,28,.7)); }
  #contact .contact-heading { grid-row:2; padding:1.75rem 1.25rem 2.5rem; }
  #contact .contact-heading h2 { font-size:3.9rem; }
  #contact .contact-email { font-size:clamp(1.15rem,5.9vw,1.45rem); gap:.6rem; }
}
