@media (max-width: 1080px) {
    .button--nav {
        display: none;
    }

    .site-nav {
        gap: 2px;
    }

    .nav-link,
    .nav-trigger {
        padding-inline: 9px;
    }
}

@media (max-width: 960px) {
    :root {
        --gutter: 22px;
        --section: clamp(44px, 10vw, 66px);
    }

    .top-bar {
        padding-block: 7px;
        font-size: 0.72rem;
        line-height: 1.35;
    }

    .site-header__inner {
        position: relative;
        min-height: 76px;
        padding-block: 12px;
        gap: 14px;
    }

    .custom-logo,
    .footer-brand img {
        max-width: min(220px, 58vw);
    }

    .nav-toggle {
        position: relative;
        z-index: 70;
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        border: 1px solid var(--color-line);
        border-radius: var(--radius-sm);
        background: var(--color-surface);
    }

    .nav-toggle span {
        display: block;
        width: 20px;
        height: 2px;
        background: var(--color-dark);
        transition: transform 180ms var(--ease), opacity 180ms var(--ease);
    }

    .nav-toggle span + span {
        margin-top: -12px;
    }

    .nav-toggle[aria-expanded="true"] span:first-child {
        transform: translateY(6px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] span:last-child {
        transform: translateY(-6px) rotate(-45deg);
    }

    .site-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        z-index: 65;
        display: none;
        width: 100%;
        max-height: min(620px, calc(100dvh - 150px));
        overflow: auto;
        overscroll-behavior: contain;
        padding: 14px;
        border: 1px solid var(--color-line);
        border-radius: 18px;
        background: #fffdf8;
        box-shadow: var(--shadow-lg);
    }

    .site-nav,
    .site-nav * {
        min-width: 0;
    }

    .site-nav.is-open {
        display: grid;
        gap: 6px;
    }

    .nav-link,
    .nav-trigger,
    .button--nav {
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
    }

    .nav-item {
        width: 100%;
    }

    .mega-menu {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 100%;
        display: none;
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: 6px;
        padding: 6px 0 8px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none !important;
    }

    .mega-menu__intro {
        display: none;
    }

    .has-mega.is-open .mega-menu,
    .has-mega:focus-within .mega-menu {
        display: grid;
    }

    .mega-menu__grid {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px;
    }

    .mega-menu__grid a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: auto;
        padding: 12px 14px;
        border-radius: 10px;
        background: rgba(255, 245, 232, 0.74);
        color: var(--color-dark) !important;
        font-size: 0.95rem;
        font-weight: 850;
        line-height: 1.2;
        text-align: left;
    }

    .mega-menu__grid a::after {
        content: "";
        flex: 0 0 auto;
        width: 7px;
        height: 7px;
        margin-left: 12px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        opacity: 0.48;
        transform: rotate(-45deg);
    }

    .mega-menu__grid a:hover,
    .mega-menu__grid a:focus-visible {
        transform: none;
    }

    .mega-menu__grid strong {
        display: block;
        min-width: 0;
        overflow: hidden;
        color: var(--color-dark) !important;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mega-menu__grid span {
        display: none !important;
    }

    .button--nav {
        display: inline-flex;
    }

    .hero,
    .page-hero {
        min-height: auto;
        padding-top: 58px;
        padding-bottom: 48px;
    }

    .metric-strip,
    .product-callout,
    .cashback-panel,
    .feature-band,
    .split-section,
    .provider-profile-hero,
    .provider-overview-layout,
    .provider-section-intro,
    .provider-product,
    .provider-product:nth-child(even),
    .contact-layout,
    .site-footer__brand {
        grid-template-columns: 1fr;
    }

    .metric-strip,
    .layer-list,
    .service-grid,
    .marketplace-grid,
    .provider-grid,
    .provider-info-grid,
    .provider-trust-grid,
    .insight-grid,
    .site-footer__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .included-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .provider-overview-section .section-heading {
        margin-bottom: 6px;
    }

    .provider-overview-layout .provider-facts {
        grid-column: auto;
    }

    .provider-product:nth-child(even) .provider-product__media {
        order: 0;
    }

    .product-callout {
        grid-template-columns: 1fr;
    }

    /* Provider directory tablet layout */
    .provider-directory-controls {
        grid-template-columns: 1fr;
    }

    .provider-directory__head {
        display: none;
    }

    .provider-directory-row {
        grid-template-columns: 1fr;
        gap: 22px;
        align-items: stretch;
    }

    .provider-directory-row__company {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 22px;
        align-items: start;
    }

    .provider-directory-row__logo-stack {
        justify-items: start;
    }

    .provider-directory-row__category {
        padding-top: 0;
    }

    .provider-directory-row__actions {
        width: 100%;
        min-width: 0;
    }

    .provider-directory-row__actions .button {
        width: 100%;
    }
}

@media (max-width: 680px) {
    h1 {
        max-width: 100%;
        font-size: clamp(2.45rem, 11.6vw, 3.35rem);
        line-height: 1.04;
    }

    h2 {
        max-width: 100%;
        font-size: clamp(1.75rem, 9vw, 2.55rem);
        line-height: 1.08;
    }

    h3 {
        line-height: 1.14;
    }

    .page-copy,
    .hero-copy {
        font-size: 1rem;
        line-height: 1.58;
    }

    .top-bar {
        justify-content: flex-start;
        font-size: 0.69rem;
    }

    .site-nav {
        max-height: calc(100dvh - 132px);
    }

    .nav-link,
    .nav-trigger,
    .button--nav {
        min-height: 46px;
        padding-inline: 14px;
        font-size: 1rem;
    }

    .hero-bg {
        display: none;
    }

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

    .marketplace-tools {
        grid-template-columns: 1fr;
    }

    .hero-actions .button,
    .marketplace-search,
    .contact-form .button {
        width: 100%;
    }

    .metric-strip,
    .layer-list,
    .service-grid,
    .marketplace-grid,
    .provider-grid,
    .provider-info-grid,
    .provider-trust-grid,
    .insight-grid,
    .site-footer__links {
        grid-template-columns: 1fr;
    }

    .included-list {
        grid-template-columns: 1fr;
    }

    .provider-profile-hero {
        padding-block: 34px;
    }

    .provider-profile-hero__title h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 10vw, 3.15rem);
    }

    .provider-video,
    .provider-media {
        border-radius: 14px;
    }

    .provider-overview-layout .provider-facts,
    .provider-product__features {
        grid-template-columns: 1fr;
    }

    .provider-facts div + div {
        border-left: 0;
        border-top: 1px solid var(--color-line);
    }

    /* Provider directory mobile layout */
    .provider-directory-row {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 18px;
    }

    .provider-directory-row__company {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .provider-directory-row__logo-stack {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        align-items: center;
    }

    .provider-directory-row__logo {
        width: 72px;
        height: 72px;
        flex: 0 0 auto;
    }

    .provider-directory-row__logo .provider-initials {
        width: 48px;
        height: 48px;
        font-size: 1rem;
    }

    .provider-directory-row__status {
        flex: 1 1 auto;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }

    .provider-directory-row__content h2,
    .provider-directory-row h2 {
        font-size: 1.08rem;
    }

    .provider-directory-row__actions {
        width: 100%;
        min-width: 0;
    }

    .provider-directory-row__actions .button {
        width: 100%;
        min-height: 50px;
    }

    .product-callout,
    .cashback-panel,
    .content-band,
    .feature-band,
    .cta-panel {
        padding: 22px;
        border-radius: 16px;
    }

    .section {
        padding-block: var(--section);
    }

    .section-band {
        margin-block: 34px;
    }

    .section-band .section {
        padding-block: 44px;
    }

    .section-heading {
        margin-bottom: 28px;
    }

    .metric-strip {
        margin-top: 32px;
    }

    .metric-strip > div,
    .layer-list article,
    .service-grid article,
    .market-card,
    .info-card {
        padding: 20px;
    }

    .included-list article {
        padding: 20px;
    }

    .site-footer {
        margin-top: 56px;
        padding-top: 42px;
    }

    .site-footer__brand {
        gap: 22px;
        padding-bottom: 30px;
    }

    .site-footer .button--footer {
        width: 100%;
        color: var(--color-dark);
        background: #ffd384;
    }

    .process-list article {
        grid-template-columns: 1fr;
    }
}