.project-inquiry {
  padding-block: clamp(56px, 5vw, 88px);
  background: #fff url('/assets/backgrounds/switchgear-tech.svg') center top / cover no-repeat;
  color: var(--color-ink);
  scroll-margin-top: -24px;
}
#kontakt.project-inquiry { scroll-margin-top: -24px; }
.project-inquiry-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 64px; margin-bottom: 42px; }
.project-inquiry-heading .eyebrow { margin: 0 0 22px; }
.project-inquiry-heading h2 { margin: 0; font-size: clamp(2.3rem, 3.7vw, 4rem); line-height: 1.04; letter-spacing: -.035em; }
.project-inquiry-heading h2 span { color: var(--color-red); }
.project-inquiry-heading > p { max-width: 460px; margin: 0 0 4px; color: var(--color-muted); font-size: 1.03rem; line-height: 1.75; }
.project-contact-layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: stretch; gap: clamp(32px, 4vw, 64px); }
.project-contacts { display: grid; grid-template-columns: 1fr; gap: 16px; }
.project-contact { display: grid; grid-template-columns: 145px minmax(0,1fr); min-height: 190px; background: #fff; border: 1px solid #dce2e5; border-radius: 6px; overflow: hidden; box-shadow: 0 10px 28px rgba(22,34,40,.045); }
.project-contact-photo { position: relative; background: #edf1f3; }
.project-contact-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.project-contact-photo > span { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; font-size: .62rem; text-transform: uppercase; letter-spacing: .16em; color: #677780; }
.project-contact-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; padding: 18px 24px; }
.project-contact-copy > p { margin: 0 0 6px; color: #6a7479; font-size: .66rem; font-weight: 750; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.project-contact-copy h3 { margin: 0; font-size: clamp(1.35rem, 1.6vw, 1.65rem); line-height: 1.15; letter-spacing: -.025em; }
.project-contact-details { display: grid; gap: 4px; margin-top: 12px; font-size: .86rem; line-height: 1.5; }
.project-contact-details a { color: var(--color-muted); overflow-wrap: anywhere; }
.project-contact-details a:hover { color: var(--color-red); }
.project-contact-link { display: inline-flex; align-items: center; gap: 12px; padding: 4px 0; margin-top: 8px; border: 0; background: none; color: var(--color-red); font-size: .78rem; font-weight: 750; text-align: left; cursor: pointer; }
.project-contact-link > span[aria-hidden] { font-size: 1.2rem; transition: transform 180ms ease; }
.project-contact-link:hover > span[aria-hidden] { transform: translateX(4px); }
.project-contact-direct { display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 28px 36px; background: rgba(255,255,255,.8); border: 1px solid #dce2e5; border-radius: 6px; }
.project-contact-direct h3 { margin: 0 0 20px; font-size: 1.4rem; letter-spacing: -.02em; }
.project-contact-direct > a, .project-contact-direct > div { padding: 18px 0; border-top: 1px solid #e2e7ea; }
.project-contact-direct span, .project-contact-direct strong { display: block; }
.project-contact-direct span { margin-bottom: 8px; color: #6a7479; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.project-contact-direct strong { font-size: 1.08rem; font-weight: 650; line-height: 1.5; }
.project-contact-direct i { margin-left: 12px; color: var(--color-red); font-style: normal; }
.project-contact-direct a:hover strong { color: var(--color-red); }
.project-callback { margin-top: 32px; border: 1px solid #d6dee2; border-left: 4px solid var(--color-red); border-radius: 5px; background: #fff; scroll-margin-top: calc(var(--header-height) + 20px); }
.project-callback > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 32px; list-style: none; cursor: pointer; }
.project-callback > summary::-webkit-details-marker { display: none; }
.project-callback > summary small { display: block; margin-bottom: 6px; color: var(--color-red); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.project-callback > summary strong { display: block; font-size: clamp(1.4rem, 2vw, 1.85rem); line-height: 1.25; }
.project-callback-toggle { display: grid; place-items: center; flex: 0 0 46px; height: 46px; color: #fff; background: var(--color-red); border-radius: 4px; font-size: 1.8rem; font-weight: 400; transition: transform 180ms ease; }
.project-callback[open] .project-callback-toggle { transform: rotate(45deg); }
.project-callback-content { padding: 0 32px 32px; }
.project-form-intro { margin: 0 0 28px; padding-top: 24px; border-top: 1px solid #e1e6e9; color: var(--color-muted); line-height: 1.7; }
.project-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.project-form-field { min-width: 0; }
.project-form-field--full { grid-column: 1 / -1; }
.project-form label, .project-form-preview > label { display: block; margin-bottom: 8px; font-size: .86rem; font-weight: 700; }
.project-form label > span { color: var(--color-red); }
.project-form input, .project-form select, .project-form textarea { display: block; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #cbd4d9; border-radius: 4px; background: #fafbfc; color: var(--color-ink); font: inherit; line-height: 1.5; }
.project-form textarea { resize: vertical; }
.project-form input:focus, .project-form select:focus, .project-form textarea:focus { border-color: var(--color-red); background: #fff; }
.project-form textarea::placeholder { color: #76838a; opacity: 1; }
.project-form-bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 28px; }
.project-form-bottom > p { max-width: 620px; margin: 0; font-size: .78rem; line-height: 1.65; color: var(--color-muted); }
.project-form-bottom > p a { text-decoration: underline; text-underline-offset: 3px; }
.project-form-bottom .btn { flex: 0 0 auto; }
.project-form-note { margin: 20px 0 0; color: var(--color-muted); font-size: .8rem; line-height: 1.6; }
.project-form-status { margin: 16px 0 0; font-size: .9rem; line-height: 1.6; }
.project-form-status:empty { display: none; }
.project-form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.project-form [type="submit"]:disabled { opacity: .65; cursor: wait; }
html:not(.js) .project-form [type="submit"] { display: none; }
.project-form-preview { margin-top: 20px; padding: 24px; background: #f0f3f5; border-radius: 4px; }
.project-form-preview .btn { margin-top: 20px; }
@media (max-width: 1000px) {
  .project-inquiry-heading { gap: 36px; }
  .project-contact { grid-template-columns: 100px minmax(0,1fr); }
  .project-contact-copy { padding: 16px; }
  .project-contact-copy h3 { font-size: 1.4rem; }
  .project-contact-link { gap: 8px; }
  .project-contact-direct { padding: 24px; }
}
@media (max-width: 760px) {
  .project-inquiry-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .project-inquiry-heading > p { max-width: 560px; }
  .project-contact-layout { grid-template-columns: 1fr; gap: 24px; }
  .project-contact { grid-template-columns: 30% minmax(0,1fr); min-height: 180px; }
  .project-form-grid { grid-template-columns: 1fr; gap: 20px; }
  .project-form-bottom { align-items: stretch; flex-direction: column; gap: 20px; }
  .project-callback > summary { padding: 22px; gap: 16px; }
  .project-callback-content { padding: 0 22px 24px; }
}
@media (max-width: 420px) {
  .project-contact-copy { padding: 14px; }
  .project-contact-copy h3 { font-size: 1.3rem; }
  .project-contact-copy > p { font-size: .63rem; }
  .project-contact-link { font-size: .76rem; gap: 6px; }
  .project-contact-details { font-size: .78rem; }
  .project-callback > summary { padding: 20px 16px; }
  .project-callback > summary strong { font-size: 1.2rem; }
  .project-callback-toggle { flex-basis: 38px; height: 38px; }
  .project-callback-content { padding-inline: 16px; }
  .project-form-preview { padding: 16px; }
  .project-form-preview .btn { width: 100%; padding-inline: 12px; font-size: .8rem; }
}
@media (min-width: 1041px) and (min-height: 650px) {
  .project-inquiry { padding-block: clamp(18px, 2.8vh, 34px); min-height: calc(100svh - var(--header-height)); }
  .project-inquiry:not(:has(.project-callback[open])) { height: calc(100svh - var(--header-height)); }
  .project-inquiry > .container { height: 100%; display: flex; flex-direction: column; justify-content: center; gap: clamp(14px, 1.8vh, 20px); }
  .project-inquiry-heading { margin-bottom: 0; flex-shrink: 0; }
  .project-inquiry-heading .eyebrow { margin-bottom: 10px; }
  .project-inquiry-heading h2 { font-size: clamp(2rem, 5.2vh, 3.5rem); }
  .project-inquiry-heading > p { font-size: .95rem; line-height: 1.6; }
  .project-contact-layout { min-height: 0; flex: 0 1 450px; width: 100%; max-height: 450px; }
  .project-contacts { min-height: 0; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .project-contact { min-height: 0; grid-template-columns: clamp(92px, 12vh, 125px) minmax(0, 1fr); }
  .project-contact-photo { min-height: 0; }
  .project-contact-photo img { position: absolute; inset: 0; }
  .project-contact-copy { padding: 8px 16px; }
  .project-contact-copy > p { margin-bottom: 4px; }
  .project-contact-copy h3 { font-size: clamp(1.25rem, 2.6vh, 1.6rem); }
  .project-contact-details { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 5px; font-size: .82rem; line-height: 1.45; }
  .project-contact-link { margin-top: 4px; padding-block: 2px; }
  .project-contact-direct { padding: 18px 32px; }
  .project-contact-direct h3 { margin-bottom: 12px; }
  .project-contact-direct > a, .project-contact-direct > div { padding-block: clamp(9px, 1.7vh, 16px); }
  .project-callback { margin-top: 0; flex-shrink: 0; }
  .project-callback > summary { padding: 14px 28px; }
  .project-callback > summary strong { font-size: clamp(1.25rem, 2.7vh, 1.65rem); }
  .project-inquiry:has(.project-callback[open]) > .container { height: auto; }
  .project-inquiry:has(.project-callback[open]) .project-contact-layout { flex: none; height: 450px; }
}
@media (min-width: 1041px) and (min-height: 650px) and (max-height: 700px) {
  .project-contact { grid-template-columns: 82px minmax(0, 1fr); }
  .project-contact-copy { padding: 5px 12px; }
  .project-contact-copy > p { font-size: .56rem; margin-bottom: 2px; }
  .project-contact-copy h3 { font-size: 1.15rem; }
  .project-contact-details { font-size: .72rem; gap: 2px 10px; margin-top: 3px; }
  .project-contact-link { font-size: .72rem; line-height: 1.2; padding-block: 0; margin-top: 3px; }
  .project-contact-link > span[aria-hidden] { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .project-contact-link > span[aria-hidden], .project-callback-toggle { transition: none; } }
