/* Contact page only; shared footer, cookies and language controls use site styles. */
.contact-page, .contact-page * { box-sizing: border-box; }
.contact-page { margin: 0; min-width: 0; min-height: 100vh; color: #e3ebf8; background: radial-gradient(ellipse at 10% 15%, #00334a50, transparent 46%), radial-gradient(ellipse at 90% 50%, #38265720, transparent 48%), #0b0f19; font-family: 'Space Grotesk', system-ui, sans-serif; }
.contact-header { max-width: 1240px; min-height: 104px; margin: 0 auto; padding: 24px 30px; display: flex; align-items: center; gap: 28px; }
.contact-header .site-brand { margin-right: auto; }
.contact-back { color: #a8b8ce; text-decoration: none; font-size: 13px; white-space: nowrap; }
.contact-back:hover { color: #70e7ff; }
.contact-back > span:first-child { margin-right: 6px; }
.contact-main { width: min(1180px, calc(100% - 60px)); margin: 44px auto 108px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(40px, 7vw, 96px); align-items: start; }
.contact-intro { padding-top: 26px; }
.contact-eyebrow { margin: 0 0 27px; display: flex; align-items: center; gap: 10px; font: 500 10px/1.7 'JetBrains Mono', monospace; letter-spacing: .13em; color: #65d8ee; }
.contact-eyebrow > span:first-child { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #55def5; box-shadow: 0 0 20px #55def550; }
.contact-intro h1 { max-width: 520px; margin: 0 0 24px; color: #f7faff; font-size: clamp(40px, 4.8vw, 64px); font-weight: 500; line-height: 1.06; letter-spacing: -.055em; text-wrap: balance; }
.contact-lead { max-width: 400px; margin: 0; color: #a6b7ce; font-size: 17px; line-height: 1.8; }
.contact-details { margin: 42px 0 32px; border-top: 1px solid #23334b; border-bottom: 1px solid #23334b; }
.contact-email { display: flex; align-items: center; gap: 16px; padding: 24px 0; text-decoration: none; color: #edf5ff; }
.contact-email svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: #61d8ef; stroke-width: 1.5; }
.contact-email > span:nth-child(2) { min-width: 0; }
.contact-email small { display: block; margin-bottom: 5px; color: #8b9eb7; font-size: 11px; }
.contact-email strong { font-size: clamp(13px, 1.5vw, 17px); font-weight: 500; overflow-wrap: anywhere; }
.contact-link-arrow { margin-left: auto; color: #7d91af; }
.contact-email:hover strong, .contact-email:hover .contact-link-arrow { color: #70e7ff; }
.contact-docs { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 0 23px 41px; color: #9eafc6; font-size: 13px; text-decoration: none; }
.contact-docs:hover { color: #70e7ff; }
.contact-note { display: flex; align-items: flex-start; gap: 12px; max-width: 380px; color: #859bb7; }
.contact-note > span { flex: 0 0 17px; height: 17px; margin-top: 3px; border: 1px solid #526880; border-radius: 50%; text-align: center; font: 500 11px/15px 'JetBrains Mono', monospace; }
.contact-note p { margin: 0; font-size: 12px; line-height: 1.85; }
.contact-card { min-width: 0; padding: 32px; border: 1px solid #26384f; border-radius: 18px; background: linear-gradient(155deg, #131f30ed, #101725f5); box-shadow: 0 24px 70px #0002; }
.contact-card-heading { display: flex; align-items: center; gap: 13px; }
.contact-section-number { color: #65d8ee; font: 500 10px/1.4 'JetBrains Mono', monospace; }
.contact-card h2 { margin: 0; color: #f0f6ff; font-size: 24px; font-weight: 500; letter-spacing: -.03em; }
.contact-required { margin: 10px 0 28px; color: #8fa2bd; font-size: 11px; line-height: 1.7; }
.contact-fields-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.contact-field { min-width: 0; margin: 0 0 20px; }
.contact-field label { display: block; margin: 0 0 8px; color: #c5d3e7; font-size: 12px; line-height: 1.5; }
.contact-field input, .contact-field select, .contact-field textarea { display: block; width: 100%; min-height: 45px; border: 1px solid #314159; border-radius: 7px; padding: 11px 12px; background: #0c1422; color: #edf5ff; font: 400 14px/1.5 'Space Grotesk', system-ui, sans-serif; transition: border-color 180ms, box-shadow 180ms; }
.contact-field select { color-scheme: dark; padding-right: 26px; }
.contact-field textarea { min-height: 160px; max-height: 560px; resize: vertical; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { outline: none; border-color: #58cee7; box-shadow: 0 0 0 3px #00d4ff10; }
.contact-field input[aria-invalid="true"], .contact-field select[aria-invalid="true"], .contact-field textarea[aria-invalid="true"] { border-color: #ed8a9c; }
.contact-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.contact-counter { flex: 0 0 auto; color: #8298b4; font: 400 9px/1.5 'JetBrains Mono', monospace; }
.contact-field-hint { display: block; margin-top: 8px; color: #8fa2bd; font-size: 11px; line-height: 1.6; }
.contact-error { display: block; margin-top: 6px; color: #ffabb9; font-size: 11px; line-height: 1.5; }
.contact-error:empty { display: none; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.contact-privacy { display: flex; align-items: flex-start; gap: 11px; }
.contact-privacy input { flex: 0 0 16px; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #65d8ee; }
.contact-privacy label { color: #9eafc7; font-size: 11px; line-height: 1.8; }
.contact-privacy a, .contact-noscript a { color: #93e7f7; text-underline-offset: 3px; }
.contact-delivery-note { margin: 21px 0 16px; padding-top: 19px; border-top: 1px solid #28394e; color: #93a8c3; font-size: 11px; line-height: 1.8; }
.contact-submit { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; min-height: 48px; padding: 12px 18px; border: 1px solid #76e8ff; border-radius: 7px; background: #55d7ef; color: #06222d; font-size: 13px; font-weight: 600; cursor: pointer; transition: background 180ms, box-shadow 180ms, transform 180ms; }
.contact-submit:not(:disabled):hover { background: #83e7f8; box-shadow: 0 6px 24px #00d4ff15; transform: translateY(-1px); }
.contact-submit:active { transform: translateY(0); }
.contact-submit:disabled { opacity: .55; cursor: not-allowed; }
.contact-submit[aria-busy="true"] .contact-submit-arrow { width: 14px; height: 14px; border: 2px solid #06222d40; border-top-color: #06222d; border-radius: 50%; font-size: 0; animation: contact-spin 800ms linear infinite; }
.contact-status { margin-top: 16px; padding: 12px 14px; border: 1px solid #365774; border-radius: 7px; background: #15273b; color: #bad9ec; font-size: 12px; line-height: 1.7; }
.contact-status[data-kind="error"] { border-color: #743f51; background: #301d2a; color: #ffc0cb; }
.contact-status[data-kind="success"] { border-color: #326c60; background: #122f2c; color: #a5e9d7; }
.contact-noscript { color: #adbed3; font-size: 13px; line-height: 1.8; }
@keyframes contact-spin { to { transform: rotate(360deg); } }
@media (max-width: 850px) {
  .contact-main { gap: 30px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .contact-card { padding: 25px; }
  .contact-fields-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 680px) {
  .contact-header { min-height: 90px; padding: 20px 22px; gap: 10px; flex-wrap: wrap; }
  .contact-header .site-brand { font-size: 22px; gap: 7px; }
  .contact-header .site-brand img { width: 32px; height: 32px; flex-basis: 32px; }
  .contact-header .contact-back { order: 20; flex-basis: 100%; margin-top: 15px; font-size: 11px; }
  .contact-main { width: calc(100% - 44px); margin: 18px auto 60px; grid-template-columns: 1fr; gap: 34px; }
  .contact-intro { padding-top: 12px; }
  .contact-eyebrow { margin-bottom: 19px; font-size: 9px; }
  .contact-intro h1 { max-width: 420px; margin-bottom: 20px; font-size: clamp(39px, 9vw, 52px); }
  .contact-lead { max-width: 500px; font-size: 15px; }
  .contact-details { margin: 28px 0 22px; }
  .contact-email { padding: 20px 0; }
  .contact-email strong { font-size: 15px; }
  .contact-card { padding: 25px 22px; border-radius: 13px; }
  .contact-fields-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
  .contact-field input, .contact-field select, .contact-field textarea { font-size: 16px; }
  .contact-note { max-width: 450px; }
}
@media (max-width: 430px) {
  .contact-fields-row { grid-template-columns: 1fr; gap: 0; }
  .contact-card { padding: 25px 18px; }
  .contact-label-row { gap: 8px; }
  .contact-counter { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-page *, .contact-page *::before, .contact-page *::after { animation: none !important; transition: none !important; }
}
