/* fukuseikatsu — Orchard Morning 2026 · Mobile */

@media (max-width: 1024px) {
  .gs-nav__links,
  .gs-nav__cta { display: none; }
  .gs-burger { display: flex; }

  .gs-hero--bleed,
  .gs-hero--orchard {
    min-height: 100svh;
    min-height: 100dvh;
  }
  .gs-hero--bleed .gs-hero__copy,
  .gs-hero--orchard .gs-hero__copy {
    padding: calc(var(--gs-nav-h) + 2.75rem) 1.25rem 4.25rem;
    width: min(100%, calc(100% - 1.5rem));
  }
  .gs-hero--bleed .gs-hero__brand,
  .gs-hero--orchard .gs-hero__brand {
    font-size: clamp(2.8rem, 12vw, 4.2rem);
  }

  .gs-hero:not(.gs-hero--bleed):not(.gs-hero--orchard):not(.gs-hero--page) {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .gs-hero__media-wrap {
    aspect-ratio: 16/10;
  }
  .gs-hero__copy {
    padding: 2rem 1.5rem 3rem;
  }

  .gs-hero--page .gs-hero__copy {
    padding: calc(var(--gs-nav-h) + 2rem) 1.5rem 3rem;
  }

  .gs-ribbon__grid { grid-template-columns: repeat(2, 1fr); }

  .gs-split,
  .gs-split--wide,
  .gs-split--flip,
  .gs-quoteblock,
  .gs-feature {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .gs-split--flip { direction: ltr; }
  .gs-feature__media { min-height: 280px; }
  .gs-feature__copy { padding: 0 0.25rem 0.5rem; }

  .gs-cards--3,
  .gs-cards--4,
  .gs-why,
  .gs-orchard { grid-template-columns: repeat(2, 1fr); }
  .gs-orchard__item:nth-child(3n+2),
  .gs-orchard__item:nth-child(3n) { margin-top: 0; }
  .gs-orchard__item:nth-child(even) { margin-top: 1.25rem; }
  .gs-cards--2 { grid-template-columns: 1fr; }

  .gs-mosaic,
  .gs-mosaic--soft {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .gs-mosaic__hero {
    grid-row: span 1;
    grid-column: span 2;
    aspect-ratio: 16/10;
  }

  .gs-voices,
  .gs-team,
  .gs-posts { grid-template-columns: 1fr; }

  .gs-foot__grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

  .gs-stats--row { grid-template-columns: repeat(2, 1fr); }

  .gs-vine { display: none; }

  .gs-process::before { display: none; }
  .gs-process li { flex: 0 0 min(240px, 85vw); }
  .gs-process--airy {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    overflow: visible;
  }
  .gs-process--airy li {
    flex: none;
    min-width: 0;
  }

  .gs-card--row {
    grid-template-columns: 1fr;
  }

  .gs-plots { grid-template-columns: 1fr; }
  .gs-frame--ledge { box-shadow: 10px 10px 0 rgba(232, 180, 184, 0.4); }
}

@media (max-width: 640px) {
  :root {
    --gs-wrap: calc(100% - 1.5rem);
    --gs-nav-h: 58px;
  }

  .gs-nav {
    top: 0.45rem;
    width: calc(100% - 0.9rem);
    height: var(--gs-nav-h);
    padding: 0 0.3rem 0 0.9rem;
  }
  .gs-nav__word { font-size: 0.95rem; }
  .gs-nav__mark svg { width: 22px; height: 22px; }
  .gs-burger {
    width: 42px;
    height: 42px;
  }

  .gs-sec { padding: 3.25rem 0; }

  .gs-hero--bleed,
  .gs-hero--orchard {
    min-height: 100svh;
    min-height: 100dvh;
  }
  .gs-hero--bleed .gs-hero__copy,
  .gs-hero--orchard .gs-hero__copy {
    padding: calc(var(--gs-nav-h) + 2.25rem) 1rem 3.75rem;
  }
  .gs-hero--bleed .gs-hero__brand,
  .gs-hero--orchard .gs-hero__brand {
    font-size: clamp(2.5rem, 13vw, 3.4rem);
  }
  .gs-hero--bleed .gs-hero__lead,
  .gs-hero--orchard .gs-hero__lead {
    font-size: 0.98rem;
  }
  .gs-hero--bleed .gs-hero__scroll,
  .gs-hero--orchard .gs-hero__scroll {
    bottom: 1rem;
  }

  .gs-ribbon {
    margin-top: 0;
    padding: 1.15rem 0;
  }
  .gs-ribbon__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.45rem;
  }
  .gs-ribbon__grid b { font-size: 1.3rem; }

  .gs-cards--3,
  .gs-cards--4,
  .gs-why,
  .gs-orchard { grid-template-columns: 1fr; }
  .gs-orchard__item:nth-child(even) { margin-top: 0; }

  .gs-process--airy {
    grid-template-columns: 1fr;
  }

  .gs-mosaic,
  .gs-mosaic--soft {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .gs-mosaic__hero {
    grid-column: span 1;
    aspect-ratio: 4/3;
  }
  .gs-mosaic .gs-frame { aspect-ratio: 16/10; }

  .gs-foot__grid { grid-template-columns: 1fr; }
  .gs-foot { padding: 4rem 0 1.5rem; }

  .gs-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .gs-hero__actions .gs-btn {
    width: 100%;
    text-align: center;
  }

  .gs-display { font-size: clamp(1.45rem, 6vw, 1.95rem); }

  .gs-cta {
    padding: 4rem 1.25rem;
  }

  .gs-season__track {
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0 -0.75rem;
  }
  .gs-season__card,
  .gs-season__pill { flex: 0 0 min(230px, 82vw); }

  .gs-drawer {
    width: 100%;
    max-width: 100vw;
  }

  .gs-stats { grid-template-columns: 1fr 1fr; }
  .gs-stats--row { grid-template-columns: 1fr 1fr; }

  .gs-founded__year { font-size: 3rem; }

  .gs-card { padding: 1.1rem; }
  .gs-card .gs-frame {
    margin: -1.1rem -1.1rem 0.9rem;
  }

  .gs-voice { padding: 1.35rem 1.1rem; }
  .gs-voice::before { font-size: 2.8rem; }

  .gs-form input,
  .gs-form textarea { font-size: 16px; }

  .gs-btn {
    padding: 0.9rem 1.4rem;
    min-height: 48px;
  }

  .gs-sec--moss,
  .gs-sec--sky,
  .gs-sec--soil {
    clip-path: none;
  }

  .gs-team article .gs-frame {
    max-width: 280px;
    margin-inline: auto;
  }
  .gs-team article { text-align: center; }
}

@media (max-width: 380px) {
  .gs-ribbon__grid { grid-template-columns: 1fr 1fr; }
  .gs-ribbon__grid b { font-size: 1.15rem; }
  .gs-ribbon__grid span { font-size: 0.72rem; }
  .gs-nav__word { font-size: 0.88rem; }
}

/* Touch-friendly drawer animation */
@media (hover: none) and (pointer: coarse) {
  .gs-card:hover { transform: none; }
  .gs-card:active { transform: scale(0.98); }
  .gs-season__card:hover,
  .gs-season__pill:hover { transform: none; }
  .gs-post:hover { transform: none; }
  .gs-why__card:hover { transform: none; }
  .gs-btn--pulse { animation: none; }
  .gs-hero__actions--float .gs-btn { animation: none; }
}

/* Landscape phone hero — still fill available height, no white gap */
@media (max-height: 500px) and (orientation: landscape) {
  .gs-hero,
  .gs-hero--bleed,
  .gs-hero--orchard {
    min-height: 100svh;
    min-height: 100dvh;
  }
  .gs-hero--bleed .gs-hero__copy,
  .gs-hero--orchard .gs-hero__copy {
    padding-top: calc(var(--gs-nav-h) + 1rem);
    padding-bottom: 2.25rem;
  }
  .gs-hero__media-wrap { aspect-ratio: 21/9; }
  .gs-hero--page { min-height: auto; }
  .gs-hero--bleed .gs-hero__scroll,
  .gs-hero--orchard .gs-hero__scroll { display: none; }
}

/* Safe area insets */
@supports (padding: env(safe-area-inset-bottom)) {
  .gs-nav {
    padding-left: max(0.9rem, env(safe-area-inset-left));
    padding-right: max(0.3rem, env(safe-area-inset-right));
    top: max(0.45rem, env(safe-area-inset-top));
  }
  .gs-drawer {
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
    padding-right: max(1.5rem, env(safe-area-inset-right));
  }
  .gs-foot__copy {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .gs-hero--bleed .gs-hero__scroll,
  .gs-hero--orchard .gs-hero__scroll {
    bottom: max(1rem, env(safe-area-inset-bottom));
  }
}

/* Reduced motion mobile overrides */
@media (prefers-reduced-motion: reduce) {
  .gs-drawer,
  .gs-drawer__nav a,
  .gs-drawer-backdrop {
    transition-duration: 0.01ms !important;
  }
  .gs-drawer.is-open .gs-drawer__nav a {
    transition-delay: 0s !important;
  }
}
