/* Direktkontakt-Seite – kompakte Standortdarstellung nach Referenzstil. */
.direct-contact-page{background:#fff}
.direct-contact-intro{padding:clamp(96px,12vw,150px) 24px clamp(50px,6vw,76px);background:linear-gradient(180deg,#f7fafc 0%,#fff 100%);border-bottom:1px solid rgba(23,26,31,.08)}
.direct-contact-intro-inner,.direct-offices{width:min(1120px,100%);margin:0 auto}
.direct-contact-intro h1{font-size:clamp(2.45rem,5.6vw,5rem);line-height:1.02;letter-spacing:-.045em;max-width:850px;margin:.35rem 0 1.1rem;color:#171a1f}
.direct-contact-intro p{max-width:760px;font-size:clamp(1.06rem,1.5vw,1.28rem);line-height:1.65;color:#626a73;margin:0}
.direct-contact-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:30px}
.direct-contact-actions .direct-phone{font-weight:700;text-decoration:none;color:#171a1f;padding:13px 4px}
.direct-offices{padding:clamp(52px,7vw,82px) 24px}
.direct-section-heading{max-width:760px;margin-bottom:24px}
.direct-section-heading h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.035em;margin:.35rem 0 .65rem;color:#171a1f}
.direct-section-heading p{color:#626a73;font-size:1.05rem;line-height:1.55;margin:0}
.direct-office-list{display:grid;grid-template-columns:1fr;gap:12px}
.direct-office-card{padding:22px 24px 20px;border:1px solid rgba(23,26,31,.10);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(24,39,56,.045)}
.direct-office-card h3{font-size:clamp(1.72rem,2.7vw,2.18rem);line-height:1.05;margin:0 0 10px;color:#171a1f;letter-spacing:-.025em}
.direct-office-card address{font-style:normal;font-weight:500;font-size:1rem;line-height:1.35;color:#171a1f;margin:0 0 10px;white-space:nowrap}
.office-subtitle{margin:0 0 14px;color:#626a73;font-size:.97rem;line-height:1.35;font-weight:650}
.transport{border-top:0;padding-top:0}
.transport>strong{display:block;font-size:.94rem;line-height:1.2;color:#171a1f;margin:0 0 8px;font-weight:750;letter-spacing:0;text-transform:none}
.transport-rows{display:grid;gap:6px}
.transport-row{display:grid;grid-template-columns:minmax(128px,180px) 1fr;align-items:center;column-gap:14px;min-height:36px;padding:7px 12px;border:1px solid rgba(23,26,31,.085);border-radius:12px;background:#fbfcfd;color:#171a1f}
.transport-row b{font-size:.9rem;line-height:1.2;font-weight:750}
.transport-row span{font-size:.9rem;line-height:1.25;color:#30353b;overflow-wrap:anywhere}
.main-nav a[aria-current="page"]{font-weight:700}
@media (max-width:720px){
  .direct-contact-intro{padding-left:18px;padding-right:18px}
  .direct-offices{padding-left:18px;padding-right:18px}
  .direct-office-card{padding:19px 18px 18px;border-radius:18px}
  .transport-row{grid-template-columns:minmax(104px,35%) 1fr;column-gap:10px;padding:7px 10px}
  .transport-row b,.transport-row span{font-size:.86rem}
}
@media (max-width:430px){
  .direct-contact-actions{align-items:flex-start;flex-direction:column;gap:5px}
  .direct-office-list{gap:10px}
  .direct-office-card{padding:17px 15px 16px}
  .direct-office-card h3{margin-bottom:8px}
  .direct-office-card address{font-size:.9rem;margin-bottom:8px}
  .office-subtitle{font-size:.9rem;margin-bottom:12px}
  .transport>strong{font-size:.9rem;margin-bottom:7px}
  .transport-rows{gap:5px}
  .transport-row{grid-template-columns:108px 1fr;min-height:34px;padding:6px 9px;border-radius:10px;column-gap:8px}
  .transport-row b,.transport-row span{font-size:.82rem;line-height:1.2}
}

/* 08.08.2026 – Verkehrsangaben ohne Unterkarten; Desktop-Überschriften möglichst einzeilig */
@media (min-width: 721px){
  .direct-contact-intro h1{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(2.7rem,4.65vw,4.25rem);
  }
  .direct-section-heading{
    max-width:none;
  }
  .direct-section-heading h2{
    white-space:nowrap;
    font-size:clamp(2.2rem,3.45vw,3.15rem);
  }
}
.transport-rows{
  gap:0;
}
.transport-row{
  min-height:0;
  padding:6px 0;
  border:0;
  border-radius:0;
  background:transparent;
  align-items:baseline;
}
.transport-row + .transport-row{
  border-top:1px solid rgba(23,26,31,.075);
}
.transport-row b{
  color:#171a1f;
}
.transport-row span{
  color:#4f565e;
}
@media (max-width:720px){
  .direct-contact-intro h1,
  .direct-section-heading h2{
    white-space:normal;
  }
  .transport-row{
    padding:6px 0;
  }
}
@media (max-width:430px){
  .transport-row{
    padding:5px 0;
    border-radius:0;
  }
}
