/* Loaded after page styles. Keep desktop presentation intact. */
@media (max-width: 800px) {
  button, input, select, textarea {
    font-family: inherit;
  }

  button, input[type="submit"], input[type="button"] {
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
    text-shadow: none;
    box-shadow: none;
    touch-action: manipulation;
  }

  .consulting-button,
  .job-top-apply,
  .application-submit,
  .contact-form button[type="submit"],
  .knowledge-search button {
    min-height: 48px;
    border: 1px solid var(--ink);
    border-radius: 4px;
    background: var(--ink);
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
    padding: 13px 20px;
    box-shadow: none;
    text-decoration: none;
  }

  .consulting-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 360px;
  }
  .consulting-actions .consulting-button {
    width: 100%;
    justify-content: space-between;
  }
  .consulting-text-link, .arrow-link, .job-back {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .consulting-final-links { width: 100%; gap: 16px; }
  .consulting-final-links .consulting-button { width: 100%; max-width: 360px; }
  .consulting-service-bottom { align-items: center; }
  .consulting-service-bottom > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    min-height: 44px;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    font-size: 20px;
  }

  .inquiry-page .contact-form { gap: 24px; padding: 36px 24px 48px; }
  .contact-form label, .application-form label { letter-spacing: 0; line-height: 1.65; }
  .contact-form input, .contact-form textarea,
  .application-form input:not([type="file"]):not([type="hidden"]) {
    -webkit-appearance: none;
    appearance: none;
    min-height: 50px;
    font-size: 16px;
    line-height: 1.5;
    padding: 12px 14px;
    border: 1px solid #c8d2dc;
    border-radius: 4px;
    background: #fff;
    color: var(--ink);
    box-shadow: none;
  }
  .contact-form textarea { resize: vertical; min-height: 156px; }
  .inquiry-page .contact-form select,
  .application-form select,
  .career-filter select {
    -webkit-appearance: none;
    appearance: none;
    min-width: 0;
    width: 100%;
    min-height: 50px;
    padding: 12px 42px 12px 14px;
    border: 1px solid #c8d2dc;
    border-radius: 4px;
    background: #fff url('/assets/select-chevron.svg') no-repeat right 14px center / 16px;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.5;
    box-shadow: none;
  }
  .contact-form :is(input, textarea, select):focus,
  .application-form :is(input:not([type="file"]), select):focus,
  .career-filter select:focus-visible {
    border-color: var(--ink);
    outline: 2px solid #dce5ec;
    outline-offset: 2px;
    box-shadow: none;
  }
  .contact-form button[type="submit"], .application-submit { width: 100%; }
  .job-top-apply { display: inline-flex; align-items: center; justify-content: space-between; }
  .career-board-heading, .career-filter { width: 100%; }
  .career-filter { grid-template-columns: auto minmax(0, 1fr); gap: 12px 16px; }

  .resume-upload .resume-upload-button,
  .portfolio-links-heading #portfolio-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #c8d2dc;
    border-radius: 4px;
    background: #f5f7f9;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.5;
    box-shadow: none;
  }
  .portfolio-links-heading { gap: 12px; flex-wrap: wrap; }
  .portfolio-link-row { grid-template-columns: minmax(0, 1fr) auto; }
  .portfolio-link-row .portfolio-remove { width: 44px; height: 50px; border-radius: 4px; }
  #resume-remove { min-height: 44px; padding: 10px 12px; border-radius: 4px; }
  #resume-filename { flex: 1 1 130px; max-width: 100%; }

  .nav-toggle { min-width: 44px; min-height: 44px; border-radius: 4px; }
  .knowledge-search > div { border-radius: 4px; }
  .knowledge-search input { -webkit-appearance: none; appearance: none; border-radius: 4px 0 0 4px; }
  .knowledge-search button { border-radius: 0 3px 3px 0; flex-shrink: 0; }
  .insights-topics a { min-height: 44px; align-items: center; }
  [hidden] { display: none !important; }
}

@media (max-width: 800px) and (hover: none) {
  .consulting-button:hover, .application-submit:hover, .job-top-apply:hover {
    transform: none;
    box-shadow: none;
    background: var(--ink);
  }
}
