@media (max-width: 960px) {
  .desktop-nav { display: none; }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: grid; width: 44px; height: 44px; padding: 11px; place-content: center; gap: 6px; border: 1px solid var(--color-border); border-radius: 50%; background: #fff; }
  .menu-toggle span:not(.sr-only) { display: block; width: 18px; height: 1px; background: var(--color-brand-wine); }
  .mobile-menu { position: absolute; z-index: var(--z-menu); top: 76px; right: 0; left: 0; padding: 1rem var(--layout-gutter) 1.5rem; border-bottom: 1px solid var(--color-border); background: var(--color-surface); box-shadow: var(--shadow-soft); }
  .mobile-menu:not([hidden]) { display: grid; }
  .mobile-menu a { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--color-border); color: var(--color-brand-wine); font-weight: 760; text-decoration: none; }
  .hero-layout { min-height: auto; grid-template-columns: 1fr; padding-block: 5rem 7rem; }
  .hero-signal { position: absolute; inset: 0; min-height: 0; opacity: .75; pointer-events: none; }
  .hero-copy { position: relative; z-index: 2; }
  .hero-number { top: auto; right: -4rem; bottom: 8%; transform: rotate(-8deg); }
  .intro-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .wide-heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .area-row { grid-template-columns: .18fr .82fr; }
  .area-groups { grid-column: 2; }
  .product-card { grid-template-columns: 1fr; }
  .product-card:nth-child(even) .product-copy { order: 0; }
  .product-shot { min-height: 360px; }
  .method-grid, .cta-grid, .solutions-hero-grid, .solution-grid, .contact-heading, .contact-grid, .legal-grid, .error-grid { grid-template-columns: 1fr; }
  .method-number { margin-left: -4vw; }
  .cta-actions { justify-content: flex-start; }
  .solutions-hero-grid { padding-bottom: 4rem; }
  .product-collage { min-height: 520px; }
  .needs-nav ol { grid-template-columns: repeat(2, 1fr); }
  .needs-nav a { border-bottom: 1px solid var(--color-border); }
  .solution-reverse .solution-copy { order: 0; }
  .solution-visual { order: 2; }
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-row { grid-template-columns: repeat(2, 1fr); }
  .proof-row article:nth-child(2) { border-right: 0; }
  .footer-grid { grid-template-columns: 1.2fr .8fr .8fr; }
}
@media (max-width: 720px) {
  :root { --layout-gutter: 1.25rem; }
  .header-actions > .button { display: none; }
  .hero-layout { padding-block: 4.5rem 6rem; }
  .hero-copy h1 { font-size: clamp(2.9rem, 13.5vw, 5.1rem); overflow-wrap: normal; hyphens: none; }
  .hero-lede { font-size: 1rem; }
  .hero-index { bottom: .75rem; }
  .preview-grid { grid-template-columns: 1fr; }
  .preview-grid article { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .preview-grid article:last-child { border-bottom: 0; }
  .areas-section, .experience-section, .audiences-section, .contact-section, .products-section, .proof-section, .solution-block, .method-section, .institutional-cta { padding-block: clamp(4.5rem, 18vw, 6rem); }
  .area-row { grid-template-columns: 1fr; gap: 1.25rem; }
  .area-groups { grid-column: 1; grid-template-columns: 1fr; gap: 1.25rem; }
  .product-card { min-height: 0; }
  .product-copy { padding: 1.5rem; }
  .product-shot { min-height: 280px; }
  .case-grid { grid-template-columns: 1fr; }
  .case-meta { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .method-number { font-size: 8rem; }
  .product-collage { min-height: 420px; margin-inline: -1rem; }
  .collage-shot { width: 82%; }
  .needs-nav ol { grid-template-columns: 1fr; }
  .needs-nav a { min-height: 92px; grid-template-columns: auto 1fr auto; grid-template-rows: 1fr; align-items: center; gap: 1rem; border-right: 0; }
  .solution-number { margin-bottom: -.25rem; }
  .check-list { grid-template-columns: 1fr; }
  .field-graphic { min-height: 390px; }
  .audience-grid, .proof-row { grid-template-columns: 1fr; }
  .audience-grid article, .proof-row article { min-height: 190px; border-right: 0; }
  .proof-row article { border-bottom: 1px solid rgba(225,170,176,.25); }
  .proof-row h3 { margin-top: 2rem; }
  .contact-heading { gap: 1.25rem; }
  .contact-panel { padding: 1.35rem; }
  .form-row { grid-template-columns: 1fr; }
  .calendar-graphic { min-height: 220px; grid-template-columns: 1fr; }
  .calendar-graphic > span { font-size: 4.5rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-base { flex-direction: column; gap: .45rem; }
  .error-code { font-size: 8rem; }
}

@media (max-width: 370px) {
  .brand img { width: 98px; }
  .header-actions { gap: .25rem; }
  .language { min-width: 38px; }
  .hero-copy h1, .solutions-hero-copy h1 { font-size: 2.85rem; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
}
