/* Scoped additions using the site's existing colors, fonts and components. */
.kanzlei-skip { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 12px 18px; color: #111820; background: #fff; transform: translateY(-150%); }
.kanzlei-skip:focus { transform: none; }
.kanzlei-hero { padding-top: 150px; }
.kanzlei-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 48px; align-items: center; }
.kanzlei-hero h1 { font-size: clamp(2rem, 3.3vw, 3.3rem); line-height: 1.12; }
.kanzlei-hero-note { margin-top: 24px; color: var(--muted); font-size: .9rem; }
.kanzlei-hero-image, .kanzlei-project-image { margin: 0; overflow: hidden; background: #fff; border-radius: 16px; border: 1px solid var(--line); }
.kanzlei-hero-image img, .kanzlei-project-image img { display: block; width: 100%; height: auto; }
.kanzlei-hero-image figcaption, .kanzlei-project-image figcaption { padding: 16px 20px; color: #44515c; font-size: .85rem; }
.kanzlei-hero-image figcaption a { text-decoration: underline; }
.kanzlei-page .detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kanzlei-logo { object-fit: contain !important; background: #fff !important; }
.kanzlei-project-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: center; }
.kanzlei-project-layout p { color: var(--muted); }
.kanzlei-project-facts .service-card { min-height: 0; }
.kanzlei-project-facts .service-card p { color: #44515c; }
.kanzlei-project-facts .service-card { color: var(--dark-text); background: #fff; }
@media (max-width: 900px) {
  .kanzlei-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .kanzlei-hero-image { max-width: 700px; }
  .kanzlei-page .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kanzlei-page .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .kanzlei-page .detail-grid, .kanzlei-page .process-list, .kanzlei-project-layout { grid-template-columns: 1fr; }
}
