/** Contact presentation only; processing is owned by technekaizen-core. */
.tk-contact {
  background: var(--tk-color-background);
  color: var(--tk-color-text-primary);
  min-height: 70vh;
}

.tk-contact__intro {
  display: grid;
  min-height: clamp(36rem, 78vh, 52rem);
  align-items: center;
  background:
    radial-gradient(circle at 82% 18%, rgba(159, 201, 223, 0.55), transparent 30rem),
    var(--tk-color-background);
}

.tk-contact__intro-inner { padding-block: var(--tk-space-96); }
.tk-contact__eyebrow {
  margin: 0 0 var(--tk-space-16);
  color: var(--tk-color-brand-secondary);
  font-size: var(--tk-font-size-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.tk-contact__intro h1 {
  max-width: 11ch;
  margin: 0 0 var(--tk-space-32);
  font-size: var(--tk-font-size-display);
  line-height: 0.92;
  text-transform: lowercase;
}
.tk-contact__start { min-width: 10rem; }

.tk-contact__workspace {
  padding-block: var(--tk-space-64) var(--tk-space-96);
}
.tk-contact__progress { margin: 0 auto var(--tk-space-48); max-width: var(--tk-container-narrow); }
.tk-contact__progress ol {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--tk-space-8);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tk-contact__progress li {
  display: grid;
  min-height: 2.75rem;
  place-items: center;
  border: 1px solid var(--tk-color-border-strong);
  border-radius: var(--tk-radius-pill);
  color: var(--tk-color-text-secondary);
  font-weight: 700;
}
.tk-contact__progress li[aria-current="step"] {
  background: var(--tk-color-brand-primary);
  color: var(--tk-color-text-inverse);
}
.tk-contact:not(.is-form-active) .tk-contact__progress { display: none; }
.tk-contact--enhanced [data-contact-step][hidden] { display: none; }

.tk-contact__form,
.tk-contact__success,
.tk-contact__unavailable {
  max-width: var(--tk-container-narrow);
  margin-inline: auto;
}
.tk-contact__step {
  margin-bottom: var(--tk-space-48);
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid var(--tk-color-border);
  border-radius: var(--tk-radius-large);
  background: var(--tk-color-surface-raised);
  box-shadow: var(--tk-shadow-soft);
}
.tk-contact__step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tk-space-16);
  margin-bottom: var(--tk-space-32);
  color: var(--tk-color-text-secondary);
}
.tk-contact__back {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.tk-contact__step h2 {
  max-width: 15ch;
  margin: 0 0 var(--tk-space-48);
  font-size: var(--tk-font-size-h2);
}
.tk-contact__step h2:focus { outline: none; }
.tk-contact__fields { display: grid; gap: var(--tk-space-32); }
.tk-contact__field { display: grid; gap: var(--tk-space-8); }
.tk-contact__field label { font-weight: 700; }
.tk-contact__field input,
.tk-contact__field textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0;
  border: 0;
  border-bottom: 2px solid var(--tk-color-border-strong);
  border-radius: 0;
  background: transparent;
  color: var(--tk-color-text-primary);
  font: inherit;
}
.tk-contact__field textarea { min-height: 8rem; resize: vertical; }
.tk-contact__field input[type="file"] { padding-block: var(--tk-space-12); }
.tk-contact__field input:focus-visible,
.tk-contact__field textarea:focus-visible,
.tk-contact__back:focus-visible,
.tk-contact__service:has(input:focus-visible),
.tk-contact__agreement input:focus-visible {
  outline: 3px solid var(--tk-color-accent);
  outline-offset: 3px;
}
.tk-contact__field [aria-invalid="true"] { border-color: var(--tk-color-error); }
.tk-contact__error {
  display: none;
  margin: 0;
  color: var(--tk-color-error);
  font-size: var(--tk-font-size-small);
  font-weight: 650;
}
.tk-contact__error.is-visible { display: block; }
.tk-contact__services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--tk-space-12);
}
.tk-contact__service { position: relative; cursor: pointer; }
.tk-contact__service input { position: absolute; opacity: 0; }
.tk-contact__service span {
  display: grid;
  min-height: 3.5rem;
  place-items: center;
  padding: var(--tk-space-12) var(--tk-space-16);
  border: 1px solid var(--tk-color-border-strong);
  border-radius: var(--tk-radius-pill);
  text-align: center;
}
.tk-contact__service input:checked + span {
  border-color: var(--tk-color-brand-primary);
  background: var(--tk-color-brand-primary);
  color: var(--tk-color-text-inverse);
}
.tk-contact__actions { display: flex; justify-content: flex-end; margin-top: var(--tk-space-48); }
.tk-contact__agreement { display: flex; align-items: flex-start; gap: var(--tk-space-12); }
.tk-contact__agreement input { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.tk-contact__review h3 { margin: var(--tk-space-32) 0 var(--tk-space-12); font-size: var(--tk-font-size-h3); }
.tk-contact__review p { margin: var(--tk-space-8) 0; overflow-wrap: anywhere; }
.tk-contact__status,
.tk-contact__unavailable {
  padding: var(--tk-space-16);
  border-radius: var(--tk-radius-small);
}
.tk-contact__status:empty { display: none; }
.tk-contact__status[data-state="error"],
.tk-contact__unavailable {
  border: 1px solid var(--tk-color-error);
  background: #fff1f0;
  color: var(--tk-color-error);
}
.tk-contact__success {
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: var(--tk-radius-large);
  background: var(--tk-color-surface-strong);
  color: var(--tk-color-text-inverse);
  text-align: center;
}
.tk-contact__success h2 { margin: 0 0 var(--tk-space-16); font-size: var(--tk-font-size-h1); color: var(--tk-color-text-inverse); }
.tk-contact__success h2:focus { outline: none; }
.tk-contact__success-decoration { color: var(--tk-color-accent-soft); font-weight: 700; }
.tk-contact__success-subtitle { font-size: var(--tk-font-size-body-large); font-weight: 700; }
.tk-contact__countdown {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--tk-space-12);
  margin: var(--tk-space-32) 0;
}
.tk-contact__countdown div { display: grid; gap: var(--tk-space-4); }
.tk-contact__countdown strong { font-size: clamp(1.75rem, 5vw, 3rem); }
.tk-contact__countdown span { font-size: var(--tk-font-size-small); }
.tk-contact__alternative { margin: var(--tk-space-64) auto 0; text-align: center; }
.tk-contact__alternative a { font-weight: 750; overflow-wrap: anywhere; }

@media (min-width: 48rem) {
  .tk-contact__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tk-contact__field:has(textarea),
  .tk-contact__field:has(input[type="file"]) { grid-column: 1 / -1; }
  .tk-contact__services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .tk-contact *, .tk-contact *::before, .tk-contact *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
