/* Contact-only layout; keep the shared header and form behaviour intact. */
.contact-page main .landing-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}
.contact-page main section[id] { scroll-margin-top: 88px; }
.contact-page .kontakt-landing-main,
.contact-page .kontakt-landing-faq { padding-block: 48px; }
.contact-page .kontakt-landing-layout { align-items: start; gap: 32px; }
.contact-page .kontakt-landing-layout > * { min-width: 0; }
.contact-page .kontakt-landing-meta__value { overflow-wrap: anywhere; }
.contact-page .hdh-contact-input { box-sizing: border-box; min-height: 48px; font-size: 16px; }
.contact-page .hdh-contact-textarea { resize: vertical; min-height: 140px; }
.contact-page .contact-field-help { margin: 8px 0 16px; color: #526174; font-size: 13px; line-height: 1.5; }
.contact-page .contact-field-help a { color: #176454; text-decoration: underline; }
.contact-page .landing-value-band a { color: #fef08a; text-decoration: underline; text-underline-offset: 3px; }
.contact-page #faq .kontakt-landing-inline-link { color: #176454; text-decoration: underline; }
.contact-page #header-placeholder .header-logo-wordmark { color: #fff !important; }
.contact-page :is(a, button, input, textarea):focus-visible { outline: 3px solid #0f766e; outline-offset: 3px; }
.contact-page .faq-question { min-height: 56px; gap: 12px; }
@media (max-width: 640px) {
  .contact-page .page-hero-landing { padding-block: 36px; }
  .contact-page #kontakt-hero-heading { font-size: 34px; }
  .contact-page .page-hero-landing p:not(.kontakt-landing-hero__eyebrow) { font-size: 17px; line-height: 1.55; margin-bottom: 24px; }
  .contact-page .landing-value-band { padding-block: 24px; }
  .contact-page .landing-value-grid { gap: 12px; }
  .contact-page .landing-value-item { padding: 14px; }
  .contact-page .kontakt-landing-main,
  .contact-page .kontakt-landing-faq { padding-block: 32px; }
  .contact-page .kontakt-landing-layout { display: flex; flex-direction: column; gap: 24px; }
  .contact-page .kontakt-landing-form-panel { order: -1; width: 100%; box-sizing: border-box; padding: 20px; }
  .contact-page .kontakt-landing-aside { width: 100%; }
  .contact-page .hdh-contact-submit { width: 100%; min-height: 48px; }
}

/* Whole-card shortcuts with a consistent, generous touch target. */
.contact-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.contact-shortcuts > li { min-width:0; }
.contact-page .landing-value-band .contact-shortcut { display:flex; flex-direction:column; height:100%; box-sizing:border-box; padding:22px; gap:16px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.035); color:#fff; text-decoration:none; transition:background .18s,border-color .18s; }
.contact-shortcut__icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:rgba(220,235,225,.09); color:#d4e8db; }
.contact-shortcut__icon svg { width:21px; height:21px; }
.contact-shortcut__body { display:grid; gap:6px; }
.contact-shortcut__title { font-size:17px; font-weight:750; line-height:1.3; }
.contact-shortcut__description { color:#cbd5e1; font-size:14px; line-height:1.5; }
.contact-shortcut__cta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,.09); color:#d4e8db; font-size:13px; font-weight:650; }
.contact-shortcut__cta svg { width:17px; height:17px; flex-shrink:0; }
.contact-page .contact-shortcut:focus-visible { outline-color:#d4e8db; }
@media (hover:hover) { .contact-page .landing-value-band .contact-shortcut:hover { background:rgba(255,255,255,.085); border-color:rgba(212,232,219,.4); } }
@media (max-width:900px) { .contact-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media (max-width:480px) { .contact-page .landing-value-band .contact-shortcut { padding:16px; gap:12px; border-radius:14px; } .contact-shortcut__description { font-size:13px; } .contact-shortcut__title { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .contact-page .landing-value-band .contact-shortcut { transition:none; } }
