/**
 * Showcase Pro responsive rules.
 */

@media (max-width: 960px) {
  .hero-body,
  .what-grid,
  .ai-grid,
  .story-inner,
  .addons-layout {
    grid-template-columns: 1fr;
  }

  .hero-body,
  .what-grid,
  .ai-grid,
  .story-inner,
  .addons-layout {
    gap: var(--space-2xl);
  }

  .hero-annotation {
    position: static;
    margin-top: var(--space-md);
  }

  .what-sticky-area {
    min-height: 0;
    height: auto;
  }

  .sticky-note {
    position: relative;
    inset: auto;
    width: min(100%, 22rem);
    margin-bottom: var(--space-md);
  }

  .sn-yellow,
  .sn-pink,
  .sn-peach {
    top: auto;
    left: auto;
  }

  .arch-layer {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .al-annotation {
    display: none;
  }

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

  .story-logo-col {
    align-items: flex-start;
    flex-direction: row;
  }

  .ai-terminal,
  .code-card {
    transform: none;
  }
}

@media (max-width: 768px) {
  .section,
  .addons,
  .contact-section {
    padding-block: clamp(var(--space-2xl), 10vw, var(--space-3xl));
  }

  .wrap {
    width: min(calc(100% - 2rem), var(--content-width));
  }

  .header-inner {
    gap: var(--space-md);
  }

  .nav.site-nav,
  .nav {
    display: none;
  }

  .nav.site-nav.open,
  .nav.site-nav.is-open,
  .nav.site-nav.active,
  .nav.open,
  .nav.active {
    display: block;
  }

  .burger,
  .burger.mobile-menu-toggle {
    display: flex;
  }

  .hero {
    padding-top: calc(var(--header-height) + var(--space-2xl));
    padding-bottom: var(--space-2xl);
  }

  .hero-eyebrow {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: var(--space-xl);
  }

  .hero-title {
    font-size: clamp(3rem, 18vw, 5rem);
    letter-spacing: -0.04em;
  }

  .hero-lead,
  .body-lg {
    font-size: var(--font-size-base);
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .hero-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .stat-pill {
    justify-content: space-between;
    width: 100%;
    padding: var(--space-sm) var(--space-md);
  }

  .section-label {
    margin-bottom: var(--space-xl);
  }

  .section-title,
  .story-copy h2,
  .contact-section h2 {
    font-size: clamp(2rem, 12vw, 3rem);
  }

  .what-quote {
    padding: var(--space-lg);
  }

  .what-quote p {
    font-size: clamp(1.35rem, 8vw, 2rem);
  }

  .arch-layers,
  .code-card {
    box-shadow: 4px 4px 0 var(--color-ink);
  }

  .arch-layer {
    grid-template-columns: 1fr;
    gap: var(--space-md);
    padding: var(--space-lg);
  }

  .al-num {
    font-size: var(--font-size-lg);
  }

  .al-tags {
    gap: var(--space-2xs);
  }

  .cc-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .cc-hand {
    width: 100%;
  }

  .cc-body {
    padding: var(--space-lg);
    font-size: clamp(0.68rem, 3.2vw, var(--font-size-sm));
  }

  .ai-p {
    grid-template-columns: 1fr;
    padding: var(--space-md);
  }

  .ai-terminal {
    max-width: 100%;
  }

  .at-body {
    padding: var(--space-md);
    font-size: clamp(0.68rem, 3.2vw, var(--font-size-sm));
    overflow-x: auto;
  }

  .story-logo-col {
    align-items: flex-start;
    flex-direction: column;
  }

  .story-logo-wrap {
    width: 8.5rem;
    height: 8.5rem;
  }

  .story-logo {
    width: 6.5rem;
  }

  .addons-grid,
  .showcase-case-grid {
    grid-template-columns: 1fr;
  }

  .showcase-case-list {
    padding-inline: var(--page-gutter);
  }

  .footer-inner,
  .footer-nav {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .wrap {
    width: min(calc(100% - 1.25rem), var(--content-width));
  }

  .hero-title {
    font-size: clamp(2.65rem, 17vw, 4.25rem);
  }

  .hero-highlight-box,
  .what-quote,
  .ai-p,
  .case-field-notes__meta-card {
    border-radius: var(--radius-md);
  }

  .sticky-note {
    width: 100%;
    transform: none;
  }

  .sticky-note:hover {
    transform: none !important;
  }

  .addon-strip span {
    width: 100%;
    text-align: center;
  }
}
