@media(max-width:900px) {
  .desktop-nav,.header-tools {
    display:none;
  }

  .site-header {
    justify-content:space-between;
    padding:20px;
    min-height:96px;
  }

  .brand {
    flex-basis:245px;
  }

  .mobile-menu {
    display:block;
  }

  .mobile-menu summary {
    cursor:pointer;
    list-style:none;
    border:1px solid var(--line);
    border-radius:24px;
    padding:10px 16px;
    font-size:13px;
  }

  .mobile-menu-panel {
    position:absolute;
    right:20px;
    top:80px;
    background:white;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 8px 28px #302e2c14;
    padding:12px;
    z-index:10;
    width:min(320px,calc(100vw - 40px));
  }

  .mobile-menu-panel > nav:not([data-language-switch]) {
    display:grid;
  }

  .mobile-menu nav a {
    padding:12px;
  }

  .hero {
    height:1060px;
    min-height:0;
  }

  .hero-copy {
    margin:12px 24px 0;
    width:calc(100% - 48px);
  }

  .hero h1 {
    font-size:clamp(38px,6vw,58px);
    white-space:normal;
    letter-spacing:-.055em;
  }

  .hero-copy>p {
    font-size:17px;
    margin-top:18px;
    max-width:600px;
  }

  .scene-viewport {
    top:330px;
    height:690px;
    touch-action:pan-y;
  }

  .scene-canvas {
    width:1040px;
    left:50%;
    margin-left:-520px;
  }

  .world-image {
    object-fit:cover;
  }

  .hotspot-label {
    font-size:12px;
    padding:9px 14px;
  }

  .scene-controls {
    bottom:14px;
    left:24px;
  }

  .scene-controls span {
    display:none;
  }

  .hero .explore {
    min-width:310px;
  }

  .search-form {
    max-width:640px;
  }

  .journey {
    padding:28px 24px 50px;
  }

  .journey ol {
    gap:20px;
  }

  .journey li {
    font-size:12px;
    gap:8px;
  }

  .step-number {
    width:32px;
    height:32px;
  }

  .section-shell {
    padding:48px 24px;
  }

  .object-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .approach {
    gap:24px;
  }

  .approach>div>p {
    font-size:16px;
  }

  .story-grid {
    gap:8px;
  }

  .story-grid>a {
    padding:20px 12px;
  }

  .story-grid h3 {
    font-size:22px;
  }

  .about {
    gap:20px;
  }


}
