@media (max-width: 1240px) {
    .site-header__inner {
        gap: 1.3rem;
    }

    .desktop-nav__list {
        gap: 1rem;
    }
}

@media (max-width: 1080px) {
    :root {
        --header-height: 80px;
        --section-space: clamp(5rem, 9vw, 7rem);
    }

    .desktop-nav {
        display: none;
    }

    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .site-header__inner > .brand {
        max-width: 100%;
    }

    .menu-toggle,
    .mobile-menu {
        display: block;
    }

    .site-header.menu-is-open {
        height: var(--header-height);
        color: var(--white);
        background: transparent;
        border-bottom-color: transparent;
        box-shadow: none;
        /* Keep the fixed mobile panel relative to the viewport after scrolling. */
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .mobile-menu {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .mobile-menu__nav {
        position: relative;
        z-index: 1;
        display: flex;
        flex: 1 0 auto;
        align-items: center;
    }

    .mobile-menu__nav ul {
        width: 100%;
    }

    .mobile-menu__submenu summary {
        cursor: pointer;
        padding: .4rem 0;
        font-size: .9rem;
    }

    .mobile-menu__nav .mobile-menu__submenu a {
        padding: .5rem 1rem;
        font-family: var(--font-sans);
        font-size: 1rem;
        line-height: 1.4;
    }

    .mobile-menu__nav a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block: 0.48rem;
        font-family: var(--font-display);
        font-size: clamp(2.4rem, 6.4vw, 4.7rem);
        line-height: 1;
    }

    .mobile-menu__nav a span {
        font-family: var(--font-sans);
        font-size: 1.1rem;
        transition: transform var(--transition);
    }

    .mobile-menu__nav a:hover span {
        transform: translate(0.3rem, -0.3rem);
    }

    .mobile-menu__nav a[aria-current="page"] {
        color: var(--accent);
    }

    .mobile-menu__footer {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        padding-top: 1.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    .mobile-menu__footer p {
        font-family: var(--font-display);
        font-size: 1.2rem;
        font-style: italic;
    }

    .section-heading--split {
        grid-template-columns: 1fr 0.7fr;
        gap: 3rem;
    }

    .category-card {
        min-height: 19rem;
    }

    .editorial__grid {
        gap: 4.5rem;
    }

    .editorial__facts {
        grid-template-columns: 1fr;
    }

    .editorial__facts div {
        padding: 0.8rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .editorial__facts div:last-child {
        border-bottom: 0;
    }

    .customize__steps {
        grid-template-columns: repeat(3, 1fr);
    }

    .customize-step {
        border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    }

    .customize-step:nth-child(3) {
        border-right: 0;
    }

    .customize-step:nth-child(n + 4) {
        border-bottom: 0;
    }

    .made-your-way__inner {
        min-height: 46rem;
    }

    .made-your-way__visual {
        min-height: 42rem;
    }

    .location-cta__panel {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .location-cta__copy {
        padding: 3.5rem;
    }
}

@media (max-width: 820px) {
    .container,
    .container-wide {
        width: min(calc(100% - 2.25rem), var(--container));
    }

    .hero__media::after {
        background: linear-gradient(90deg, rgba(9, 31, 84, 0.56) 0%, rgba(9, 31, 84, 0.18) 70%, transparent 100%);
    }

    .section-heading--split {
        display: block;
    }

    .section-heading__aside {
        max-width: 34rem;
        padding-top: 1.5rem;
    }

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

    .product-card:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 0.6rem);
        margin-inline: auto;
    }

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

    .editorial__grid {
        grid-template-columns: 1fr;
    }

    .editorial__media {
        width: min(100%, 38rem);
        margin-inline: auto;
    }

    .editorial__facts {
        grid-template-columns: repeat(3, 1fr);
    }

    .editorial__facts div {
        padding: 0 0.8rem;
        border-right: 1px solid var(--border);
        border-bottom: 0;
    }

    .made-your-way__inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .made-your-way__copy {
        max-width: 36rem;
        padding-bottom: 2rem;
    }

    .made-your-way__visual {
        width: min(100%, 38rem);
        min-height: 38rem;
        margin-inline: auto;
    }

    .location-cta__panel {
        grid-template-columns: 1fr;
    }

    .location-cta__copy {
        padding: 4rem;
    }

    .location-cta__map {
        min-height: 28rem;
        margin: 0 1.5rem 1.5rem;
    }

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

    .news-card:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 0.6rem);
    }

    .site-footer__intro {
        display: block;
    }

    .site-footer__intro p {
        margin-top: 2rem;
    }

    .site-footer__columns {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3rem;
    }

    .error-page {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding-block: calc(var(--header-height) + 4rem) 5rem;
    }

    .error-page__bubble {
        width: min(70vw, 25rem);
    }
}

@media (max-width: 600px) {
    :root {
        --header-height: 70px;
        --radius: 1.3rem;
        --radius-lg: 2rem;
        --section-space: 5rem;
    }

    .container,
    .container-wide {
        width: min(calc(100% - 1.5rem), var(--container));
    }

    .site-header.is-scrolled {
        height: 66px;
    }

    .brand {
        width: 8.8rem;
    }

    .site-header__inner {
        gap: 0.5rem;
    }

    .site-header__inner > .header-social {
        gap: 0.1rem;
    }

    .site-header__inner > .header-social .header-social__link {
        width: 2.15rem;
        border-color: transparent;
    }

    .menu-toggle {
        width: 2.7rem;
        height: 2.7rem;
    }

    .mobile-menu {
        padding: calc(var(--header-height) + 1.3rem) 1.15rem 1.25rem;
    }

    .mobile-menu__nav a {
        padding-block: 0.38rem;
        font-size: clamp(2rem, 10.8vw, 3.25rem);
    }

    .mobile-menu__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.2rem;
    }

    .mobile-menu__footer p {
        display: none;
    }

    .hero {
        min-height: max(43rem, 100svh);
    }

    .hero__content {
        min-height: max(43rem, 100svh);
        justify-content: flex-start;
        padding-top: calc(var(--header-height) + 4.2rem);
    }

    .hero__media img {
        object-position: 67% center;
    }

    .hero__media::after {
        background: linear-gradient(180deg, rgba(9, 31, 84, 0.82) 0%, rgba(9, 31, 84, 0.25) 52%, rgba(9, 31, 84, 0.38) 100%);
    }

    .hero__eyebrow {
        max-width: 18rem;
        margin-bottom: 1.2rem;
        font-size: 0.61rem;
    }

    .hero h1,
    .hero h2 {
        max-width: 6.2ch;
        margin-bottom: 1.25rem;
        font-size: clamp(4rem, 19vw, 5.5rem);
    }

    .hero__content > p {
        max-width: 25rem;
        margin-bottom: 1.5rem;
        font-size: 0.96rem;
        line-height: 1.55;
    }

    .hero__scroll {
        right: 0.75rem;
        bottom: 1rem;
    }

    .hero__scroll > span:first-child {
        display: none;
    }

    .hero__controls {
        bottom: 1.2rem;
    }

    h2 {
        font-size: clamp(2.9rem, 14vw, 4.35rem);
    }

    .section-heading {
        margin-bottom: 2.5rem;
    }

    .section-heading__aside p {
        font-size: 0.95rem;
    }

    .product-grid {
        display: flex;
        width: calc(100% + 0.75rem);
        overflow-x: auto;
        padding: 0 0.75rem 1.2rem 0;
        margin-right: -0.75rem;
        gap: 0.85rem;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .product-grid::-webkit-scrollbar {
        display: none;
    }

    .product-card,
    .product-card:last-child {
        width: min(82vw, 21rem);
        flex: 0 0 min(82vw, 21rem);
        margin: 0;
        scroll-snap-align: start;
    }

    .product-card__media {
        border-radius: 1.2rem;
    }

    .product-card__body p {
        min-height: 0;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }

    .category-card {
        min-height: 17rem;
    }

    .category-card img {
        right: -1rem;
        bottom: -3rem;
        width: 60%;
    }

    .category-card__copy h3 {
        font-size: 2.8rem;
    }

    .editorial__media {
        padding: 0 0.5rem 2.5rem 0.5rem;
    }

    .editorial__media::before {
        inset: 3rem 0 0;
    }

    .editorial__media-frame {
        border-radius: 9rem 9rem 1.2rem 1.2rem;
    }

    .editorial__stamp {
        right: -0.2rem;
        width: 8.5rem;
        height: 8.5rem;
    }

    .editorial__stamp strong {
        font-size: 1.7rem;
    }

    .editorial__content h2 br {
        display: none;
    }

    .editorial__facts {
        grid-template-columns: 1fr;
    }

    .editorial__facts div {
        padding: 0.75rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .editorial__facts div:last-child {
        border-bottom: 0;
    }

    .customize__heading {
        text-align: left;
    }

    .customize__heading .eyebrow::before {
        display: block;
    }

    .customize__steps {
        display: flex;
        width: calc(100% + 0.75rem);
        overflow-x: auto;
        padding-right: 0.75rem;
        margin-right: -0.75rem;
        border-block: 0;
        gap: 0.75rem;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .customize-step,
    .customize-step:nth-child(n) {
        width: 78vw;
        min-height: 20rem;
        flex: 0 0 78vw;
        padding: 1.3rem 1.2rem 2rem;
        background: rgba(255, 255, 255, 0.055);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 1.2rem;
        scroll-snap-align: start;
    }

    .customize-step__icon {
        width: 6.2rem;
        height: 6.2rem;
    }

    .customize__cta {
        text-align: left;
    }

    .made-your-way__copy {
        padding-top: 5rem;
    }

    .made-your-way__copy h2 br:last-child {
        display: none;
    }

    .made-your-way__visual {
        min-height: 30rem;
    }

    .made-your-way__visual::after,
    .made-your-way__visual img {
        right: 0;
        left: 0;
        width: 100%;
        border-radius: 12rem 12rem 0 0;
    }

    .made-your-way__word--one {
        top: 17%;
        left: 0;
    }

    .made-your-way__word--two {
        right: 0;
    }

    .location-cta__panel {
        border-radius: 1.6rem;
    }

    .location-cta__copy {
        padding: 3rem 1.3rem 2rem;
    }

    .location-search-preview {
        margin-block: 1.5rem 1rem;
    }

    .location-cta__copy > .button {
        width: 100%;
    }

    .location-cta__map {
        min-height: 22rem;
        margin: 0 0.7rem 0.7rem;
        border-radius: 1.15rem;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card:last-child {
        width: 100%;
        grid-column: auto;
    }

    .news-card:not(:last-child) {
        padding-bottom: 2.4rem;
        border-bottom: 1px solid var(--border);
    }

    .cookie-banner {
        right: 0.75rem;
        bottom: 0.75rem;
        left: 0.75rem;
        align-items: stretch;
        padding: 1.1rem;
        flex-direction: column;
        gap: 1rem;
    }

    .cookie-banner__actions {
        justify-content: space-between;
    }

    .site-footer {
        padding-top: 5rem;
    }

    .footer-brand {
        width: 12.5rem;
    }

    .site-footer__columns {
        padding-block: 3rem;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem 1.2rem;
    }

    .site-footer__legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    .preview-hero__glow {
        top: auto;
        right: -8rem;
        bottom: -8rem;
        width: 30rem;
        transform: none;
    }

    .preview-hero__content h1 {
        font-size: clamp(3.8rem, 18vw, 5.3rem);
    }

    .error-page {
        padding-inline: 1rem;
    }
}

@media (max-width: 370px) {
    .hero h1,
    .hero h2 {
        font-size: 3.75rem;
    }

    .hero__eyebrow {
        letter-spacing: 0.12em;
    }

    .button {
        gap: 0.8rem;
    }

    .mobile-menu__nav a {
        font-size: 1.9rem;
    }

    .site-footer__columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .catalog-results__heading {
        align-items: flex-start;
    }

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

    .product-gallery {
        position: static;
        width: min(100%, 42rem);
        margin-inline: auto;
    }

    .product-detail__content {
        max-width: 42rem;
    }

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

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

    .product-nutrition__inner > p {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .catalog-head {
        padding: calc(var(--header-height) + 2.25rem) 0 2.5rem;
    }

    .catalog-head h1 {
        font-size: clamp(2.3rem, 10vw, 3rem);
    }

    .catalog-head__steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .catalog-head__steps li {
        flex-direction: column;
        gap: 0.4rem;
        font-size: 0.68rem;
    }

    .catalog-search__field {
        min-height: 3.6rem;
        padding-left: 1rem;
    }

    /* 16px or more: iOS zooms into smaller inputs on focus. */
    .catalog-search__field input {
        padding-inline: 0.7rem;
        font-size: 1rem;
    }

    .catalog-search__submit {
        width: 3.25rem;
        flex: 0 0 auto;
        justify-content: center;
        padding-inline: 0;
        font-size: 0.64rem;
    }

    .catalog-search__submit span {
        display: none;
    }

    .catalog-filter-bar {
        top: 66px;
    }

    .catalog-filter-bar__scroller {
        width: 100%;
        padding-inline: 0.75rem;
    }

    .catalog-filter {
        min-height: 4.1rem;
        padding-inline: 0.75rem;
    }

    .catalog-results__heading {
        display: block;
    }

    .catalog-results__count {
        display: inline-block;
        margin-top: 1rem;
    }

    .catalog-grid {
        display: grid;
        width: 100%;
        overflow: visible;
        padding: 0;
        margin: 0;
        grid-template-columns: 1fr;
    }

    .catalog-grid .product-card,
    .catalog-grid .product-card:last-child {
        width: 100%;
        max-width: none;
        flex: none;
    }

    .product-detail {
        padding: calc(var(--header-height) + 2rem) 0 5rem;
    }

    .product-gallery__stage {
        border-radius: 1.4rem;
    }

    .product-detail__content > h1 {
        font-size: clamp(3.7rem, 17vw, 5.2rem);
    }

    .product-options-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .product-detail__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-detail__actions .button {
        width: 100%;
    }

    .topping-grid {
        grid-template-columns: 1fr;
    }

    .product-nutrition dl {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-nutrition dl div:nth-child(odd) {
        border-left: 0;
    }
}

@media (max-width: 1000px) {
    .locator-layout {
        grid-template-columns: 1fr;
    }

    .locator-map {
        position: relative;
        top: auto;
        min-height: 32rem;
        grid-row: 1;
    }

    .store-detail__grid,
    .story-process__grid {
        grid-template-columns: 1fr;
    }

    .store-detail__media,
    .story-process__media {
        width: min(100%, 42rem);
        margin-inline: auto;
    }

    .store-detail__content {
        max-width: 46rem;
    }

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

    .story-value:last-child {
        grid-column: 1 / -1;
        min-height: 24rem;
    }

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-aside {
        position: static;
        max-width: 44rem;
    }

    .locator-layout--showroom {
        grid-template-columns: 1fr;
    }

    .showroom-visit-card {
        position: static;
        max-width: 46rem;
    }
}

@media (max-width: 820px) {
    .store-information__grid,
    .store-map-panel,
    .story-intro__grid {
        grid-template-columns: 1fr;
    }

    .store-map-panel__visual {
        min-height: 27rem;
    }

    .story-intro__copy {
        padding-top: 0;
    }

    .story-number-grid {
        grid-template-columns: 1fr;
    }

    .story-number-grid > div {
        padding: 1.8rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .story-number-grid > div:last-child {
        border-bottom: 0;
    }

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

    .article-share {
        position: static;
        align-items: center;
        flex-direction: row;
    }

    .article-share > span {
        margin: 0 0.4rem 0 0;
        writing-mode: initial;
    }
}

@media (max-width: 600px) {
    .locator-hero,
    .news-hero,
    .contact-hero {
        min-height: 39rem;
        padding: calc(var(--header-height) + 3rem) 0 3.5rem;
    }

    .locator-hero h1,
    .news-hero h1,
    .contact-hero h1 {
        max-width: 8ch;
        font-size: clamp(3.8rem, 17vw, 5.2rem);
    }

    .locator-hero__orb--one {
        top: 50%;
        right: -15rem;
        width: 28rem;
        opacity: 0.45;
    }

    .locator-hero__orb--two {
        top: 6.5rem;
        right: 1rem;
        width: 3rem;
    }

    .locator-search__field {
        min-height: 4rem;
        padding-left: 1rem;
    }

    .locator-search__field input {
        padding-inline: 0.7rem;
        font-size: 0.82rem;
    }

    .locator-search__submit {
        width: 3.25rem;
        flex: 0 0 auto;
        justify-content: center;
        padding-inline: 0;
    }

    .locator-search__submit span {
        display: none;
    }

    .locator-results-heading {
        display: block;
    }

    .locator-results-heading > p {
        display: inline-block;
        margin-top: 0.9rem;
    }

    .location-card {
        grid-template-columns: 1fr;
    }

    .location-card__media {
        min-height: 14rem;
        aspect-ratio: 16 / 10;
    }

    .location-card__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .locator-map {
        min-height: 24rem;
        border-width: 0.4rem;
    }

    .locator-map__pin {
        width: 3.15rem;
        height: 3.15rem;
    }

    .store-detail {
        padding: calc(var(--header-height) + 2rem) 0 5rem;
    }

    .store-detail__media {
        border-radius: 9rem 9rem 1.3rem 1.3rem;
    }

    .store-detail__content h1 {
        font-size: clamp(3.7rem, 17vw, 5.2rem);
    }

    .store-detail__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .store-detail__actions .button {
        width: 100%;
    }

    .store-contact-card {
        padding: 2rem 1.2rem;
    }

    .store-map-panel__visual {
        min-height: 21rem;
    }

    .story-hero {
        min-height: max(43rem, 92svh);
    }

    .story-hero__veil {
        background: linear-gradient(180deg, rgba(9, 31, 84, 0.84), rgba(9, 31, 84, 0.32) 68%, rgba(9, 31, 84, 0.56));
    }

    .story-hero h1 {
        font-size: clamp(4rem, 18vw, 5.5rem);
    }

    .story-values__grid {
        grid-template-columns: 1fr;
    }

    .story-value,
    .story-value:last-child {
        min-height: 24rem;
        grid-column: auto;
    }

    .story-value h2 {
        margin-top: 3rem;
    }

    .story-process__media {
        border-radius: 9rem 9rem 1.2rem 1.2rem;
    }

    .story-quote blockquote {
        font-size: clamp(2.8rem, 13vw, 4rem);
    }

    .news-filters {
        top: 66px;
    }

    .news-filters__inner {
        width: 100%;
        padding-inline: 0.75rem;
    }

    .article-header {
        padding-top: 2.5rem;
    }

    .article-header h1 {
        font-size: clamp(3.7rem, 16vw, 5.1rem);
    }

    .article-header__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.5rem;
    }

    .article-cover {
        width: calc(100% - 1rem);
        aspect-ratio: 4 / 3;
        border-width: 0.4rem;
    }

    .article-layout {
        padding-top: 3rem;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-field--full {
        grid-column: auto;
    }

    .contact-form-card {
        padding: 1.3rem;
        border-radius: 1.4rem;
    }

    .contact-form__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-form__footer .button {
        width: 100%;
    }

    .hero--b2b h1,
    .hero--b2b h2 {
        max-width: 10ch;
        font-size: clamp(3.7rem, 16vw, 5.2rem);
    }

    .hero__actions,
    .commercial-hero__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .hero__actions .button,
    .commercial-hero__actions .button {
        width: 100%;
    }

    .business-proof__grid {
        grid-template-columns: 1fr;
    }

    .business-proof__grid > div {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .business-proof__grid > div:last-child {
        border-bottom: 0;
    }

    .business-segments__grid,
    .commercial-benefits__grid {
        grid-template-columns: 1fr;
    }

    .business-segment {
        min-height: 23rem;
    }

    .home-faq__grid,
    .commercial-faq__grid,
    .commercial-intro__grid,
    .commercial-steps__grid,
    .commercial-cta__inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .home-faq__grid .section-heading,
    .commercial-faq__grid .section-heading {
        position: static;
    }

    .commercial-hero {
        min-height: max(43rem, 92svh);
    }

    .commercial-hero__veil {
        background: linear-gradient(180deg, rgba(9, 31, 84, 0.86), rgba(9, 31, 84, 0.52));
    }

    .commercial-hero__content h1 {
        font-size: clamp(3.6rem, 16vw, 5.2rem);
    }

    .commercial-benefit {
        min-height: 19rem;
    }

    .commercial-benefit > span {
        margin-bottom: 3.5rem;
    }

    .commercial-cta__actions,
    .commercial-cta__actions .button {
        width: 100%;
    }

    .floating-whatsapp {
        right: 0.8rem;
        bottom: 0.8rem;
        width: 3.5rem;
        min-height: 3.5rem;
        justify-content: center;
        padding: 0.45rem;
    }

    .floating-whatsapp span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }
}

@media (max-width: 820px) {
    .instagram-proof__inner {
        text-align: center;
        grid-template-columns: 1fr;
    }

    .instagram-proof__icon {
        margin-inline: auto;
    }

    .instagram-proof h2,
    .instagram-proof p {
        margin-inline: auto;
    }

    .instagram-proof .button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }

    .hero__media img {
        transform: none;
    }

    /* The text strip remains automatic; other motion still follows the device preference. */
    .closing-strip__track {
        animation-duration: 26s !important;
        animation-iteration-count: infinite !important;
    }
}

@media print {
    .site-header,
    .site-footer,
    .cookie-banner,
    .hero__controls,
    .hero__scroll,
    .closing-strip {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }
}

/* Guided page builder responsive rules. Kept after legacy rules so the
   renderer can support two through six process steps without nth-child leaks. */
@media (max-width: 1080px) {
    .builder-split__grid {
        gap: 3rem;
        grid-template-columns: 1fr 1fr;
    }

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

    .process-steps__list {
        grid-template-columns: repeat(var(--process-tablet-columns, 3), minmax(0, 1fr));
    }

    .process-steps__item.customize-step:nth-child(n) {
        border-right: 1px solid rgba(255, 255, 255, 0.17);
        border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    }

    .process-steps__item.customize-step.is-tablet-row-end {
        border-right: 0;
    }

    .process-steps__item.customize-step.is-tablet-last-row {
        border-bottom: 0;
    }
}

@media (max-width: 820px) {
    .builder-split__grid {
        grid-template-columns: 1fr;
    }

    .builder-split--image-right .builder-split__media {
        order: 0;
    }
}

@media (max-width: 600px) {
    .builder-split__media,
    .builder-split__media img {
        min-height: 22rem;
    }

    .builder-features__grid {
        grid-template-columns: 1fr;
    }

    .builder-feature {
        min-height: 18rem;
    }

    .process-steps__item.customize-step:nth-child(n) {
        border: 1px solid rgba(255, 255, 255, 0.15);
    }
}

@media (max-width: 600px) {
    .page-block.story-hero .story-hero__veil {
        background: linear-gradient(180deg,
            rgba(9, 31, 84, calc(0.84 + var(--page-hero-offset, 0))),
            rgba(9, 31, 84, calc(0.32 + var(--page-hero-offset, 0))) 68%,
            rgba(9, 31, 84, calc(0.56 + var(--page-hero-offset, 0))));
    }

    .page-block.commercial-hero .commercial-hero__veil {
        background: linear-gradient(180deg,
            rgba(9, 31, 84, calc(0.86 + var(--page-hero-offset, 0))),
            rgba(9, 31, 84, calc(0.52 + var(--page-hero-offset, 0))));
    }

    .builder-process-visual {
        width: 6.2rem;
        height: 6.2rem;
    }
}
