/* Cohen Lawyers - service template */
body { font-weight: 400; overflow-x: hidden; }
img { height: auto; }
.nav__links { list-style: none; }
.nav__link { transition: opacity var(--d-fast) var(--ease-out); }
.nav__cta:hover { border-color: var(--white); }
.related-services { background: var(--black); color: var(--white); padding: clamp(64px,9vh,104px) 48px; }
.related-services__inner { max-width: 1400px; margin: 0 auto; }
.related-services__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-ui); font-size: 10px; font-weight: 400; letter-spacing: 0.32em; text-transform: uppercase; color: var(--paper-40); margin-bottom: 20px; }
.related-services__headline { font-family: var(--font-ui); font-weight: 700; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 40px; }
.related-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.14); }
.related-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 28px; background: var(--black); font-family: var(--font-ui); font-size: 15px; font-weight: 400; color: var(--paper-60); transition: background var(--d-fast) var(--ease-out), color var(--d-fast) var(--ease-out); }
.related-item:hover, .related-item:focus-visible { background: var(--teal); color: var(--white); }
.related-item__arrow { font-size: 16px; color: var(--paper-20); transition: transform var(--d-fast) var(--ease-out), color var(--d-fast) var(--ease-out); }
.related-item:hover .related-item__arrow, .related-item:focus-visible .related-item__arrow { color: var(--paper-60); transform: translateX(4px); }
.btn--black { background: var(--black); color: var(--white); border-color: var(--black); }
.btn--black:hover { background: transparent; color: var(--black); }
.btn--ghost-light { background: transparent; color: var(--white); border-color: var(--paper-40); }
.btn--ghost-light:hover { border-color: var(--white); }
.inner-hero { position: relative; min-height: 44vh; display: flex; align-items: flex-end; overflow: hidden; background: var(--black); color: var(--white); }
.inner-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.72); will-change: transform; }
.inner-hero__vignette { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 30%, transparent 45%, rgba(0,0,0,0.78) 100%); }
.inner-hero__content { position: relative; z-index: 2; width: 100%; max-width: 960px; padding: 140px 48px 72px; }
.inner-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 400; letter-spacing: 0.38em; text-transform: uppercase; color: var(--paper-40); margin-bottom: 24px; opacity: 0; animation: fadeUp 500ms var(--ease-cinematic) 200ms forwards; }
.inner-hero__headline { font-family: var(--font-ui); font-weight: 700; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.15; letter-spacing: -0.02em; color: var(--white); max-width: 920px; margin-bottom: 20px; opacity: 0; animation: fadeUp 600ms var(--ease-cinematic) 500ms forwards; }
.breadcrumb__list { color: var(--ink-60); }
.inner-hero__headline em { font-family: var(--font-ui); font-weight: 700; font-style: normal; }
.inner-hero__sub { font-weight: 300; font-size: clamp(14px, 1.5vw, 17px); line-height: 1.6; color: var(--paper-60); max-width: 520px; opacity: 0; animation: fadeUp 600ms var(--ease-cinematic) 800ms forwards; }
.team-callout { position: relative; overflow: hidden; background: var(--black); color: var(--white); padding: clamp(80px,14vh,140px) 48px; }
.team-callout__inner { position: relative; z-index: 1; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.team-callout__headline { font-family: var(--font-ui); font-weight: 700; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.18; letter-spacing: -0.02em; margin-bottom: 24px; }
.team-callout__headline em { font-family: var(--font-display); font-weight: 400; font-style: normal !important; }
.team-callout__body { font-weight: 300; font-size: clamp(12px,0.9vw,14px); line-height: 1.7; color: var(--paper-60); margin-bottom: 40px; }
.team-callout__lawyers { display: flex; flex-direction: column; gap: 1px; }
.team-callout__lawyer { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 20px 24px; background: rgba(255,255,255,0.06); transition: background var(--d-fast) var(--ease-out); color: inherit; }
.team-callout__lawyer:hover { background: rgba(255,255,255,0.10); }
.team-callout__lawyer-img { width: 56px; height: 56px; object-fit: cover; object-position: 50% 25%; border-radius: 50%; filter: grayscale(0.2); }
.team-callout__lawyer-name { font-weight: 700; font-size: 15px; letter-spacing: -0.01em; }
.team-callout__lawyer-role { font-weight: 300; font-size: 12px; color: var(--paper-60); margin-top: 2px; }
.cta-section { border-top: 1px solid var(--paper-08); }
.cta__eyebrow { justify-content: center; }
.cta__h2 { line-height: 1.05; }

@media (max-width: 768px) {
  .related-list { grid-template-columns: 1fr; }
  .related-services { padding: 48px 24px; }
}

@media (max-width: 880px) {
  .inner-hero__content { padding: 110px 24px 48px; }
  .team-callout__inner { grid-template-columns: 1fr; gap: 40px; }
  .team-callout { padding: 64px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-delay: 0ms !important; transition-duration: 0.01ms !important; transition-delay: 0ms !important; }
}
