/* Mobile and tablet refinements added 2026-09-24. */

@media (max-width: 900px) {
  html {
    scroll-padding-top: 88px;
  }

  body {
    overflow-x: hidden;
  }

  main > section,
  .hero,
  .section,
  .consulting,
  .team-page-hero,
  .team-profile,
  .team-cta {
    scroll-margin-top: 88px !important;
  }

  .hero-copy,
  .consulting-copy,
  .about-grid > *,
  .team-teaser-grid > *,
  .contact > *,
  .team-profile > * {
    min-width: 0;
  }

  /* Keep partnership content in normal flow so the service list cannot
     overlap the copy or CTA on short screens. */
  .consulting.partnership {
    display: block;
    min-height: 100svh;
    padding-bottom: 72px;
  }

  .partnership .consulting-copy {
    max-width: 700px;
  }

  .partnership .consulting-services {
    position: relative;
    inset: auto;
    margin-top: 56px;
  }
}

@media (max-width: 600px) {
  html {
    scroll-padding-top: 74px;
  }

  main > section,
  .hero,
  .section,
  .consulting,
  .team-page-hero,
  .team-profile,
  .team-cta {
    scroll-margin-top: 74px !important;
  }

  .site-header {
    padding-inline: 7vw;
  }

  .brand {
    width: min(165px, 48vw);
  }

  h1 {
    font-size: clamp(48px, 14.2vw, 60px);
    line-height: .92;
  }

  h2,
  .faq-title h2,
  .team-cta h2 {
    font-size: clamp(43px, 12.4vw, 56px);
    line-height: .94;
  }

  .eyebrow {
    line-height: 1.55;
    margin-bottom: 22px;
  }

  .hero {
    min-height: 100svh;
    padding: 112px 7vw 72px;
    align-items: center;
  }

  @supports (min-height: 100dvh) {
    .hero,
    .team-page-hero {
      min-height: 100dvh;
    }
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .hero-copy > p:not(.eyebrow) {
    max-width: 34rem;
    margin: 28px 0;
    font-size: 16px;
    line-height: 1.58;
  }

  .hero .actions {
    width: 100%;
  }

  .hero .button {
    max-width: 100%;
  }

  .hero .hero-plane-v2 {
    object-position: 61% center;
  }

  .hero .flight-line {
    right: -12vw;
    width: 74%;
  }

  .hero .scroll {
    left: 7vw;
    bottom: 24px;
  }

  .section {
    padding: 108px 7vw 78px;
  }

  .section-label {
    top: 28px;
    left: 7vw;
  }

  .section-home {
    top: 28px;
    right: 7vw;
  }

  .about-grid,
  .team-teaser-grid,
  .faq,
  .contact {
    gap: 42px;
  }

  .prose {
    padding-top: 0;
  }

  .prose .lead {
    font-size: 22px;
  }

  .prose p,
  .steps p,
  .principle-grid p,
  .faq-list article > p {
    font-size: 14px;
  }

  .metrics {
    margin-top: 58px;
  }

  .metrics div,
  .metrics div:not(:first-child) {
    padding: 27px 0;
  }

  .metrics strong {
    font-size: 29px;
  }

  .philosophy-head > p:last-child {
    margin-bottom: 48px;
  }

  .principle-grid article {
    min-height: 0;
    padding: 26px;
  }

  .principle-grid h3 {
    margin-top: 38px;
  }

  .steps {
    margin-top: 58px;
  }

  .steps article,
  .steps article:not(:first-child) {
    padding: 28px 0;
  }

  .consulting.partnership {
    min-height: auto !important;
    padding: 108px 7vw 72px;
  }

  .partnership > img {
    object-position: 66% center;
  }

  .partnership .consulting-copy {
    width: 100%;
    max-width: 100%;
  }

  .partnership .consulting-copy > p:not(.eyebrow) {
    margin: 28px 0;
    font-size: 16px;
    line-height: 1.58;
  }

  .partnership .consulting-copy .button {
    max-width: 100%;
  }

  .partnership .consulting-services {
    grid-template-columns: 1fr;
    margin-top: 52px;
  }

  .partnership .consulting-services div {
    padding: 24px 0 22px;
  }

  .partnership .consulting-services h3 {
    margin: 12px 0 0;
    font-size: 26px;
  }

  .team-teaser-grid {
    min-height: 0;
    padding-top: 34px;
  }

  .faq-list {
    margin-top: 0;
  }

  .faq-list button {
    min-height: 74px;
    grid-template-columns: 34px 1fr 22px;
    gap: 8px;
  }

  .faq-list article > p {
    margin-left: 42px;
  }

  .contact-form {
    margin-top: 0;
    padding: 24px;
  }

  .email {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 19px;
  }

  .team-page-hero {
    min-height: 100svh;
    padding: 118px 7vw 72px;
  }

  .team-page-hero .intro {
    min-width: 0;
  }

  .team-page-hero .intro > p:last-child {
    margin-top: 28px;
    font-size: 17px;
  }

  .team-profile {
    min-height: 0;
    padding: 104px 7vw 78px;
    gap: 36px;
  }

  .team-profile img {
    max-width: none;
  }

  .team-profile h2 {
    font-size: clamp(43px, 12.4vw, 56px);
  }

  .team-profile .role {
    margin-bottom: 24px;
  }

  .team-profile .profile-summary,
  .team-profile .profile-credentials,
  .profile-columns p {
    font-size: 15px;
    line-height: 1.7;
  }

  .profile-columns {
    gap: 18px;
  }

  .team-cta {
    padding: 104px 7vw 78px;
  }

  footer {
    padding-inline: 7vw;
  }
}
