@media (max-width: 1180px) {
  .primary-nav {
    display: none;
  }
  .menu-toggle {
    display: inline-grid;
  }
  .nav-actions .btn--outline {
    display: none;
  }
  .nav-row {
    grid-template-columns: 1fr auto;
  }
  .page-masthead {
    background: linear-gradient(
      180deg,
      var(--white) 0 62%,
      var(--surface-blue) 62%
    );
  }
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1.2fr repeat(2, 1fr);
  }
  .footer-grid > div:last-child {
    grid-column: 2/-1;
  }
  .risk-principles {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  :root {
    --space-7: 3.25rem;
  }
  .container {
    width: min(calc(100% - 2rem), var(--container));
  }
  .utility-meta span {
    display: none;
  }
  .utility-action span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .utility-actions {
    gap: 0.15rem;
  }
  .nav-row {
    min-height: 4.5rem;
    grid-template-columns: 1fr auto;
  }
  .brand-logo {
    width: 10.5rem;
  }
  .nav-actions .btn {
    display: none;
  }
  .hero__grid,
  .page-masthead__grid,
  .split-band,
  .help-grid,
  .service-finder,
  .report-preview,
  .page-intro-grid {
    grid-template-columns: 1fr;
  }
  .page-masthead figure {
    order: -1;
  }
  .section-heading {
    display: grid;
    align-items: start;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .card-grid {
    grid-template-columns: 1fr;
  }
  .verified-panel {
    grid-template-columns: repeat(2, 1fr);
  }
  .help-list {
    grid-template-columns: 1fr;
  }
  .risk-principles {
    grid-template-columns: 1fr;
  }
  .stepper {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid > div:not(.footer-brand) {
    display: none;
  }
  .footer-mobile-groups {
    display: grid;
    gap: 0.75rem;
    margin-top: 2rem;
  }
  .footer-mobile-groups details {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 0.7rem;
    padding: 0.7rem;
  }
  .footer-mobile-groups summary {
    font-weight: 800;
    min-height: 2.75rem;
    display: flex;
    align-items: center;
  }
  .ticker__grid {
    grid-template-columns: auto minmax(0, 1fr) 3rem;
    padding-block: 0.5rem;
  }
  .ticker__link {
    grid-column: 1/-1;
    justify-self: start;
    padding: 0.25rem 0;
  }
  .ticker__copy {
    font-size: 0.9rem;
  }
  
  
  .chat-panel {
    inset: 0;
    width: 100%;
    height: 100dvh;
    border-radius: 0;
  }
  .content-rail {
    position: static;
  }
  .comparison-wrap {
    border: 0;
    overflow: visible;
  }
  .comparison-table,
  .comparison-table thead,
  .comparison-table tbody,
  .comparison-table th,
  .comparison-table td,
  .comparison-table tr {
    display: block;
    min-width: 0;
  }
  .comparison-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .comparison-table tr {
    border: 1px solid var(--line);
    border-radius: 0.8rem;
    margin-bottom: 1rem;
    padding: 0.5rem;
    background: var(--white);
  }
  .comparison-table td {
    border: 0;
    padding: 0.5rem;
  }
  .comparison-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 800;
    color: var(--brand-blue);
  }
  .chat-launcher {
    right: 0.25rem;
    bottom: 0.5rem;
  }
  
  .modal__shell {
    width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }
}
@media (max-width: 480px) {
  .container {
    width: calc(100% - 2rem);
  }
  .verified-panel {
    grid-template-columns: 1fr;
  }
  .legal-ledger {
    font-size: 0.86rem;
  }
  .hero {
    padding-top: 2.5rem;
  }
  .ticker__label {
    padding: 0.65rem 0.7rem;
  }
  .ticker__grid {
    gap: 0.55rem;
  }
  .ticker__viewport {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
  }
  .btn {
    width: 100%;
  }
  .cluster > .btn {
    flex: 1 1 100%;
  }
  .modal__footer {
    display: grid;
  }
  .footer-legal {
    padding-bottom: 5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  
  .ticker__copy--duplicate {
    display: none;
  }
  .mobile-menu {
    transition: none;
  }
}
@media (max-width: 768px) {
  
  .chat-panel .chat-header,
  .chat-panel .chat-composer {
    position: relative;
    z-index: 2;
  }
  .chat-body {
    overscroll-behavior: contain;
  }
}

/* Generation 01.5 compact value-card responsive rule */
@media (max-width: 768px) {
  .risk-principles--compact {
    grid-template-columns: 1fr;
  }
}

/* Generation 01.6 responsive integration */
@media (max-width: 1180px) {
  .page-masthead--wide-image .page-masthead__grid {
    grid-template-columns: minmax(18rem, 0.84fr) minmax(28rem, 1.16fr);
  }
}
@media (max-width: 768px) {
  .page-masthead--wide-image {
    background: var(--white);
  }
  .page-masthead--wide-image .page-masthead__grid {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0;
  }
  .page-masthead--wide-image .stack {
    order: 2;
    padding-block: 2.75rem;
  }
  .page-masthead--wide-image .masthead-visual--wide {
    order: 1;
    width: calc(100% + 2rem);
    margin-inline: -1rem;
    border-radius: 0;
    min-height: 25rem;
  }
  .page-masthead--wide-image .production-image-crop--masthead {
    min-height: 20rem;
  }
  .onboarding-layout {
    grid-template-columns: 1fr;
  }
  .onboarding-visual {
    margin-top: 1.5rem;
  }
  
  
  
  
  .ticker.is-paused .ticker__grid,
  .ticker.is-reduced-motion .ticker__grid {
    grid-template-columns: auto minmax(0, 1fr) 3rem;
    align-items: start;
    padding-block: 0.75rem;
  }
  .ticker.is-paused .ticker__label,
  .ticker.is-reduced-motion .ticker__label {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }
  .ticker.is-paused .ticker__control {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .ticker.is-paused .ticker__viewport,
  .ticker.is-reduced-motion .ticker__viewport {
    grid-column: 1/-1;
    grid-row: 2;
    min-height: 0;
    padding: 0.4rem 0;
    overflow: visible;
  }
  .ticker.is-paused .ticker__link,
  .ticker.is-reduced-motion .ticker__link {
    grid-column: 1/-1;
    grid-row: 3;
    padding: 0.25rem 0;
  }
  .ticker.is-reduced-motion .ticker__grid {
    grid-template-columns: auto minmax(0, 1fr);
  }
}
@media (max-width: 390px) {
  .page-masthead--wide-image .masthead-visual--wide {
    min-height: 22rem;
  }
  .page-masthead--wide-image .production-image-crop--masthead {
    min-height: 17rem;
  }
  
  
}
@media (prefers-reduced-motion: reduce) {
  
}

/* Generation 01.7 authoritative Home hero responsive rules */
@media (max-width: 1180px) {
  .hero--wide-image .hero__grid {
    grid-template-columns: minmax(0, 34rem) 1fr;
    min-height: 44rem;
  }
  .hero--wide-image .hero__copy {
    max-width: 34rem;
  }
  .hero--wide-image .hero__copy h1 {
    font-size: clamp(3.35rem, 5.6vw, 4.6rem);
    max-width: 11.5ch;
  }
}
@media (max-width: 768px) {
  .hero--wide-image::before {
    display: none;
  }
  .hero--wide-image .hero__grid {
    display: block;
    min-height: 0;
    padding: 2.7rem 0 2.4rem;
  }
  .hero--wide-image .hero__copy {
    max-width: none;
    padding: 0;
    gap: 1rem;
  }
  .hero--wide-image .hero__copy h1 {
    font-size: clamp(2.5rem, 11vw, 3.5rem);
    max-width: 13ch;
    line-height: 1.03;
  }
  .hero--wide-image .hero__copy .cluster {
    flex-wrap: wrap;
  }
  .hero--wide-image .hero-visual--wide {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    pointer-events: none;
  }
  .hero--wide-image .production-image-crop--hero {
    width: 100%;
    height: auto;
    aspect-ratio: 5/6;
    min-height: 0;
  }
  .hero--wide-image .production-image--hero {
    object-position: 100% 50%;
  }
  .hero-staging-caption .visual-caption {
    padding-block: 0.75rem;
  }
}
@media (max-width: 390px) {
  .hero--wide-image .hero__grid {
    padding-block: 2.35rem 2.15rem;
  }
  .hero--wide-image .hero__copy h1 {
    font-size: clamp(2.3rem, 10.8vw, 2.75rem);
    max-width: 12.5ch;
  }
  .hero--wide-image .production-image-crop--hero {
    aspect-ratio: 5/6;
  }
}
