@media (max-width: 1080px) {
  .hero-grid,
  .expo-shell,
  .section-head,
  .studio-shell,
  .feature-grid,
  .minor-grid {
    grid-template-columns: 1fr;
  }
  .feature-card--span-2 { grid-column: span 1; }
  .feature-card--fursona,
  .feature-card--koemo,
  .feature-card--capti { grid-template-columns: 1fr; }
  .feature-card--sorasns .feature-media {
    min-height: 0;
  }
  .feature-card--koemo .feature-body {
    padding: 26px 24px 24px;
  }
  .feature-body--fursona {
    padding: 28px 24px 26px;
  }
  .feature-card--fursona .feature-media {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .feature-card--koemo .feature-media,
  .feature-card--capti .feature-media {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .minor-card--minivirtual {
    grid-column: span 1;
    grid-template-columns: 1fr;
  }
  .minor-card--minivirtual .minor-body {
    padding: 28px 24px 24px;
  }
  .minor-card--minivirtual .minor-media {
    min-height: 280px;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .sorasns-appearances-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .feature-gallery-grid.feature-gallery-grid--sorasns {
    --sorasns-shot-width: clamp(158px, 22vw, 196px);
  }
  .feature-gallery-grid.feature-gallery-grid--koemo {
    --koemo-shot-width: clamp(210px, 24vw, 260px);
  }
  .feature-card--spatial .feature-body { grid-template-columns: 1fr; }
  .hero-title { max-width: 13ch; }
  .social-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .expo-strip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .page-header-banner {
    height: clamp(180px, 44vw, 280px);
  }
  .hero-intro {
    margin-top: clamp(-56px, -8vw, -28px);
  }
  .hero-copy {
    margin-top: 0;
  }
  .section, .section-lg { padding: 24px 0; }
  .hero-jump-bar {
    top: 0;
    padding: 8px 0;
  }
  .hero-bubble-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .hero-bubble-row::-webkit-scrollbar {
    display: none;
  }
  .hero-bubble-row a {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 12px;
    font-size: 0.84rem;
  }
  .hero-bubble-row .hero-bubble-top {
    order: -1;
    margin-left: 0;
  }
  .hero-bubble-row .hero-jump-mascot {
    order: -2;
    position: sticky;
    left: 0;
    z-index: 2;
  }
  #expo,
  #card-sorasns,
  #card-my-fursona,
  #card-3d-object-capture,
  #card-capti,
  #card-neo,
  #card-minivirtual,
  #card-mini-walkie-talkie,
  #card-booku,
  #card-spatial-escape,
  #card-podcasts,
  #card-koemo,
  #card-xcloc {
    scroll-margin-top: 176px;
  }
  .hero-copy, .hero-visual { padding: 22px; }
  .studio-shell { padding: 18px; }
  .social-links {
    grid-template-columns: 1fr;
  }
  .expo-strip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .hero-metrics { grid-template-columns: 1fr; }
  .feature-media { min-height: 280px; }
  .feature-media--immersive { min-height: 320px; }
  .feature-card--sorasns .feature-media {
    min-height: 0;
    padding: 52px 0 6px;
  }
  .feature-card--fursona .feature-media {
    padding: 64px 16px 32px;
  }
  .fursona-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-width: 420px;
  }
  .fursona-shot {
    border-radius: 20px;
    transform: none;
  }
  .feature-card--sorasns-appearances .feature-body {
    padding: 24px;
  }
  .feature-card--capture .feature-media--portrait {
    padding: 54px 12px 12px;
  }
  .feature-media--portrait {
    padding: 76px 16px 18px;
  }
  .feature-card--capture .feature-video-embed--portrait {
    width: min(100%, 232px);
  }
  .feature-gallery-carousel.feature-gallery-carousel--sorasns {
    margin-inline: 16px;
  }
  .feature-gallery-carousel {
    gap: 8px;
  }
  .feature-gallery-control {
    width: 38px;
    height: 38px;
  }
  .feature-gallery-grid.feature-gallery-grid--sorasns {
    --sorasns-shot-width: clamp(132px, 39vw, 156px);
    gap: 10px;
  }
  .feature-gallery-grid.feature-gallery-grid--sorasns img {
    border-radius: 20px;
  }
  .feature-gallery-grid.feature-gallery-grid--koemo {
    --koemo-shot-width: clamp(210px, 62vw, 250px);
  }
  .capti-shot-grid {
    grid-template-columns: repeat(3, minmax(112px, 1fr));
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .sorasns-appearances-grid {
    grid-template-columns: 1fr;
  }
  .feature-video-switcher {
    width: 100%;
    gap: 8px;
  }
  .feature-video-tab {
    flex: 1 1 180px;
  }
  .thumb-strip { gap: 8px; }
  .thumb-strip img { width: 64px; height: 64px; border-radius: 14px; }
  .expo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 140px;
    gap: 10px;
  }
  .expo-card {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: auto;
  }
  .metric, .signal { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
