@media (max-width: 1180px) {
    :root { --w-card-width: 540px; }
    .w-header__inner,
    .w-hero__inner { gap: 36px; }
    .w-header-usps { gap: 16px; font-size: 13px; }
    .w-copy h1 { font-size: 58px; }
}

@media (max-width: 980px) {
    :root { --w-header-h: 78px; }
    .w-shell { width: min(920px, calc(100% - 36px)); }
    .w-page { display: block; min-height: 100svh; }
    .w-header { height: var(--w-header-h); }
    .w-header__inner { grid-template-columns: 1fr auto; gap: 20px; }
    .w-header__right { width: auto; }
    .w-header-usps { display: none; }
    .w-hero__inner {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 0 0 18px;
    }
    .w-visual {
        min-height: 470px;
        margin-left: calc((100vw - min(920px, calc(100vw - 36px))) / -2);
        padding-left: calc((100vw - min(920px, calc(100vw - 36px))) / 2);
    }
    .w-copy { padding-top: 18px; width: min(620px, calc(100% - 24px)); }
    .w-copy h1 { font-size: 54px; }
    .w-copy p { margin-bottom: 26px; font-size: 19px; }
    .w-benefits { grid-template-columns: repeat(3, minmax(0,1fr)); width: 100%; gap: 10px; }
    .w-benefit { gap: 8px; }
    .w-benefit small { display: none; }
    .w-benefit strong { font-size: 13px; }
    .w-check { width: 34px; height: 34px; flex-basis: 34px; font-size: 14px; }
    .w-bedbug-image { height: 50%; }
    .w-card { max-width: none; justify-self: stretch; }
    .w-uspbar__inner { grid-template-columns: repeat(2, 1fr); gap: 18px 30px; padding-block: 18px; }
}

@media (max-width: 640px) {
    :root { --w-header-h: 70px; }
    .w-shell { width: calc(100% - 28px); }
    .w-logo { font-size: 29px; letter-spacing: -1.4px; }
    .custom-logo { max-height: 40px; }
    .w-phone { padding: 7px 9px; border-radius: 9px; }
    .w-phone small { display: none; }
    .w-phone strong { font-size: 14px; }
    .w-phone__icon { font-size: 18px; }

    .w-visual {
        min-height: 340px;
        margin-left: -14px;
        padding-left: 14px;
    }
    .w-copy { padding-top: 6px; width: calc(100% - 10px); }
    .w-copy h1 { margin-bottom: 10px; font-size: 39px; line-height: .98; letter-spacing: -1.9px; }
    .w-copy p { margin-bottom: 17px; max-width: 95%; font-size: 15.5px; }
    .w-benefits { display: flex; flex-wrap: wrap; gap: 8px 12px; }
    .w-benefit { gap: 6px; }
    .w-benefit strong { font-size: 11.5px; }
    .w-check { width: 26px; height: 26px; flex-basis: 26px; font-size: 11px; }
    .w-bedbug-image { height: 45%; }
    .w-bedbug-image::before { background: linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.84) 10%,rgba(255,255,255,.15) 44%,rgba(255,255,255,0) 66%); }

    .w-card { padding: 20px 16px 16px; border-radius: 12px; }
    .w-card h2 { margin-bottom: 16px; font-size: 23px; }
    .w-card form { gap: 10px; }
    .w-field { gap: 5px; font-size: 12px; }
    .w-field input { height: 47px; }
    .w-submit { height: 52px; font-size: 16px; }
    .w-consent { font-size: 10.5px; }
    .w-privacy { font-size: 10px; }

    .w-uspbar__inner { grid-template-columns: 1fr 1fr; gap: 14px 10px; padding-block: 16px; }
    .w-uspbar-item { gap: 8px; }
    .w-uspbar-icon { width: 32px; height: 32px; flex-basis: 32px; font-size: 12px; }
    .w-uspbar strong { font-size: 11.5px; }
    .w-uspbar small { font-size: 9.5px; }
    .w-footer-links { gap: 10px; font-size: 10px; }

    .w-cookie { left: 10px; right: 10px; bottom: 10px; display: block; }
    .w-cookie-actions { margin-top: 12px; }
    .w-cookie button { flex: 1; }

    .w-legal-page { padding: 24px 14px; }
    .w-legal-article { padding: 24px 18px; }
    .w-legal-article h1 { font-size: 31px; }
}

@media (min-width: 1181px) and (max-height: 850px) {
    :root { --w-header-h: 80px; --w-uspbar-h: 80px; --w-footer-h: 34px; }
    .w-hero__inner { min-height: 510px; padding: 4px 0 8px; }
    .w-copy { padding-top: 18px; }
    .w-copy h1 { font-size: 58px; margin-bottom: 14px; }
    .w-copy p { margin-bottom: 24px; font-size: 18px; }
    .w-benefits { gap: 13px; }
    .w-check { width: 39px; height: 39px; flex-basis: 39px; font-size: 15px; }
    .w-card { padding: 20px 24px 16px; }
    .w-card h2 { margin-bottom: 14px; font-size: 24px; }
    .w-card form { gap: 9px; }
    .w-field input { height: 43px; }
    .w-submit { height: 49px; }
    .w-uspbar-icon { width: 39px; height: 39px; flex-basis: 39px; }
}
