@media (max-width: 1024px) {
  .nav-shell {
    grid-template-columns: 1fr auto;
  }

  .nav-toggle {
    display: grid;
    width: 46px;
    height: 46px;
    justify-self: end;
    place-content: center;
    gap: 6px;
    border: 0;
    border-radius: 50%;
    background: var(--color-dark);
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 18px;
    height: 1px;
    background: var(--color-on-dark);
    transition: transform var(--transition-base);
  }

  .nav-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .site-nav {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    left: 0;
    display: grid;
    padding: 1.3rem;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: var(--shadow-float);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity var(--transition-base), transform var(--transition-base);
  }

  .site-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-nav a {
    padding: 1rem 0.4rem;
    border-bottom: 1px solid var(--color-border);
  }

  .site-nav a:last-child {
    border-bottom: 0;
  }

  .nav-cta {
    display: none;
  }

  .conversation-rail {
    width: min(calc(100% - 2rem), 920px);
  }

  .culture-map__grid {
    grid-template-columns: 0.8fr 1.2fr;
  }

  .difference .container {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  .orbit--outer {
    width: 410px;
    height: 410px;
  }

  .orbit--inner {
    width: 260px;
    height: 260px;
  }

  .footer__top {
    grid-template-columns: 0.5fr 1.5fr;
  }

  .footer__top > p {
    display: none;
  }
}

@media (max-width: 767px) {
  :root {
    --space-section: 5.5rem;
  }

  .container {
    width: min(calc(100% - 2rem), var(--container));
  }

  .site-header {
    padding: 0.75rem;
  }

  .nav-shell {
    min-height: 58px;
    padding-left: 0.9rem;
  }

  .brand img {
    width: 108px;
  }

  .hero {
    min-height: 990px;
    padding-top: 9rem;
  }

  .hero__eyebrow span {
    display: block;
    margin: 0.55rem 0 0;
  }

  .hero__title {
    font-size: clamp(3.5rem, 18vw, 5.3rem);
    line-height: 0.9;
  }

  .hero__intro {
    font-size: 1rem;
  }

  .hero__actions,
  .final-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .conversation-rail {
    right: auto;
    bottom: 1.5rem;
    left: 1rem;
    width: 830px;
    transform: rotate(-1deg);
  }

  .conversation {
    min-height: 230px;
  }

  .section-heading--split {
    margin-bottom: 3.5rem;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .culture-map__grid {
    grid-template-columns: 1fr;
  }

  .culture-map__topics {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .topic {
    min-height: 76px;
  }

  .culture-map__visual {
    min-height: 410px;
  }

  .map-label--one {
    left: 5%;
  }

  .map-label--three {
    left: 7%;
  }

  .map-card {
    right: 1rem;
    bottom: 1rem;
    min-width: 220px;
  }

  .journey-step {
    min-height: auto;
    padding-block: 2rem;
    grid-template-columns: 36px 1fr;
    gap: 1rem;
  }

  .journey-step > :last-child {
    grid-column: 2;
    margin-top: 1rem;
  }

  .interest-chips,
  .people-stack {
    justify-content: flex-start;
  }

  .saved-note {
    margin-left: 0;
  }

  .experience-collage {
    grid-template-columns: 1fr;
  }

  .experience--food {
    min-height: 670px;
    grid-row: auto;
  }

  .experience--travel {
    min-height: 430px;
  }

  .experience--culture {
    min-height: 560px;
  }

  .experience__art {
    height: 280px;
  }

  .difference .container {
    grid-template-columns: 1fr;
  }

  .difference__orbit {
    height: 440px;
  }

  .orbit--outer {
    width: min(92vw, 400px);
    height: min(92vw, 400px);
  }

  .orbit--inner {
    width: 245px;
    height: 245px;
  }

  .difference__points {
    grid-template-columns: 1fr;
  }

  .difference-point,
  .difference-point:first-child {
    min-height: 170px;
    padding: 1.5rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--color-border-dark);
  }

  .difference-point:last-child {
    border-bottom: 0;
  }

  .difference-point h3 {
    margin-top: 1.8rem;
  }

  .final-cta h2 {
    font-size: clamp(3.5rem, 16vw, 5.4rem);
  }

  .final-cta__stamp {
    position: relative;
    right: auto;
    bottom: auto;
    width: 135px;
    height: 135px;
    margin-top: 3.5rem;
  }

  .footer__top {
    padding-bottom: 3rem;
    grid-template-columns: 1fr;
  }

  .footer__links {
    grid-template-columns: 1fr 1fr;
    row-gap: 2.5rem;
  }

  .footer__bottom {
    gap: 0.8rem;
    flex-direction: column;
  }

  .modal__panel {
    padding: 3.5rem 1.5rem 2rem;
  }
}

@media (max-width: 420px) {
  .hero {
    min-height: 1020px;
  }

  .hero__title {
    font-size: 3.45rem;
  }

  .conversation-rail {
    width: 790px;
  }

  .conversation {
    padding: 1rem;
  }

  .experience {
    border-radius: 18px;
  }

  .orbit-node {
    width: 70px;
    height: 70px;
  }

  .footer__links {
    grid-template-columns: 1fr;
  }
}
