@media(max-width:520px) {
  .site-header {
    padding:18px 20px;
    min-height:88px;
  }

  .brand {
    flex-basis:230px;
    max-width:72%;
  }

  .mobile-menu summary {
    padding:8px 12px;
  }

  .hero {
    height:940px;
  }

  .hero-copy {
    margin:10px 20px 0;
    width:calc(100% - 40px);
  }

  .hero h1 {
    font-size:38px;
    line-height:1.1;
  }

  .hero-copy>p {
    font-size:15px;
    letter-spacing:-.02em;
    margin:16px 0 20px;
  }

  .mobile-break {
    display:block;
  }

  .search-form {
    height:54px;
    padding:0 16px;
  }

  .search-form input {
    font-size:14px;
    padding-left:12px;
  }

  .all-link {
    display:none;
  }

  .search-form button {
    font-size:13px;
    padding:8px;
  }

  .hero .explore {
    font-size:15px;
    min-width:0;
    width:100%;
    min-height:52px;
    padding:12px 24px;
  }

  .scene-viewport {
    top:300px;
    height:600px;
  }

  .scene-canvas {
    width:900px;
    left:47%;
    margin-left:-450px;
  }

  .hotspot-label {
    font-size:11px;
    padding:8px 12px;
  }

  .hotspot-dot {
    width:16px;
    height:16px;
    border-width:4px;
  }

  .scene-controls {
    left:20px;
    bottom:10px;
  }

  .journey ol {
    align-items:start;
    gap:16px;
  }

  .journey li {
    flex-direction:column;
    text-align:center;
    flex:1;
  }

  .journey h2 {
    font-size:28px;
  }

  .section-heading {
    display:block;
  }

  .section-heading>p,.section-heading>span {
    display:block;
    margin-top:18px;
  }

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

  .object-card {
    padding:18px 16px;
    min-height:155px;
  }

  .object-card h3 {
    font-size:17px;
  }

  .object-card p {
    font-size:11px;
  }

  .object-card>span {
    font-size:10px;
  }


  .catalog-filters {
    gap:6px;
  }

  .catalog-filters button {
    font-size:11px;
    padding:9px 12px;
  }

  .approach,.about {
    grid-template-columns:1fr;
  }

  .about>a {
    grid-column:auto;
  }

  .story-grid {
    grid-template-columns:1fr;
  }

  .story-grid>a {
    min-height:0;
    padding:24px 0;
  }

  .story-grid h3 {
    margin:14px 0;
  }

  .object-dialog {
    padding:32px 24px;
  }

  .object-dialog h2 {
    font-size:28px;
  }

  .object-page h1 {
    font-size:36px;
  }


}
