/* Mobile styles: loaded only at viewport widths up to 767px.
   Desktop and base declarations remain in style.css. */

/* Container
	========================================================================== */
    .container { width: calc(100% - 64px); }

/* Header
	========================================================================== */
    .page-delivery .logo {
        width: 170px;
    }

    .page-delivery .header__controls {
        width: 148px;
        height: 64px;
        padding-inline: 6px;
    }

    .page-delivery .icon-button,
    .page-delivery .menu-toggle {
        width: 40px;
        height: 40px;
    }

    .page-delivery .icon-button svg {
        width: 28px;
        height: 28px;
    }

    .page-delivery .header__divider {
        height: 32px;
        margin-inline: 2px;
    }

    .page-delivery .menu-toggle::before,
    .page-delivery .menu-toggle::after {
        width: 30px;
        height: 3px;
    }

    .logo {
        width: 240px;
    }

    .header__controls {
        width: 270px;
        height: 76px;
        padding-inline: 22px;
    }

    .container {
        width: calc(100% - 48px);
    }

    .logo {
        width: 210px;
    }

    .header__controls {
        width: 238px;
        height: 68px;
        padding-inline: 16px;
    }

    .header__divider {
        height: 36px;
        margin-inline: 8px;
    }

    .header {
        height: 76px;
    }

    .header__inner {
        padding-top: 12px;
    }

    .logo {
        width: clamp(112px, 32vw, 160px);
    }

    .header__controls {
        width: clamp(154px, 39vw, 190px);
        height: 46px;
        padding-inline: 6px;
        border-radius: 25px;
    }

    .icon-button svg {
        width: 25px;
        height: 25px;
    }

    .header__divider {
        height: 30px;
        margin-inline: 3px;
    }

    .cart-dot {
        top: 5px;
        right: 4px;
        width: 7px;
        height: 7px;
    }

@media (max-width: 430px) {
    .logo {
        width: 120px;
    }

    .header__controls {
        width: 149px;
        height: 40px;
    }

    .header__inner {
        padding-top: 24px;
    }

    .icon-button,
    .menu-toggle {
        width: 34px;
        height: 34px;
    }

    .icon-button svg {
        width: 21px;
        height: 21px;
    }

    .header__divider {
        height: 25px;
    }

    .menu-toggle::before,
    .menu-toggle::after,
    .menu-toggle span {
        width: 22px;
    }
}

/* Minicart
	========================================================================== */
    .minicart__header {
        min-height: 78px;
    }

    .minicart__header h2 {
        font-size: 23px;
    }

    .minicart__close {
        top: 13px;
        right: 14px;
    }

    .minicart__delivery {
        padding-inline: 14px;
        font-size: 10px;
    }

    .minicart__subtitle {
        min-height: 56px;
        padding: 19px 18px 15px;
        font-size: 14px;
    }

    .minicart__item {
        min-height: 170px;
        grid-template-columns: 82px 1fr 78px;
        gap: 12px;
        padding: 15px 18px;
    }

    .minicart__product-image {
        width: 78px;
        height: 124px;
    }

    .minicart__product-image img {
        height: 136px;
    }

    .minicart__remove {
        top: 35px;
        right: 18px;
    }

    .minicart__suggestions h3 {
        min-height: 56px;
        padding: 20px 18px 15px;
        font-size: 14px;
    }

    .minicart__suggestion {
        min-height: 150px;
        grid-template-columns: 74px 1fr auto;
        gap: 10px;
        padding: 12px 18px;
    }

    .minicart__suggestion-image {
        width: 70px;
        height: 116px;
    }

    .minicart__suggestion-image img {
        height: 130px;
    }

    .minicart__suggestion > button {
        min-width: 108px;
        min-height: 42px;
        gap: 8px;
        padding: 8px 12px;
        font-size: 10px;
    }

    .minicart__footer {
        padding: 22px 18px 28px;
    }

/* Fullscreen Menu Panel
	========================================================================== */
    .icon-button,
    .menu-toggle {
        width: 44px;
        height: 44px;
    }

    .container {
        width: calc(100% - 32px);
    }

    .icon-button,
    .menu-toggle {
        width: 38px;
        height: 38px;
    }

    .menu-toggle::before,
    .menu-toggle::after,
    .menu-toggle span {
        width: 25px;
        height: 3px;
        border-radius: 3px;
    }

    .menu-toggle::before {
        transform: translate(-50%, calc(-50% - 8px));
    }

    .menu-toggle::after {
        transform: translate(-50%, calc(-50% + 8px));
    }

    .menu-toggle.is-active::before,
    .menu-toggle.is-active::after {
        width: 27px;
        height: 3px;
    }

    .menu-panel {
        display: block;
        padding: 0 16px;
        background: radial-gradient(circle at 60% 34%, #292929, #171717 70%);
    }

    .menu-panel::after {
        right: -12px;
        bottom: -9px;
        left: -12px;
        font-size: 78px;
        line-height: .8;
    }

    .menu-panel__nav {
        display: flex;
        max-width: 620px;
        flex-direction: column;
        gap: 20px;
        margin: 150px auto 0;
    }

    .menu-panel__nav a {
        align-self: flex-start;
        font-size: clamp(34px, 10.65vw, 54px);
        line-height: 1.05;
    }

    .menu-panel__nav a:nth-child(even) {
        align-self: flex-end;
    }

    .menu-panel__nav a.is-current {
        padding-left: 42px;
    }

    .menu-panel__nav a.is-current::before {
        top: 6px;
        left: 0;
        width: 27px;
        height: 27px;
        border-width: 5px;
    }

    .menu-panel__nav a.is-current::after {
        top: 9px;
        left: -7px;
        width: 31px;
        height: 5px;
    }

    .menu-panel__seal {
        position: absolute;
        top: auto;
        right: auto;
        bottom: 156px;
        left: 48px;
        display: grid;
        width: 76px;
        height: 76px;
    }

    .menu-panel__socials {
        right: 16px;
        bottom: 76px;
        gap: 12px;
    }

    .menu-panel__socials a {
        width: 25px;
        height: 25px;
        font-size: 10px;
    }

    .menu-panel__copy {
        bottom: 24px;
        font-size: 14px;
        white-space: nowrap;
    }

@media (max-width: 430px) {
    .menu-panel__nav {
        gap: 22px;
        margin-top: 157px;
    }

    .menu-panel__nav a {
        font-size: clamp(34px, 10.65vw, 46px);
    }
}

/* Hero
	========================================================================== */
    .hero__seal { right: 70px; }

    .hero__seal {
        top: 380px;
        right: 32px;
        bottom: auto;
        width: 76px;
        height: 76px;
    }

    .hero__content {
        bottom: 54px;
    }

    .hero__title {
        font-size: clamp(74px, 9.5vw, 114px);
    }

    .hero__seal {
        right: 24px;
    }

    .hero,
    .hero__inner {
        min-height: clamp(812px, 110vw, 880px);
    }

    .hero {
        background: #090909;
    }

    .hero__media {
        background-image: url('../img/hero-poster-mobile.webp');
        background-position: left center;
    }

    .hero__video {
        object-position: left center;
    }

    .hero__video-controls {
        top: 94px;
        right: 16px;
        gap: 4px;
    }

    .hero__play-toggle,
    .reviews__action {
        width: 48px;
        height: 48px;
        font-size: 9px;
    }

    [data-hero-volume-toggle],
    [data-volume-toggle] {
        width: 27px;
        height: 27px;
    }

    [data-hero-volume-toggle] svg,
    [data-volume-toggle] svg {
        width: 21px;
        height: 21px;
    }

    [data-hero-volume],
    [data-volume-range] {
        width: 63px;
        height: 3px;
    }

    .hero::before {
        background: rgba(0, 0, 0, .45);
    }

    .hero__content {
        bottom: 49px;
    }

    .hero__title {
        font-size: clamp(40px, 10.67vw, 72px);
        letter-spacing: -.045em;
        line-height: .93;
    }

    .hero__text {
        max-width: 420px;
        margin-top: 14px;
        font-size: clamp(7px, 1.87vw, 11px);
        line-height: 1.35;
    }

    .hero__seal {
        top: 52%;
        right: 11%;
        bottom: auto;
        width: 82px;
        height: 82px;
    }

@media (max-width: 520px) {
    .hero,
    .hero__inner {
        min-height: 812px;
    }

    .hero__content {
        bottom: 31px;
    }

    .hero__title {
        font-size: clamp(43px, 13.6vw, 51px);
        line-height: 1.13;
    }

    .hero__text {
        max-width: 343px;
        margin-top: 30px;
        font-size: 11px;
        line-height: 1.5;
    }

    .hero__text br {
        display: inline;
        content: ' ';
    }

    .hero__text br::after {
        content: ' ';
    }

    .hero__seal {
        top: 75%;
    }
}

/* About (Home)
	========================================================================== */
    .about__inner { grid-template-columns: 260px 1fr; }

    .about__inner {
        grid-template-columns: 180px 1fr;
    }

    .about__inner {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .about__inner {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .about__features {
        gap: 18px;
    }

    .about__lead,
    .about__features p {
        font-size: 14px;
    }

    .about__features p.scroll-fade {
        margin-top: 35px;
    }

    .about__features span.scroll-fade {
        transform: translateY(45px);
    } 

    .about {
        overflow: hidden;
    }

    .about__inner {
        display: block;
        min-height: 0;
        padding-top: 63px;
        padding-bottom: 56px;
        min-height: auto;
    }

    .section-label {
        margin: 0;
        font-size: 10px;
    }

    .about__content {
        margin: 48px auto 0;
    }

    .about__title {
        font-size: 22px;
        text-align: center;
    }

    .about__lead {
        margin-top: 26px;
        font-size: 11px;
        line-height: 1.35;
    }

    .about__features {
        grid-template-columns: 1fr;
        gap: 38px;
        margin-top: 58px;
    }

    .about__features span {
        top: -30px;
        font-size: 76px;
    }

    .about__features h3 {
        margin-bottom: 12px;
        font-size: 11px;
    }

    .about__features p {
        max-width: 390px;
        font-size: 10px;
        line-height: 1.35;
    }

    .about__button {
        width: 245px;
        height: 46px;
        margin: 46px auto 0;
        font-size: 11px;
    }

    .about__wordmark {
        right: -12px;
        bottom: -8px;
        font-size: 83px;
    }

@media (max-width: 520px) {

    .about__content {
        margin-top: 48px;
    }

    .about__title {
        font-size: 18px;
    }

    .about__lead {
        font-size: 10px;
    }

    .about__features {
        gap: 24px;
        margin-top: 35px;
    }

    .about__button {
        width: 245px;
        margin-top: 42px;
    }
}

@media (max-width: 430px) {
    .about__features p {
        max-width: 305px;
    }
}

/* Catalog / Home Slider
	========================================================================== */
    .catalog__tabs { justify-content: center; }

    .catalog__control {
        left: auto;
        right: 32px;
    }

    .catalog__stage { height: 900px; }
    .catalog__control {
        top: 800px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .catalog__tabs {
        justify-content: flex-end;
    }

    .catalog__tabs {
        gap: 18px;
    }

    .catalog__tabs button {
        font-size: 13px;
    }

    .catalog__inner {
        min-height: 420px;
    }

    .catalog__tabs {
        justify-content: flex-start;
        gap: 20px;
        padding-top: 15px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .catalog__tabs::-webkit-scrollbar {
        display: none;
    }

    .catalog__tabs button {
        flex: 0 0 auto;
        font-size: 9px;
        white-space: nowrap;
    }

    .catalog__stage {
        height: 320px;
    }

    .catalog__slider {
        top: 62px;
    }

    .product-card {
        width: 160px !important;
        height: 280px;
        flex-basis: 160px;
        border-radius: 13px;
    }

    .product-card img {
        bottom: 5px;
        left: 50%;
        width: 128px;
        height: 266px;
        transform: translateX(-50%);
    }

    .product-card__arrow {
        top: 10px;
        right: 10px;
        width: 26px;
        height: 26px;
        border-width: 5px;
    }

    .product-card__arrow::after {
        top: -6px;
        right: -4px;
        width: 29px;
        height: 5px;
    }

    .product-card__copy {
        right: 9px;
        bottom: 10px;
        left: 9px;
    }

    .product-card__copy small {
        font-size: 7px;
    }

    .product-card__copy h3 {
        margin: 4px 0 12px;
        font-size: 9px;
    }

    .product-card__copy p {
        font-size: 7px;
        line-height: 1.2;
    }

    .catalog__control {
        display: none;
    }

@media (max-width: 520px) {
    .catalog,
    .catalog__inner {
        min-height: 370px;
    }

    .catalog__stage {
        height: 260px;
    }

    .catalog__slider {
        top: 57px;
    }

    .product-card {
        width: 126px !important;
        height: 242px;
        flex-basis: 126px;
        border-radius: 10px;
    }

    .product-card img {
        width: 102px;
        height: 215px;
    }
}

/* Reviews
	========================================================================== */
    .reviews__filters { 
        gap: 16px; 
        width: 100%;
    }

    .reviews__filters button { width: 360px; }

    .reviews__navigation { left: 58%; }

    .reviews__caption {
        bottom: 200px;
    }

    .reviews__filters button {
        width: 350px;
    }

    .reviews__filters button.is-active {
        width: 245px;
    }

    .reviews__navigation {
        left: 58%;
    }

    .reviews__filters button {
        width: 300px;
    }

    .reviews__filters button.is-active {
        width: 220px;
    }

    .reviews__filter-copy strong {
        font-size: 17px;
    }

    .reviews,
    .reviews__slide,
    .reviews__overlay {
        min-height: 100vh;
        max-height: 100vh;
    }

    .reviews__media {
        object-position: 43% center;
    }

    .reviews__slide::after {
        background: linear-gradient(0deg, rgba(3, 8, 11, .88), transparent 58%), linear-gradient(90deg, rgba(4, 10, 13, .42), rgba(4, 10, 13, .08));
    }

    .reviews__label {
        top: 42px;
        font-size: 10px;
    }

    .reviews__volume {
        top: 34px;
        gap: 5px;
    }

    .reviews__navigation {
        top: 47%;
        right: auto;
        left: 50%;
        gap: 7px;
        transform: translate(-50%, -50%);
    }

    .reviews__prev,
    .reviews__next {
        font-size: 21px;
    }

    .reviews__caption {
        bottom: 105px;
    }

    .reviews__counter {
        margin-bottom: 7px;
        font-size: 8px;
    }

    .reviews__counter strong {
        font-size: 10px;
    }

    .reviews__caption h2 {
        font-size: clamp(34px, 9.6vw, 58px);
    }

    .reviews__caption > p:last-child {
        margin-top: 10px;
        font-size: 8px;
    }

    .reviews__filters {
        right: auto;
        bottom: 14px;
        gap: 7px;
        left: 0;
    }

    .reviews__filters button,
    .reviews__filters button.is-active {
        width: auto;
        min-width: 0;
        min-height: 63px;
        flex: 1 1 0;
        padding: 8px 10px;
        border-radius: 4px;
    }

    .reviews__filter-copy strong {
        font-size: 10px;
    }

    .reviews__filter-copy small {
        margin-top: 3px;
        overflow: hidden;
        font-size: 5px;
        text-overflow: ellipsis;
    }

    .reviews__filter-arrow {
        top: 8px;
        right: 8px;
        transform: scale(.38);
        transform-origin: top right;
    }

    .reviews__filters button.is-active .reviews__filter-arrow {
        top: 20px;
    }

    .reviews__filters button.is-active .reviews__filter-arrow {
        transform: scale(.38) rotate(90deg);
    }

    .reviews__wordmark {
        right: -12px;
        bottom: -7px;
        font-size: 74px;
    }

@media (max-width: 520px) {
    .reviews,
    .reviews__slide,
    .reviews__overlay {
        min-height: 812px;
        height: 812px;
    }
}

@media (max-width: 430px) {
    .reviews__caption h2 {
        font-size: 35px;
    }
}

/* FAQ
	========================================================================== */
    .faq__inner {
        padding-top: 80px;
        padding-bottom: 60px;
    }

    .faq__label {
        margin-bottom: 35px;
    }

    .faq__item h2 button {
        min-height: 105px;
        gap: 20px;
        padding-right: 5px;
        font-size: 34px;
    }

    .faq__symbol {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .faq__symbol::before,
    .faq__symbol::after {
        width: 42px;
        height: 6px;
    }

    .faq__answer p {
        margin: 0 0 38px;
        font-size: 14px;
    }

    .faq__note {
        margin-top: 28px;
        font-size: 10px;
    }

    .faq__item h2 button {
        font-size: 50px;
    }

    .faq__inner {
        padding-top: 50px;
        padding-bottom: 38px;
    }

    .faq__label {
        margin-bottom: 27px;
    }

    .faq__item h2 button {
        min-height: 70px;
        gap: 14px;
        padding: 0 3px 0 0;
        font-size: 22px
    }

    .faq__symbol {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }

    .faq__symbol::before,
    .faq__symbol::after {
        width: 25px;
        height: 4px;
    }

    .faq__answer p {
        max-width: none;
        margin: 0 0 25px;
        font-size: 10px;
        line-height: 1.3;
    }

    .faq__note {
        margin-top: 30px;
        font-size: 8px;
    }

@media (max-width: 430px) {
    .faq__item h2 button {
        font-size: 24px;
    }
}

/* Footer
	========================================================================== */
    .footer__seal { margin-right: 70px; }
    .footer__nav { gap: 18px; }

    /* Мобільний футер: desktop-grid 1fr auto 1fr з фіксованими марджинами
       виштовхує credit і знак за межі 390px. */
    .footer__inner {
        padding-bottom: 150px;
        min-height: auto;
    }

    .footer__bottom {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-top: 50px;
    }

    .footer__nav {
        flex-wrap: wrap;
    }

    .footer__tagline,
    .footer__copy,
    .footer__credit {
        font-size: 14px;
    }

    .footer__copy {
        margin: 28px 0 0;
    }

    .footer__credit {
        margin: 0;
    }

    .footer__seal {
        right: auto;
        justify-self: start;
        width: 104px;
        height: 104px;
        margin: 0;
    }

    .footer__wordmark {
        top: auto;
        bottom: -14px;
        font-size: 96px;
    }

    .footer__nav {
        flex-wrap: wrap;
    }
    .footer__inner {
        display: block;
        padding: 49px 0 28px;
    }

    .footer__logo {
        width: 120px;
    }

    .footer__tagline {
        max-width: 210px;
        margin-top: 18px;
        font-size: 8px;
        line-height: 1.35;
    }
    .footer__nav {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        font-size: 8px;
    }

    .footer__copy {
        font-size: 10px;
    }

    .footer__credit {
        position: absolute;
        bottom: 0;
        left: 50%;
        margin: 0;
        font-size: 10px;
        transform: translateX(-50%);
        white-space: nowrap;
    }

    .footer__seal {
        position: absolute;
        top: auto;
        right: 35px;
        bottom: 45px;
        left: auto;
        width: 76px;
        height: 76px;
        margin: 0;
    }

    .footer__wordmark {
        top: auto;
        right: -8px;
        bottom: -8px;
        left: -8px;
        font-size: 76px;
        transform: none;
    }

    @media (max-width: 520px) {
        .footer__tagline {
            max-width: none;
            line-height: 1.1;
        }

        .footer__bottom {
            margin-top: 24px;
        }
    }
/* Internal Pages (Shared)
	========================================================================== */
    .internal-page .header__inner {
        padding-top: 22px;
    }

    .internal-page .container {
        width: calc(100% - 48px);
        grid-template-columns: 100%;
    }

    .internal-page .logo {
        width: 210px;
        flex: 0 0 210px;
    }

    .internal-page .header__controls {
        width: 238px;
        height: 68px;
        padding-inline: 16px;
    }

    .internal-page .header__divider {
        height: 36px;
        margin-inline: 8px;
    }

    .internal-page .icon-button,
    .internal-page .menu-toggle {
        width: 44px;
        height: 44px;
    }

    .internal-page .container {
        width: calc(100% - 32px);
    }

    .internal-page .header {
        height: 82px;
    }

    .internal-page .header__inner {
        padding-top: 14px;
    }

    .internal-page .logo,
    .page-delivery .logo {
        width: clamp(112px, 32vw, 150px);
        flex-basis: clamp(112px, 32vw, 150px);
    }

    .internal-page .header__controls,
    .page-delivery .header__controls {
        width: clamp(154px, 42vw, 190px);
        height: 48px;
        padding-inline: 6px;
        border-radius: 26px;
    }

    .internal-page .icon-button,
    .internal-page .menu-toggle,
    .page-delivery .icon-button,
    .page-delivery .menu-toggle {
        width: 38px;
        height: 38px;
    }

    .internal-page .icon-button svg,
    .page-delivery .icon-button svg {
        width: 25px;
        height: 25px;
    }

    .internal-page .header__divider,
    .page-delivery .header__divider {
        height: 30px;
        margin-inline: 3px;
    }

    .internal-page .menu-toggle::before,
    .internal-page .menu-toggle::after,
    .internal-page .menu-toggle span {
        width: 25px;
        height: 3px;
    }

    .internal-page .menu-toggle.is-active::before,
    .internal-page .menu-toggle.is-active::after,
    .page-delivery .menu-toggle::before,
    .page-delivery .menu-toggle::after,
    .menu-toggle::before,
    .menu-toggle::after {
        width: 27px;
        height: 3px;
    }

    .internal-page .menu-panel {
        display: block;
        padding-inline: 16px;
    }

    .internal-page .menu-panel__nav {
        display: flex;
        max-width: 620px;
        flex-direction: column;
        gap: 20px;
        margin: 140px auto 0;
    }

    .internal-page .menu-panel__nav a {
        align-self: flex-start;
        font-size: clamp(32px, 9vw, 48px);
        line-height: 1;
    }

    .internal-page .menu-panel__nav a:nth-child(even) {
        align-self: flex-end;
    }

    .internal-page .menu-panel__nav a.is-current {
        padding-left: 38px;
    }

    .internal-page .menu-panel__nav a.is-current::before {
        top: 5px;
        left: 0;
        width: 25px;
        height: 25px;
        border-width: 5px;
    }

    .internal-page .menu-panel__nav a.is-current::after {
        top: 8px;
        left: -7px;
        width: 29px;
        height: 5px;
    }

    .internal-page .menu-panel__socials {
        right: 16px;
        bottom: 72px;
    }

    .internal-page .menu-panel__copy {
        bottom: 24px;
        white-space: nowrap;
    }

@media (max-width: 430px) {
    .internal-page .logo,
    .page-delivery .logo {
        width: 112px;
        flex-basis: 112px;
    }

    .internal-page .header__controls,
    .page-delivery .header__controls {
        width: 154px;
    }

    .internal-page .menu-panel__nav {
        margin-top: 130px;
    }
}

/* Content Page / Text Columns
	========================================================================== */
    .internal-page .text-columns--offset {
        width: min(100%, 864px);
        margin-right: auto;
        margin-left: auto;
    }

    .internal-page .text-columns,
    .internal-page .text-columns--offset {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 24px;
        margin: 26px 0 0;
    }

/* About Page
	========================================================================== */
    .about-page-hero h1 strong { margin-left: 280px; }
    .offer-page__inner { grid-template-columns: 300px minmax(0, 1fr); column-gap: 50px; }
    .offer-page__copy { width: auto; margin-left: 0; }
    .experience-page__media { left: 0; }


    .about-page-hero {
        background-position: center bottom;
        background-size: auto 70%;
    }

    .about-page-hero__seal {
        top: 260px;
        right: 24px;
        width: 82px;
        height: 82px;
    }

    .about-page-hero__inner {
        padding-top: 70px;
        min-height: calc(100vh + 70px);
    }

    .about-page-hero h1 {
        top: 145px;
        left: 0;
        gap: 14px;
        line-height: .86;
    }

    .about-page-hero__meet {
        padding-top: 5px;
        font-size: 38px;
    }

    .about-page-hero__brand {
        font-size: 48px;
    }

    .about-page-hero h1 strong {
        margin-left: 0;
    }

    /* Спільний grid-reset з Guarantee/Delivery/Contacts (там своя ідентична
       декларація на .guarantee-hero__inner/.team-page,
       .delivery-hero__inner, .contacts-page__grid/.back-home__inner). */
    .offer-page__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .offer-page__inner {
        grid-template-rows: auto;
        gap: 30px;
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .offer-page__heading,
    .offer-page__copy,
    .offer-page__tabs {
        width: 100%;
    }

    /* Спільний кегль h2 з Guarantee (.team-page h2) і Contacts (.back-home h2). */
    .offer-page__heading h2,
    .experience-page__title h2 {
        font-size: 42px;
    }

    .offer-page__copy {
        grid-column: 1;
        grid-row: 2;
        padding-top: 0;
    }

    .offer-page__media {
        grid-column: 1;
        grid-row: 4;
    }

    .offer-page__image {
        height: auto;
        min-height: 280px;
    }

    .offer-page__tabs {
        grid-column: 1;
        grid-row: 3;
    }

    .experience-page__inner {
        padding-top: 80px;
    }

    .experience-page__media,
    .experience-page__title {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        max-width: none;
        text-align: left;
    }

    .experience-page__title {
        margin-top: 40px;
    }

    .experience-page__stats {
        position: relative;
        bottom: auto;
        grid-template-columns: repeat(2, 1fr);
        margin-top: 55px;
        padding-bottom: 70px;
    }

    .experience-page__stats strong {
        font-size: 38px;
    }

    .about-page-hero h1 {
        top: 220px;
        gap: 24px;
    }

    .about-page-hero__meet {
        font-size: 52px;
    }

    .about-page-hero__brand {
        font-size: 68px;
    }

    .about-page-hero h1 strong {
        margin-left: 0;
    }

    .about-page-hero__seal {
        top: 300px;
        right: 8%;
    }

    .offer-page__inner {
        grid-template-columns: 280px minmax(0, 1fr);
        column-gap: 40px;
    }

    .offer-page__copy {
        max-width: 100%;
    }

    .experience-page__media {
        width: 55%;
    }

    .experience-page__title h2 {
        font-size: 50px;
    }

    .about-page-hero h1 {
        max-width: calc(100% - 24px);
    }

    .about-page-hero p br {
        display: none;
    }

    .about-page-hero p {
        right: 0;
        bottom: 42px;
        max-width: 330px;
        font-size: 10px;
        line-height: 1.35;
    }

    .offer-page,
    .offer-page__inner,
    .experience-page,
    .experience-page__inner {
        min-height: 0;
    }

    .offer-page__tabs li {
        min-height: 68px;
    }

    .offer-page__media {
        border-radius: 14px;
    }

    .experience-page__stats {
        gap: 25px 20px;
        margin-top: 35px;
    }

    .experience-page__title > p:last-child {
        max-width: 100%;
    }

@media (max-width: 520px) {
    .experience-page__media {
        width: 100%;
    }
    .about-page-hero__inner {
        min-height: 100vh;
    }

    .about-page-hero {
        background-image: url('../img/pages/about/hero-car-mobile.webp');
        background-position: center;
        background-size: cover;
    }

    .about-page-hero h1 {
        top: 150px;
        display: block;
    }

    .about-page-hero__meet {
        display: block;
        padding: 0;
        font-size: clamp(34px, 10vw, 48px);
    }

    .about-page-hero__brand {
        margin-top: 4px;
        font-size: clamp(52px, 17vw, 64px);
        line-height: .82;
    }

    .about-page-hero__seal {
        top: 110px;
        right: 14%;
        width: 72px;
        height: 72px;
    }

    .about-page-hero p {
        bottom: 25px;
    }
    .offer-page__inner {
        gap: 26px;
        padding-top: 52px;
        padding-bottom: 56px;
    }

    .offer-page__heading h2,
    .experience-page__title h2 {
        font-size: 34px;
    }

    .offer-page__copy > p,
    .experience-page__title > p:last-child {
        font-size: 12px;
    }

    .offer-page__image {
        width: 100%;
        height: 230px;
        min-height: 230px;
        object-fit: cover;
    }

    .experience-page__inner {
        padding-top: 60px;
    }

    .experience-page__inner {
        position: relative;
    }

    .experience-page__stats strong {
        font-size: 32px;
    }

    .experience-page__stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .offer-page__heading h2,
    .experience-page__title h2 {
        font-size: 30px;
    }

    .experience-page__stats {
        grid-template-columns: 1fr;
    }
}

/* Guarantee Page
	========================================================================== */
    /* Спільний grid-reset з About (.offer-page__inner), Delivery
       (.delivery-hero__inner), Contacts (.contacts-page__grid/.back-home__inner). */
    .guarantee-hero__inner,
    .team-page {
        grid-template-columns: minmax(0, 1fr);
    }

    .guarantee-hero__inner {
        min-height: 720px;
    }

    .guarantee-hero { min-height: 720px; }

    .guarantee-hero__copy { top: 155px; left: 0; }

    .guarantee-hero__card { top: 365px; left: 10%; width: 90%; height: auto; }
    .guarantee-hero__woman { top: 345px; left: 49%; width: 145px; height: auto; }
    .guarantee-hero__envelope { top: 490px; left: 4%; width: 145px; height: auto; }
    .guarantee-hero__seal { top: 455px; left: 23%; width: 76px; height: 76px; }

    /* Спільний кегль h1 з Delivery (.delivery-hero h1) і Contacts (.contacts-page h1). */
    .guarantee-hero h1 {
        font-size: 48px;
    }

    .guarantee-copy {
        min-height: 0;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .guarantee-intro { height: auto; }

    .text-columns,
    .guarantee-features {
        grid-template-columns: 1fr;
    }

    .text-columns--offset,
    .guarantee-features {
        width: 100%;
    }

    .guarantee-features {
        overflow: hidden;
    }

    /* Desktop-зсув колонок (445px) і великий wordmark інакше дають
       горизонтальний overflow на 390px. */
    .text-columns--offset {
        margin-left: 0;
    }

    .guarantee-features__wordmark {
        font-size: 64px;
    }

    .team-page > div {
        text-align: left;
    }

    .team-page {
        height: auto;
        margin-top: 70px;
    }

    .team-page__media {
        position: relative;
        width: 100%;
        height: 330px;
    }

    .team-page__media img {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .team-page .section-label {
        margin-top: -4px;
    }

    /* Спільний кегль h2 з About (.offer-page__heading h2/.experience-page__title h2)
       і Contacts (.back-home h2). */
    .team-page h2 {
        font-size: 42px;
    }

    .team-page > div:last-child {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        margin-top: 45px;
    }

    .team-page > div > p:last-of-type { width: 100%; }

    .guarantee-features { min-height: 0; margin-top: 70px; }
    .guarantee-copy__promise { height: auto; margin-top: 90px; }
    .guarantee-banner { height: 520px; margin-top: 70px; }

    .guarantee-banner__background {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guarantee-banner__copy {
        top: 45px;
        right: 20px;
        left: 20px;
        width: auto;
        text-align: left;
    }

    .guarantee-banner__copy b { font-size: 38px; }

    .guarantee-banner__actions {
        top: auto;
        right: 20px;
        bottom: 20px;
        left: 20px;
        flex-direction: row;
    }

    .guarantee-banner__action {
        width: calc(60% - 8px);
    }

    .guarantee-banner__action.is-active {
        width: calc(40% - 8px);
    }

    .team-page__socials {
        justify-content: flex-start;
    }

@media (max-width: 520px) {
    .page-guarantee .guarantee-hero,
    .page-guarantee .guarantee-hero__inner {
        height: 676px;
        min-height: 676px;
    }

    .page-guarantee .guarantee-hero__copy {
        top: 330px;
    }

    .page-guarantee .guarantee-hero h1 {
        font-size: 32px;
        line-height: 1.05;
        text-transform: none;
    }

    .page-guarantee .guarantee-hero p {
        font-size: 11px;
    }

    .page-guarantee .guarantee-hero__card {
        top: 75px;
        left: 12%;
        width: 76%;
    }

    .page-guarantee .guarantee-hero__woman {
        top: 60px;
        left: 48%;
        width: 125px;
    }

    .page-guarantee .guarantee-hero__envelope {
        top: 145px;
        left: 3%;
        width: 125px;
    }

    .page-guarantee .guarantee-hero__seal {
        top: 165px;
        left: 22%;
        width: 68px;
        height: 68px;
    }

    .page-guarantee .guarantee-copy {
        position: relative;
        height: 2888px;
        min-height: 2888px;
        padding-top: 60px;
        padding-bottom: 48px;
        overflow: hidden;
    }

    .page-guarantee .guarantee-copy > .container {
        position: relative;
        height: 100%;
    }

    .page-guarantee .text-columns p,
    .page-guarantee .team-page > div > p:last-of-type,
    .page-guarantee .guarantee-features p {
        font-size: 10px;
        line-height: 1.35;
    }

    .page-guarantee .team-page__media {
        width: calc(100% + 32px);
        height: 243px;
        margin-left: -16px;
        border-radius: 0;
    }

    .page-guarantee .team-page > div:last-child {
        text-align: right;
    }

    .page-guarantee .team-page__socials {
        justify-content: flex-end;
    }

    .page-guarantee .team-page h2 {
        font-size: 34px;
    }

    .page-guarantee .guarantee-features {
        gap: 30px;
    }

    .page-guarantee .guarantee-copy__promise {
        margin-top: 70px;
    }

    .page-guarantee .guarantee-banner__action {
        min-width: 0;
    }

    .page-guarantee .guarantee-banner__actions {
        width: auto;
        max-width: none;
    }

    .page-guarantee .guarantee-banner__panel {
        width: 48%;
    }

    .page-guarantee .guarantee-banner__copy b {
        font-size: 32px;
        white-space: normal;
    }

    .page-guarantee .guarantee-banner {
        position: absolute;
        top: 2294px;
        right: -16px;
        left: -16px;
        width: auto;
        height: 486px;
        margin: 0;
    }

    .page-guarantee .guarantee-banner__copy {
        top: 277px;
        right: 16px;
        left: 16px;
    }

    .page-guarantee .guarantee-banner__copy b {
        font-size: 39px;
        line-height: 1;
    }

    .page-guarantee .guarantee-banner__copy small {
        max-width: 320px;
        margin-top: 15px;
        font-size: 9px;
        line-height: 1.25;
    }

    .page-guarantee .guarantee-banner__actions {
        right: 16px;
        bottom: 31px;
        left: 16px;
        height: 70px;
        gap: 16px;
    }

    .page-guarantee .guarantee-banner__action {
        width: 195px;
        height: 70px;
        padding: 0 10px 10px;
        border-width: 1px;
        border-radius: 15px;
    }

    .page-guarantee .guarantee-banner__action.is-active {
        width: 132px;
        border-color: var(--blue);
        background: var(--blue);
    }

    .page-guarantee .guarantee-banner__panel {
        top: 3px;
        right: 3px;
        width: 48%;
        height: 62px;
        border-radius: 12px;
    }

    .page-guarantee .guarantee-banner__action b {
        font-size: 15px;
    }

    .page-guarantee .guarantee-banner__action small {
        margin-top: 3px;
        overflow: hidden;
        font-size: 6px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .page-guarantee .guarantee-banner__action .square-arrow {
        --arrow-size: 17px;
        --arrow-thickness: 3px;
        --arrow-shaft: 19px;
        top: 11px;
        right: 10px;
    }

    .page-guarantee .guarantee-banner__background {
        overflow: hidden;
    }

    .page-guarantee .guarantee-banner__background img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

}

@media (max-width: 430px) {
    .page-guarantee .guarantee-copy {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .page-guarantee .team-page h2 {
        font-size: 30px;
    }

    .page-guarantee .guarantee-banner__actions { right: 16px; bottom: 31px; left: 16px; }
}

/* Delivery Page
	========================================================================== */
    .delivery-hero {
        padding-top: 70px;
    }
    .delivery-switcher {
        right: 0;
        left: auto;
        width: 62%;
    }

    /* Спільний grid-reset з About (.offer-page__inner), Guarantee
       (.guarantee-hero__inner/.team-page), Contacts (.contacts-page__grid/.back-home__inner). */
    .delivery-hero__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .delivery-panel--ukr {
        background-image: url('../img/pages/delivery/ukr-bg-mobile.webp');
    }

    .delivery-panel--nova {
        background-image: url('../img/pages/delivery/nova-bg-mobile.webp');
    }

    .delivery-panel--meest {
        background-image: url('../img/pages/delivery/meest-bg-mobile.webp');
    }

    .delivery-hero__inner {
        min-height: 0;
        padding: 105px 0 60px;
    }

    .delivery-hero { min-height: 0; }

    /* Спільний кегль h1 з Guarantee (.guarantee-hero h1) і Contacts (.contacts-page h1). */
    .delivery-hero h1 {
        font-size: 48px;
    }

    .delivery-hero__intro {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        padding: 0 0 26px;
    }

    .delivery-switcher {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 12px;
        overflow: visible;
    }

    .delivery-panel {
        width: 100%;
        height: 150px;
        min-height: 150px;
        flex-basis: 150px;
        transition: min-height .45s cubic-bezier(.65, 0, .35, 1);
    }

    .delivery-panel__card {
        top: 20px;
        bottom: auto;
        left: 20px;
        width: 150px;
        height: 58px;
        border-radius: 16px;
        transform: none;
    }

    .delivery-panel__card-brand {
        height: 52px;
        border-radius: 13px;
    }

    .delivery-panel__word {
        right: 12px;
        bottom: -7px;
        max-width: calc(100% - 20px);
        overflow: hidden;
        font-size: 64px;
        line-height: .9;
    }

    .delivery-panel.is-active {
        min-height: 520px;
        flex-basis: 520px;
    }

    .delivery-switcher:has(.delivery-panel.is-active) .delivery-panel:not(.is-active) {
        flex-basis: 150px;
    }

    .delivery-panel.is-active .delivery-panel__word {
        opacity: .1;
    }

    .delivery-panel.is-active .delivery-panel__card {
        top: 20px;
        bottom: auto;
        left: 20px;
        width: calc(100% - 40px);
        height: 78px;
        transform: none;
    }

    .delivery-panel.is-active .delivery-panel__card-brand {
        inset: 2px;
        width: auto;
        height: 72px;
    }

    .delivery-panel__word {
        top: auto;
        writing-mode: initial;
        transform: none;
    }

    .delivery-panel__content {
        top: 92px;
        left: 20px;
        width: calc(100% - 40px);
    }

    .delivery-panel__content > span {
        width: 100%;
        margin-top: 18px;
    }

    .delivery-panel.is-active .delivery-panel__card-copy {
        display: none;
    }

    .delivery-panel.is-active .delivery-panel__card-brand img {
        max-width: 88%;
    }

    .delivery-panel__card-brand img {
        min-height: 50px;
    }

    .delivery-hero__promise {
        position: relative;
        top: auto;
        left: auto;
        display: block;
        margin-top: 28px;
    }

    .delivery-hero__icons span {
        width: 76px;
        height: 76px;
    }

@media (max-width: 520px) {
    .page-delivery .delivery-hero__inner {
        padding-top: 92px;
        padding-bottom: 48px;
    }

    .page-delivery .delivery-hero h1 {
        font-size: 40px;
    }

    .page-delivery .delivery-hero__intro {
        padding-bottom: 48px;
    }

    .page-delivery .delivery-hero__icons {
        justify-content: space-between;
        gap: 12px;
        margin: 18px 0 0;
    }

    .page-delivery .delivery-hero__icons span {
        width: clamp(68px, 22vw, 84px);
        height: clamp(68px, 22vw, 84px);
    }

    .page-delivery .delivery-panel {
        height: 128px;
        min-height: 128px;
        flex-basis: 128px;
    }

    .page-delivery .delivery-panel.is-active {
        min-height: 480px;
        flex-basis: 480px;
    }

    .page-delivery .delivery-switcher:has(.delivery-panel.is-active) .delivery-panel:not(.is-active) {
        flex-basis: 128px;
    }

    .page-delivery .delivery-panel__word {
        font-size: 38px;
    }

    .page-delivery .delivery-panel__content {
        top: 116px;
        font-size: 12px;
    }

    .page-delivery .delivery-panel__content > span {
        max-height: 235px;
        overflow: auto;
        font-size: 12px;
    }

    .page-delivery .delivery-copy {
        min-height: 0;
        padding: 72px 0 65px;
    }
}

@media (max-width: 430px) {
    .page-delivery .delivery-hero h1 {
        font-size: 36px;
    }

    .page-delivery .delivery-hero__intro > p,
    .page-delivery .delivery-hero__intro strong {
        font-size: 11px;
    }

    .page-delivery .delivery-panel__card {
        width: calc(100% - 28px);
    }
}

/* Contacts Page
	========================================================================== */
    /* Спільний grid-reset з About (.offer-page__inner), Guarantee
       (.guarantee-hero__inner/.team-page), Delivery (.delivery-hero__inner). */
    .contacts-page__grid,
    .back-home__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .contacts-page__inner {
        min-height: 760px;
        padding-top: 180px;
    }

    .contacts-page { min-height: 760px; }

    /* Спільний кегль h1 з Guarantee (.guarantee-hero h1) і Delivery (.delivery-hero h1). */
    .contacts-page h1 { padding-bottom: 18px; font-size: 48px; }

    .contacts-page__grid {
        gap: 40px;
        margin-top: 70px;
    }

    .contacts-page__route {
        display: block;
        margin: 20px 0 0;
    }

    .contacts-page__socials {
        flex-wrap: wrap;
        margin-top: 70px;
    }

    .back-home__inner {
        min-height: 400px;
    }

    .back-home { min-height: 400px; }

    .back-home__inner > div {
        text-align: left;
    }

    .back-home__inner > div > div {
        max-width: 100%;
    }

    /* Спільний кегль h2 з About (.offer-page__heading h2/.experience-page__title h2)
       і Guarantee (.team-page h2). */
    .back-home h2 {
        font-size: 42px;
    }

    .contacts-page__inner {
        padding-top: 300px;
    }

    .contacts-page__grid {
        gap: 48px;
        margin-top: 110px;
    }

    .contacts-page__route {
        margin-left: 18px;
    }

    .contacts-page__inner {
        padding-top: 145px;
    }

    .contacts-page__grid {
        grid-template-columns: 1fr;
    }

    .back-home__arrow {
        width: 50px;
        height: 50px;
        border-width: 10px;
    }

    .back-home__arrow::after {
        width: 56px;
        height: 10px;
        left: -8px;
    }

@media (max-width: 520px) {
    .contacts-page,
    .contacts-page__inner {
        height: 812px;
        min-height: 812px;
    }

    .contacts-page h1 {
        font-size: 42px;
    }

    .contacts-page__inner {
        padding-top: 245px;
    }

    .contacts-page__grid {
        gap: 30px;
        margin-top: 55px;
        font-size: 13px;
    }

    .contacts-page__grid > div:first-child {
        position: relative;
    }

    .contacts-page__route {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
    }

    .contacts-page__route span {
        display: none;
    }

    .contacts-page__socials {
        margin-top: 55px;
    }

    .contacts-page__socials a {
        padding: 4px 8px;
        border-radius: 3px;
        font-size: 8px;
    }

    .contacts-page__inner > p {
        line-height: 1.4;
    }

    .back-home,
    .back-home__inner {
        height: 457px;
        min-height: 457px;
    }

    .back-home__inner > div {
        top: 78px;
        width: 76%;
        text-align: right;
    }

    .back-home h2 {
        font-size: 36px;
    }

    .back-home__inner::after {
        top: 147px;
    }

    .back-home p {
        font-size: 11px;
        line-height: 1.4;
    }

    .back-home__arrow {
        width: 30px;
        height: 30px;
        border-width: 6px;
    }

    .back-home__arrow::after {
        width: 34px;
        height: 6px;
    }
}

@media (max-width: 430px) {
    .contacts-page h1 {
        font-size: 38px;
    }

    .contacts-page__route {
        font-size: 12px;
    }

    .back-home h2 {
        font-size: 32px;
    }
}

/* Catalog / Product Page
	========================================================================== */
    .catalog-product__visual { inset-inline: 18%; }
    .catalog-product__content {
        width: 100%;
        transform: translateY(-50%);
        left: 0;
    }
    .catalog-product__inner {
        min-height: 1100px;
        padding-top: 145px;
    }

    .catalog-product__topline nav {
        display: none;
    }

    .catalog-product__background img {
        object-position: 58% top;
    }

    .catalog-product__controls {
        top: 245px;
        left: 50%;
        transform: translateX(-50%);
    }

    .catalog-product__visual {
        inset: 220px -40% 290px;
    }

    .catalog-product__visual img {
        width: 180px;
        height: 470px;
    }

    .catalog-product__visual img.is-main {
        width: 235px;
        height: 570px;
    }

    .catalog-product__copy {
        top: auto;
        bottom: 185px;
        left: 0;
        width: 100%;
    }

    .catalog-product__copy h1 { white-space: normal; }

    .catalog-product__thumbs button { width: 30%; height: 105px; }

    .catalog-product__buy {
        top: auto;
        right: auto;
        bottom: 35px;
        left: 0;
        width: 100%;
    }

    .catalog-product__topline {
        align-items: center;
    }

    .catalog-product__filter {
        top: 190px;
        padding: 12px;
    }

    .catalog-product__filter label {
        margin-right: 30px;
    }

    .catalog-product__background::after {
        background: linear-gradient(180deg, rgba(10, 10, 10, .04) 0 43%, rgba(10, 10, 10, .82) 58%, #151515 74%);
    }

    .catalog-product__background img {
        height: 650px;
        object-position: 58% top;
    }

    .catalog-product__controls {
        top: 250px;
    }

    .catalog-product__copy h1 {
        margin-block: 8px 14px;
        font-size: 30px;
    }

    .catalog-product__copy > p {
        font-size: 12px;
    }

    .catalog-product__thumbs {
        margin-top: 24px;
    }

    .catalog-product__thumbs button {
        width: calc((100% - 20px) / 3);
        height: 100px;
    }

    .catalog-product__buy {
        top: 1030px;
        bottom: auto;
        gap: 11px;
    }

@media (max-width: 520px) {
    .catalog-product,
    .catalog-product__inner {
        height: 883px;
        min-height: 883px;
    }

    .catalog-product__inner {
        padding-top: 120px;
    }

    .catalog-product__topline > button {
        font-size: 10px;
    }

    .catalog-product__controls {
        top: 205px;
    }

    .catalog-product__background img {
        height: 480px;
        object-position: 56% top;
    }

    .catalog-product__copy {
        top: 430px;
    }

    .catalog-product__copy h1 {
        font-size: 27px;
    }

    .catalog-product__copy > strong {
        font-size: 12px;
        line-height: 1.3;
    }

    .catalog-product__thumbs button {
        height: 92px;
    }

    .catalog-product__buy {
        top: 585px;
    }

    .catalog-product__buy > button {
        width: 100%;
    }

    .catalog-product__thumbs {
        display: none;
    }
}

@media (max-width: 430px) {
    .catalog-product__copy h1 {
        font-size: 24px;
    }

    .catalog-product__copy > p {
        font-size: 11px;
        line-height: 1.3;
    }

    .catalog-product__thumbs {
        gap: 8px;
    }

    .catalog-product__thumbs button {
        width: calc((100% - 16px) / 3);
        height: 84px;
    }

    .catalog-product__buy > strong {
        font-size: 26px;
    }
}

/* Product Description
	========================================================================== */
    .product-description {
        min-height: 0;
        padding: 80px 0;
    }

    .product-description::after {
        bottom: -8px;
        left: 25px;
        font-size: 72px;
    }

    .product-description__tabs {
        gap: 28px;
        overflow-x: auto;
    }

    .product-description__panel .text-columns,
    .product-characteristics,
    .product-gallery {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 22px;
        margin: 30px 0 0;
    }

    .product-description__panel .text-columns p:nth-child(3) {
        grid-column: auto;
    }

    .product-characteristics > div {
        grid-template-columns: 120px 1fr;
    }

    .product-characteristics__product-title {
        margin: 14px 0 0;
    }

    .product-characteristics + .product-characteristics__product-title {
        margin-top: 30px;
    }

    .product-gallery {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

@media (max-width: 520px) {
    .product-description {
        padding: 48px 0 55px;
        overflow: hidden;
    }

    .product-description__panel .text-columns {
        gap: 16px;
    }

    .product-description__panel .text-columns p {
        font-size: 10px;
        line-height: 1.35;
    }

    .product-description__tabs {
        gap: 24px;
        padding-bottom: 14px;
        scrollbar-width: none;
    }

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

    .product-description__tabs button {
        flex: 0 0 auto;
        font-size: 11px;
    }

    .product-characteristics > div {
        grid-template-columns: 105px 1fr;
        gap: 12px;
    }

    .product-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* Product Video
	========================================================================== */
    .product-video,
    .product-video__inner {
        height: 720px;
    }

    .product-video video {
        object-position: 58% top;
    }

    .product-video__eyebrow {
        top: 80px;
    }

    .product-video__seal {
        top: 62px;
        right: 0;
        width: 82px;
        height: 82px;
    }

    .product-video__play {
        top: 48%;
        left: 50%;
        width: 72px;
        height: 72px;
    }

    .product-video__controls {
        right: 0;
        bottom: 26px;
        left: 0;
        height: 190px;
    }

    .product-video__copy h2 {
        font-size: 28px;
    }

    .product-video__copy p {
        font-size: 11px;
        line-height: 1.35;
    }

    .product-video__options {
        gap: 8px;
    }

@media (max-width: 520px) {
    .product-video,
    .product-video__inner {
        height: 414px;
    }

    .product-video__eyebrow {
        top: 42px;
        max-width: 180px;
        font-size: 10px;
    }

    .product-video__seal {
        top: 30px;
        width: 70px;
        height: 70px;
    }

    .product-video__copy h2 {
        font-size: 24px;
    }

    .product-video__controls {
        bottom: 12px;
        height: 142px;
    }

    .product-video__toolbar {
        gap: 12px;
    }

    .product-video__volume input {
        width: 52px;
    }
}

/* Product Grid
	========================================================================== */
    .product-grid { grid-template-columns: repeat(2, 1fr); }

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

    .product-grid-section {
        padding-top: 90px;
    }

    .product-grid {
        margin-top: 30px;
    }

@media (max-width: 520px) {
    .product-grid-section {
        height: 470px;
        min-height: 470px;
        padding: 50px 0 45px;
    }

    .product-grid {
        margin-top: 45px;
    }

    .product-tile {
        height: 350px;
        border-radius: 18px;
    }

    .product-tile > img {
        top: -70px;
        width: 200px;
    }
}

/* Checkout / Personal Info
	========================================================================== */
.page-checkout .header {
    height: 90px;
}

.page-checkout .header__inner {
    padding-top: 25px;
}

.checkout {
    padding-top: 90px;
}

.checkout__layout {
    display: block;
}

.checkout__form {
    padding: 171px 0 48px;
}

.checkout__eyebrow {
    top: 28px;
    right: 0;
    font-size: 14px;
}

.checkout__section h1,
.checkout__section h2 {
    font-size: 14px;
}

.checkout__city {
    display: block;
    margin-top: 17px;
    padding-bottom: 24px;
}

.checkout__city > span:first-child {
    display: block;
    font-size: 20px;
}

.checkout__input-wrap {
    width: 100%;
    margin-top: 12px;
}

.checkout__input-wrap input {
    height: 40px;
    font-size: 12px;
}

.checkout__carriers {
    display: flex;
    width: calc(100% + 32px);
    gap: 18px;
    margin: 24px 0 0 -16px;
    padding: 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.checkout__carriers::-webkit-scrollbar {
    display: none;
}

.checkout__carriers button {
    width: 210px;
    height: 60px;
    flex: 0 0 210px;
    padding: 0 10px;
    border-radius: 14px;
    scroll-snap-align: center;
}

.checkout__carriers button.is-active {
    width: 314px;
    flex-basis: 314px;
    padding-left: 10px;
}

.checkout__carriers button.is-active .checkout__carrier-copy {
    width: 138px;
    min-width: 138px;
}

.checkout__carrier-copy b {
    font-size: 16px;
}

.checkout__carrier-copy small {
    font-size: 7px;
}

.checkout__carrier-logo {
    width: 172px;
    height: 54px;
    flex-basis: 172px;
}

.checkout__carriers button.is-active .checkout__carrier-logo {
    width: 156px;
    height: 54px;
    flex-basis: 156px;
    border-radius: 12px;
}

.checkout__carrier-logo svg {
    width: min(82%, 145px);
    height: min(72%, 42px);
}

.checkout__carriers button[data-checkout-carrier="nova"] .checkout__carrier-logo svg {
    width: min(80%, 135px);
}

.checkout__carriers button[data-checkout-carrier="meest"] .checkout__carrier-logo svg {
    width: min(80%, 138px);
}

.checkout__carrier-word {
    display: none;
}

.checkout__shipping {
    margin-top: 82px;
}

.checkout__shipping label {
    min-height: 81px;
    grid-template-columns: 12px 1fr auto;
    gap: 9px;
    padding: 13px 0;
}

.checkout__shipping label > i,
.checkout__payment-option > i {
    width: 11px;
    height: 11px;
}

.checkout__shipping label > span b {
    font-size: 13px;
}

.checkout__shipping label small {
    margin-top: 5px;
    font-size: 9px;
}

.checkout__shipping label > strong {
    font-size: 12px;
}

.checkout__pickup {
    margin-top: 39px;
    font-size: 11px;
    line-height: 1.5;
}

.checkout__dark-input {
    margin-top: 12px;
}

.checkout__dark-input input,
.checkout__contact-grid input {
    height: 39px;
    color: #171717;
    background: #f5f5f5;
    font-size: 12px;
}

.checkout__contacts,
.checkout__payment-method {
    margin-top: 22px;
    padding-top: 27px;
}

.checkout__contact-grid {
    grid-template-columns: 44% 1fr;
    gap: 10px;
    margin-top: 27px;
}

.checkout__contact-grid input:first-child,
.checkout__contact-grid input:last-child {
    grid-column: 1 / -1;
}

.checkout__payment-option {
    margin-top: 25px;
    font-size: 11px;
}

.checkout__agreement {
    width: 100%;
    margin: 17px 0 0;
    font-size: 8px;
}

.checkout__agreement span {
    min-width: 0;
}

.checkout__submit {
    width: 100%;
    min-width: 0;
    height: 43px;
    margin-top: 26px;
    font-size: 17px;
}

.checkout__payment-option--cash {
    min-height: 70px;
    margin-top: 32px;
    padding-top: 25px;
}

.checkout-summary {
    position: relative;
    top: auto;
    width: calc(100% + 32px);
    min-height: 812px;
    margin-left: -16px;
    padding: 29px 16px 50px;
}

.checkout-summary h2 {
    font-size: 17px;
}

.checkout-summary__delivery-note {
    margin: 18px -16px 0;
    padding: 7px 10px;
    font-size: 10px;
}

.checkout-summary__product {
    min-height: 205px;
    grid-template-columns: 101px 1fr;
    gap: 12px;
    padding-top: 21px;
}

.checkout-summary__product > span {
    grid-row: 1 / 3;
    width: 101px;
    height: 119px;
}

.checkout-summary__product img {
    height: 154px;
}

.checkout-summary__product p {
    align-self: end;
    font-size: 14px;
}

.checkout-summary__product strong {
    grid-column: 2;
    align-self: start;
    font-size: 16px;
}

.checkout-summary__promo {
    padding: 14px 16px 17px;
    border-radius: 5px;
}

.checkout-summary__promo > b {
    font-size: 14px;
}

.checkout-summary__promo > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 17px;
    margin-top: 11px;
}

.checkout-summary__promo input {
    width: 100%;
    height: 48px;
    font-size: 11px;
}

.checkout-summary__promo button {
    width: 129px;
    height: 47px;
}

.checkout-summary__totals {
    margin-top: 28px;
    font-size: 13px;
}

.checkout-summary__totals div:last-child {
    margin-top: 28px;
    font-size: 20px;
}

.checkout__seal {
    width: 82px;
    height: 82px;
    margin-top: 67px;
}

.checkout-card__inner {
    width: calc(100% - 32px);
    padding-top: 264px;
}

.checkout-card__inner > p {
    top: 121px;
    right: 0;
    font-size: 14px;
}

.checkout-card fieldset {
    width: 100%;
    padding-bottom: 31px;
}

.checkout-card legend {
    margin-bottom: 26px;
    font-size: 14px;
}

.checkout-card label {
    gap: 10px;
    font-size: 12px;
}

.checkout-card input {
    height: 40px;
    font-size: 12px;
}

.checkout-card fieldset > label input {
    width: 164px;
}

.checkout-card fieldset > div {
    gap: 17px;
    margin-top: 27px;
}

.checkout-card fieldset > div input {
    width: 74px;
}

.checkout-card fieldset > div label:last-child input {
    width: 54px;
}

.checkout-card__pay {
    width: 201px;
    min-width: 0;
    height: 49px;
    margin: 40px 0 0 auto;
}

.checkout-card__close {
    top: 100px;
    display: block;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    font-size: 25px;
}

@media (max-width: 430px) {
    .hero__title {
        font-size: clamp(43px, 13.6vw, 51px);
    }
}

/* Intro Page
	========================================================================== */
    .intro-page .header { height: 90px; }
    .intro-page .header__inner { height: 90px; }
    .intro-page .logo { width: 120px; }
    .intro-page .header__controls,
    .intro-page .menu-panel,
    .intro-page .minicart { display: none; }
    .intro-screen {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 434px 16px 180px;
    }
    .intro-screen__heading { top: 217px; right: 16px; left: 16px; }
    .intro-screen__heading h1 { font-size: 48px; line-height: 1.32; }
    .intro-screen__heading h1 strong { color: #fff; }
    .intro-screen__heading p { margin-top: 10px; font-size: 12px; line-height: 1.45; }
    .intro-screen__heading p br { display: none; }
    .intro-card { position: relative; top: auto; right: auto; left: auto; width: 100%; height: auto; border-radius: 40px; }
    .intro-card--textile { width: 100%; height: auto; max-height: 280px; aspect-ratio: 343 / 263; }
    .intro-card--textile .intro-card__copy { right: 25px; bottom: 35px; left: 25px; }
    .intro-card--textile .intro-card__copy b { font-size: 34px; }
    .intro-card--textile .intro-card__copy small { font-size: 18px; }
    .intro-card--textile .intro-card__seal { top: 38px; right: 18px; width: 75px; height: 75px; }
    .intro-card--automobile { width: 100%; height: auto; max-height: 550px; aspect-ratio: 343 / 479; }
    .intro-card--automobile .intro-card__copy { right: 32px; bottom: 63px; left: 32px; }
    .intro-card--automobile .intro-card__copy b { font-size: 35px; }
    .intro-card--automobile .intro-card__copy small { font-size: 35px; line-height: 1.6; }
    .intro-card--automobile > .intro-card__arrow { top: 35px; right: 35px; width: 48px; height: 48px; border-width: 9px; }
    .intro-card--automobile > .intro-card__arrow::after { width: 62px; height: 9px; }
    .intro-card--nano { width: 100%; height: auto; max-height: 280px; aspect-ratio: 343 / 263; }
    .intro-card__nano-label { top: 74px; width: 180px; font-size: 12px; }
    .intro-card--nano > .intro-card__arrow { top: 93px; width: 43px; height: 43px; border-width: 8px; }
    .intro-card--nano > .intro-card__arrow::after { width: 56px; height: 8px; }
    .intro-card--building { width: 100%; height: auto; max-height: 230px; aspect-ratio: 343 / 209; }
    .intro-card--building .intro-card__copy { top: 38px; right: 16px; left: 16px; }
    .intro-card--building .intro-card__copy b { font-size: 34px; }
    .intro-card--building .intro-card__copy small { font-size: 17px; }
    .intro-card--building .intro-card__line { right: 120px; bottom: 50px; left: 16px; height: 7px; }
    .intro-card--building > .intro-card__arrow { right: 31px; bottom: 27px; width: 45px; height: 45px; border-width: 9px; }
    .intro-card--building > .intro-card__arrow::after { width: 58px; height: 9px; }
    .intro-screen__socials { right: 16px; bottom: 94px; gap: 16px; }
    .intro-screen__socials a,
    .intro-screen__socials svg { width: 24px; height: 24px; }
    .intro-screen__copyright { right: 16px; bottom: 52px; left: 16px; font-size: 14px; text-align: center; }
    .intro-screen__credit { bottom: 22px; font-size: 14px; white-space: nowrap; }
    .intro-screen__wordmark { bottom: -12px; font-size: 112px; }

/* Thanks Page
	========================================================================== */
    .thanks-page .header__inner {
        height: 90px;
    }

    .thanks-page .logo {
        width: 120px;
    }

    .thanks-screen {
        height: 812px;
        background-image: url('../img/pages/thanks/background-mobile.webp');
    }

    .thanks-screen__character {
        top: 137px;
        width: 289px;
    }

    .thanks-screen__copy {
        top: 422px;
    }

    .thanks-screen__copy h1 {
        font-size: 43px;
    }

    .thanks-screen__copy p {
        margin-top: 18px;
        font-size: 16px;
        line-height: 1.4;
    }

    .thanks-screen__copy strong {
        margin-top: 5px;
        font-size: 17px;
    }

    .thanks-page--fail .thanks-screen__copy p {
        margin-top: 20px;
    }

    .thanks-screen__action {
        top: 629px;
        height: 51px;
        font-size: 15px;
    }

    .thanks-screen__wordmark {
        bottom: -12px;
        font-size: 112px;
    }
