.skip-link {
  position: fixed;
  inset-block-start: 8px;
  inset-inline-start: 8px;
  z-index: 1000;
  padding: 10px 14px;
  background: var(--accent-primary);
  color: var(--on-accent);
  border-radius: var(--radius-sm);
  font-weight: 800;
  transform: translateY(-160%);
}

.skip-link:focus { transform: translateY(0); }

.contact-main {
  min-height: calc(100vh - 190px);
  padding: calc(var(--nav-h, 72px) + var(--space-3xl)) 0 var(--space-4xl);
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
  gap: clamp(48px, 7vw, 92px);
  align-items: center;
}

.contact-intro { min-width: 0; }

.contact-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-block-end: var(--space-xl);
  font-weight: 700;
}

.contact-intro h1 {
  max-width: 13ch;
  font-size: clamp(2.7rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.contact-lead {
  max-width: 56ch;
  margin-block-start: var(--space-lg);
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.75;
}

.contact-plate {
  display: inline-flex;
  align-items: stretch;
  margin-block: var(--space-xl);
  overflow: hidden;
  border: 3px solid #111;
  border-radius: 9px;
  background: var(--plate-yellow);
  box-shadow: 0 16px 36px rgba(var(--rgb-shadow), .38);
  color: #111;
  transform: rotate(-1.5deg);
}

.contact-plate-eu {
  display: grid;
  place-items: center;
  min-width: 48px;
  padding: 6px 8px;
  background: var(--plate-blue);
  color: #fff;
  font-size: .72rem;
}

.contact-plate-eu span { color: #ffd700; line-height: 1; }
.contact-plate-eu b { font-size: .8rem; }

.contact-plate-word {
  padding: 13px 20px 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(1.4rem, 3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: .045em;
}

.contact-direct {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: max-content;
  padding-block: var(--space-md);
  border-block: 1px solid var(--glass-border);
}

.contact-direct svg { color: var(--accent-primary); flex: 0 0 auto; }
.contact-direct span { display: block; color: var(--text-tertiary); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.contact-direct a { display: block; overflow-wrap: anywhere; color: var(--text-primary); font-size: 1rem; font-weight: 800; }

.contact-small {
  max-width: 54ch;
  margin-block-start: var(--space-md);
  color: var(--text-tertiary);
  font-size: .88rem;
}

.contact-form-card {
  position: relative;
  min-width: 0;
  padding: clamp(24px, 4vw, 42px);
  background: linear-gradient(145deg, rgba(var(--rgb-surface), .055), rgba(var(--rgb-surface), .018));
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 70px rgba(var(--rgb-shadow), .4);
  transform: rotate(.35deg);
}

.contact-form-card::before {
  content: '';
  position: absolute;
  inset: 12px -12px -12px 12px;
  z-index: -1;
  border: 1px solid rgba(var(--rgb-accent), .13);
  border-radius: var(--radius-lg);
}

.contact-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); margin-block-end: var(--space-lg); }
.contact-form-heading h2 { font-size: clamp(1.55rem, 3vw, 2rem); letter-spacing: -.03em; }
.contact-form-heading p { color: var(--text-tertiary); font-size: .82rem; }

.contact-status { margin-block-end: var(--space-lg); padding: 12px 14px; border-radius: var(--radius-sm); font-size: .92rem; }
.contact-status.is-empty { display: none; }
.contact-status.is-success { background: rgba(var(--rgb-green), .1); color: var(--accent-green-soft); }
.contact-status.is-error { background: rgba(var(--rgb-red), .1); color: var(--accent-red-soft); }

.contact-field { margin-block-end: 18px; }
.contact-field label { display: block; margin-block-end: 7px; color: var(--text-primary); font-size: .88rem; font-weight: 750; }

.contact-field input,
.contact-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(var(--rgb-surface), .13);
  border-radius: var(--radius-sm);
  background: rgba(var(--rgb-shadow), .18);
  color: var(--text-primary);
  caret-color: var(--accent-primary);
  font: inherit;
  font-size: 1rem;
  transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.contact-field textarea { min-height: 154px; resize: vertical; line-height: 1.6; }
.contact-field input:hover, .contact-field textarea:hover { border-color: rgba(var(--rgb-surface), .24); }
.contact-field input:focus, .contact-field textarea:focus { outline: none; border-color: var(--accent-primary); background: rgba(var(--rgb-surface), .045); box-shadow: 0 0 0 3px rgba(var(--rgb-accent), .12); }

.contact-field-meta { display: flex; justify-content: space-between; gap: var(--space-md); margin-block-start: 6px; color: var(--text-tertiary); font-size: .75rem; }
.contact-error { display: block; min-height: 1.1em; margin-block-start: 4px; color: var(--accent-red-soft); font-size: .78rem; }

.contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--accent-gradient);
  color: var(--on-accent);
  box-shadow: 0 10px 28px rgba(var(--rgb-accent), .2);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}

.contact-submit:hover { transform: translateY(-2px); box-shadow: 0 15px 34px rgba(var(--rgb-accent), .27); filter: saturate(1.08); }
.contact-submit:active { transform: translateY(0); }
.contact-submit:disabled { cursor: wait; opacity: .7; transform: none; }

.contact-privacy { max-width: 62ch; margin-block-start: 13px; color: var(--text-tertiary); font-size: .78rem; text-align: center; }
.contact-honeypot { position: absolute !important; inset-inline-start: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 860px) {
  .contact-main { padding-block-start: calc(var(--nav-h, 60px) + var(--space-2xl)); }
  .contact-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
  .contact-intro h1 { max-width: 16ch; }
  .contact-form-card { width: min(100%, 620px); justify-self: center; transform: none; }
}

@media (max-width: 540px) {
  .contact-main { padding-block-end: var(--space-3xl); }
  .contact-grid { padding-inline: 18px; }
  .contact-intro h1 { font-size: clamp(2.35rem, 13vw, 3.25rem); }
  .contact-plate-word { padding-inline: 14px; font-size: 1.45rem; }
  .contact-plate-eu { min-width: 42px; }
  .contact-form-card { padding: 22px 18px; }
  .contact-form-card::before { display: none; }
  .contact-form-heading { display: block; }
  .contact-form-heading p { margin-block-start: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .contact-plate, .contact-form-card, .contact-submit { transform: none; transition: none; }
}

