/* Shared bits for the white pages: skip link, language switch, "coming soon" menu items, the contact form. */
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 14px; border-radius: 8px; background: var(--navy); color: #fff; font-size: 14px; font-weight: 600; }
.skip:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--blue-ink); outline-offset: 3px; }
.nav .lang a { padding: 6px 2px; color: var(--ink-3); }
.nav .lang a.on { color: var(--ink); font-weight: 500; }
.nav .soon { color: #A3ACBD; cursor: default; }
.mail { margin-top: 18px; font-size: 14px; color: var(--ink-3); }
.mail a { margin-left: 6px; color: var(--blue-ink); border-bottom: 1px solid currentColor; }
.ftr a.r { color: var(--ink-2); }

/* contact form */
.form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 14px; }
.fld { display: grid; gap: 7px; font-size: 13px; color: var(--ink-2); }
.fld.w { grid-column: 1 / -1; }
.fld input, .fld select, .fld textarea { width: 100%; min-height: 50px; padding: 12px 14px; font: inherit; font-size: 15px; color: var(--ink); background: #fff; border: 1px solid var(--rule-2); border-radius: 12px; }
.fld textarea { resize: vertical; min-height: 90px; line-height: 1.55; }
.fld input:focus-visible, .fld select:focus-visible, .fld textarea:focus-visible { outline: 2px solid var(--blue-ink); outline-offset: 1px; border-color: transparent; }
.fld input:user-invalid { border-color: #D2553F; }
.form button.pill { grid-column: 1 / -1; justify-content: center; height: 52px; border: 0; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.form .note, .form .cf-status { grid-column: 1 / -1; margin: 0; font-size: 12.5px; color: var(--ink-3); }
.form .cf-status { color: var(--ink-2); }
@media (max-width: 760px) {
  .form { grid-template-columns: minmax(0, 1fr); }
  .fld input, .fld select, .fld textarea { font-size: 16px; }
}
.nav .lang { white-space: nowrap; }
@media (max-width: 420px) {
  .illus { white-space: normal !important; right: var(--gut) !important; text-align: left; }
  .nav .lang { font-size: 11px; }
  .nav .pill { padding: 0 12px; font-size: 13px; }
}

@media (max-width: 900px) { .nav .links { display: none; } }
