/* Homepage only. The existing ATW3 palette, original artwork, shared shell and
   dotted background remain in place; service/blog/legal pages are unaffected. */
.homepage .footer__brand img { width: 154px; height: auto; }
.homepage .tag { font-family: var(--font-body); font-size: .73rem; letter-spacing: .12em; font-weight: 500; }
.homepage .home-section { padding-block: clamp(4.5rem, 7.2vw, 7.5rem); }
.homepage .home-section .section__rule { background: rgba(242, 239, 233, .12); }
.homepage .home-section h2 { font-family: var(--font-display); font-size: clamp(2rem, 3.2vw, 3.35rem); font-weight: 500; line-height: 1.13; letter-spacing: -.035em; text-wrap: balance; }
.homepage .home-section .tag + h2 { margin-top: 1.1rem; }
.homepage .home-hero { min-height: min(790px, 88svh); justify-content: center; padding-top: calc(var(--nav-h) + clamp(4rem, 7vw, 6.5rem)); padding-bottom: clamp(2.5rem, 4vw, 4rem); }
.homepage .home-eyebrow { color: var(--accent-ink); margin-bottom: clamp(2.1rem, 4vw, 3.6rem); }
.home-hero__layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: end; gap: clamp(2.5rem, 5vw, 5rem); }
.homepage .home-hero__title { margin: 0; font-size: clamp(3.15rem, 5.5vw, 5.8rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.06; max-width: 15ch; }
.home-hero__title > span { color: var(--accent-ink); }
.home-hero__copy { max-width: 37rem; padding-bottom: .3rem; }
.home-lead { color: var(--grey-300); font-size: clamp(1.08rem, 1.3vw, 1.28rem); line-height: 1.7; }
.home-person-line { color: var(--paper); margin-top: 1.4rem; font-size: .87rem; }
.home-actions { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: 2rem; align-items: center; }
.homepage .home-actions .btn { font-size: .85rem; }
.home-focus { display: flex; flex-wrap: wrap; gap: .7rem 2.6rem; margin-top: clamp(3rem, 6vw, 5.5rem); padding-top: 1.4rem; border-top: 1px solid var(--rule-strong); font-size: .8rem; color: var(--grey-300); }
.home-focus li { display: flex; align-items: center; gap: .7rem; }
.home-focus li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--accent-ink); }
.home-section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 5rem; align-items: end; margin-bottom: clamp(2.5rem, 4vw, 4rem); }
.home-section-head h2 { max-width: 20ch; }
.home-section-head > p { max-width: 52ch; color: var(--grey-300); font-size: 1rem; line-height: 1.75; }
.homepage #leistungen.home-services { background: var(--graphite-900); }
.home-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--rule-strong); border-bottom: 1px solid var(--rule); }
.home-service { min-width: 0; padding: 2.2rem clamp(1.3rem, 2.4vw, 2.6rem) 2.5rem; }
.home-service:first-child { padding-left: 0; }
.home-service:last-child { padding-right: 0; }
.home-service + .home-service { border-left: 1px solid var(--rule); }
.home-service__number { color: var(--accent-ink); font-size: .72rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; margin-bottom: 1.2rem; }
.home-service h3 { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 1.65vw, 1.85rem); line-height: 1.25; letter-spacing: -.025em; }
.home-service__promise { color: var(--paper); font-size: .96rem; line-height: 1.55; margin-top: 1.2rem; }
.home-service__text { color: var(--grey-400); font-size: .9rem; line-height: 1.75; margin-top: .9rem; }
.home-service ul { display: grid; gap: .5rem; margin-top: 1.7rem; color: var(--grey-300); font-size: .8rem; line-height: 1.55; }
.home-service li { position: relative; padding-left: .95rem; }
.home-service li::before { content: ''; position: absolute; left: 0; top: .7em; width: 4px; height: 1px; background: var(--accent-ink); }
.home-section-link { margin-top: 1.8rem; }
.home-related { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 2.5rem 5rem; margin-top: clamp(4rem, 6.5vw, 6rem); }
.home-related__intro h3 { margin-top: .85rem; max-width: 24ch; font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 1.9rem); font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.home-related__intro > p:last-child { color: var(--grey-400); font-size: .9rem; line-height: 1.75; max-width: 46ch; margin-top: 1.1rem; }
.home-related__link { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.15rem; border-bottom: 1px solid var(--rule); }
.home-related__link:first-child { border-top: 1px solid var(--rule); }
.home-related__link strong { display: block; font-family: var(--font-display); font-size: 1.05rem; font-weight: 500; letter-spacing: -.01em; }
.home-related__link span > span { display: block; color: var(--grey-400); font-size: .82rem; line-height: 1.55; margin-top: .3rem; }
.home-related__link .btn__arrow { width: 13px; height: 13px; flex: none; color: var(--accent-ink); }
.home-related__link:hover strong { color: var(--accent-ink); }
.homepage #arbeitsweise.home-work { background: var(--graphite-800); }
.home-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.home-steps li { border-top: 1px solid var(--rule-strong); padding-top: 1.3rem; }
.home-step__number { font-size: .72rem; color: var(--accent-ink); font-variant-numeric: tabular-nums; }
.home-steps h3 { font: 500 1.3rem/1.25 var(--font-display); letter-spacing: -.025em; margin-top: 1.1rem; }
.home-steps p { color: var(--grey-400); margin-top: .8rem; font-size: .88rem; line-height: 1.75; }
.home-about__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2.5rem 5rem; align-items: start; }
.home-about__role { color: var(--accent-ink); font-size: .95rem; margin-top: 1.3rem; }
.home-about__logo { width: 195px; height: auto; margin-top: 2.1rem; }
.home-about__copy > p { color: var(--grey-300); line-height: 1.8; font-size: 1rem; max-width: 54ch; }
.home-about__copy > p + p { margin-top: 1.2rem; }
.home-about__copy > .btn { margin-top: 1.9rem; }
.home-about__copy > .home-about__note { margin-top: 1.6rem; font-size: .76rem; color: var(--grey-400); }
.homepage #kontakt.home-contact { min-height: 0; background: var(--graphite-900); }
.home-contact__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 5rem; align-items: start; }
.home-contact__layout h2 { max-width: 20ch; }
.home-contact__lead { color: var(--grey-300); max-width: 52ch; font-size: 1rem; line-height: 1.75; margin-bottom: 1.8rem; }
.homepage .contact__meta { margin-top: 3.8rem; }
.homepage .footer__love { font-size: .8rem; }
.homepage .footer__inner { row-gap: 1.2rem; }

@media (max-width: 900px) {
  .home-hero__layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .homepage .home-hero__title { max-width: 18ch; font-size: clamp(3rem, 7.5vw, 4.8rem); }
  .home-hero__copy { max-width: 40rem; }
  .home-section-head, .home-about__layout, .home-contact__layout { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .home-section-head > p { max-width: 60ch; }
  .home-services__grid { grid-template-columns: minmax(0, 1fr); }
  .home-service, .home-service:first-child, .home-service:last-child { padding: 1.8rem 0; }
  .home-service + .home-service { border-left: 0; border-top: 1px solid var(--rule); }
  .home-service__text { max-width: 68ch; }
  .home-service ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .home-related { grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
  .home-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .home-about__logo { margin-top: 1.3rem; width: 162px; }
}
@media (max-width: 540px) {
  .homepage .home-hero { min-height: 0; padding-top: calc(var(--nav-h) + 3.5rem); padding-bottom: 2.5rem; }
  .homepage .home-eyebrow { font-size: .65rem; letter-spacing: .075em; }
  .homepage .home-hero__title { font-size: clamp(2.65rem, 10vw, 3.5rem); letter-spacing: -.04em; line-height: 1.1; }
  .home-lead { font-size: 1.02rem; }
  .home-actions { align-items: flex-start; flex-direction: column; gap: .5rem; margin-top: 1.5rem; }
  .home-focus { gap: .65rem 1.5rem; margin-top: 2.5rem; font-size: .73rem; }
  .homepage .home-section { padding-block: 3.8rem; }
  .home-service ul { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .home-steps { gap: 1.8rem 1.3rem; }
  .home-steps h3 { font-size: 1.12rem; }
  .home-steps p { font-size: .83rem; }
  .homepage .contact__meta { margin-top: 2.7rem; }
}
@media print {
  .homepage .home-hero { min-height: 0; padding-top: 1rem; }
  .homepage .home-section { padding-block: 2rem; }
}
