/* Redesign layer: loaded only when body has .rd; all rules are scoped to body.rd. */

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(../../font/manrope/manrope-cyrillic.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(../../font/manrope/manrope-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.rd {
    --rd-f: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --rd-bg: #F4F6FA;
    --rd-sf: #FFFFFF;
    --rd-sf2: #E6EBF4;
    --rd-sf3: #DCE3EF;
    --rd-ink: #0D1B36;
    --rd-mut: #52607A;
    --rd-br: #0A3D91;
    --rd-br-dark: #082F70;
    --rd-ac: #F5A000;
    --rd-ac-hover: #E08F00;
    --rd-aci: #1A1200;
    --rd-ln: #DDE3EE;
    --rd-ic: #0A3D91;
    --rd-fb: #0B1E45;
    --rd-fc: #D5DDEE;
    --rd-step-bg: #EAF1FB;
    --rd-r: 16px;
    --rd-r-sm: 12px;
    --rd-shadow: 0 1px 2px rgba(13, 27, 54, .05), 0 8px 24px rgba(13, 27, 54, .06);
    --rd-shadow-hover: 0 2px 4px rgba(13, 27, 54, .06), 0 14px 32px rgba(13, 27, 54, .10);
    --rd-w: 1440px;
    --rd-pad: 40px;

    --rd-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
    --rd-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    --rd-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
    --rd-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
    --rd-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    --rd-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
    --rd-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
    --rd-i-zoom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.5-4.5M11 8v6M8 11h6'/%3E%3C/svg%3E");
    --rd-i-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18v-5.5C4 8.4 6.2 6 10 5.5V8c-2 .5-3 1.8-3 4h3v6H4zm10 0v-5.5c0-4.1 2.2-6.5 6-7V8c-2 .5-3 1.8-3 4h3v6h-6z'/%3E%3C/svg%3E");
    --rd-iw-wrench: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E");
    --rd-iw-to: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.2 8.2l1.4-3a.9.9 0 0 1 .8-.5h3.2a.9.9 0 0 1 .8.5l1.4 3'/%3E%3Cpath d='M7 8.2h10a1 1 0 0 1 1 1v2.4a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9.2a1 1 0 0 1 1-1z'/%3E%3Cpath d='M8.4 10.4h.01M15.6 10.4h.01'/%3E%3Crect x='2.2' y='15.4' width='3' height='5.6' rx='.9'/%3E%3Cpath d='M5.2 16.5l3.2-1.2h4.5a1.5 1.5 0 0 1 0 3h-2.6'/%3E%3Cpath d='M5.2 19.5l3.8.9a4 4 0 0 0 2.2-.1l8.2-3.2a1.3 1.3 0 0 0-.9-2.4L15 15.6'/%3E%3C/svg%3E");
    --rd-iw-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E");
    --rd-iw-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5L12 3l9 4.5v9L12 21l-9-4.5zM3 7.5l9 4.5 9-4.5M12 12v9'/%3E%3C/svg%3E");
    --rd-iw-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    --rd-iw-pct: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5L5 19'/%3E%3Ccircle cx='7.2' cy='7.2' r='2.3'/%3E%3Ccircle cx='16.8' cy='16.8' r='2.3'/%3E%3C/svg%3E");
    --rd-iw-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");

    font-family: var(--rd-f);
    font-size: 16px;
    line-height: 1.5;
    color: var(--rd-ink);
    background: var(--rd-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Browsers without color-mix() (iOS < 16.2, Chrome < 111): the mixes of the theme colours, precomputed. */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-japan {
        --rdx-ac-12-w: #F9E7E0;
        --rdx-ac-14-w: #F8E2DB;
        --rdx-ac-34-w: #EEBAA8;
        --rdx-ac-35-t: rgba(204, 51, 0, 0.35);
        --rdx-ac-40-t: rgba(204, 51, 0, 0.4);
        --rdx-ac-40-w: #EBAD99;
        --rdx-ac-70-t: rgba(204, 51, 0, 0.7);
        --rdx-ac-72-k: #932500;
        --rdx-ac-72-w: #DA6C47;
        --rdx-ac-75-t: rgba(204, 51, 0, 0.75);
        --rdx-ac-80-t: rgba(204, 51, 0, 0.8);
        --rdx-aci-12-t: rgba(255, 255, 255, 0.12);
        --rdx-aci-72-t: rgba(255, 255, 255, 0.72);
        --rdx-br-12-t: rgba(46, 57, 77, 0.12);
        --rdx-br-14-t: rgba(46, 57, 77, 0.14);
        --rdx-br-14-w: #E2E3E6;
        --rdx-br-20-w: #D5D7DB;
        --rdx-br-22-w: #D1D3D8;
        --rdx-br-27-w: #C7CACF;
        --rdx-br-28-w: #C4C8CD;
        --rdx-br-30-w: #C0C4CA;
        --rdx-br-38-t: rgba(46, 57, 77, 0.38);
        --rdx-br-4-w: #F7F7F8;
        --rdx-br-40-ln: #9BA1AC;
        --rdx-br-45-t: rgba(46, 57, 77, 0.45);
        --rdx-br-50-t: rgba(46, 57, 77, 0.5);
        --rdx-br-55-br-dark: #273142;
        --rdx-br-55-fb: #252E3E;
        --rdx-br-70-fb: #283243;
        --rdx-br-70-w: #6D7482;
        --rdx-br-8-w: #EEEFF1;
        --rdx-br-82-w: #545D6D;
        --rdx-br-85-k: #273041;
        --rdx-br-86-w: #4B5566;
        --rdx-br-88-k: #283244;
        --rdx-br-9-t: rgba(46, 57, 77, 0.09);
        --rdx-br-9-w: #ECEDEF;
        --rdx-br-90-k: #293345;
        --rdx-br-dark-85-k: #1A212D;
        --rdx-ink-28-w: #BEBFC0;
        --rdx-ink-62-mut: #30343D;
        --rdx-ink-78-mut: #252930;
        --rdx-ink-82-mut: #22262D;
        --rdx-ink-82-w: #404247;
        --rdx-ink-85-mut: #20242B;
        --rdx-mut-14-w: #E8E9EB;
        --rdx-mut-35-w: #C5C8CC;
        --rdx-mut-70-w: #8C9099;
        --rdx-mut-72-w: #888D96;
        --rdx-mut-8-w: #F2F2F3;
        --rdx-sf2-50-sf: #F6F8F9;
        --rdx-sf2-50-t: rgba(238, 240, 243, 0.5);
        --rdx-sf2-55-sf: #F6F7F8;
        --rdx-sf2-55-t: rgba(238, 240, 243, 0.55);
    }

    body.rd-korea {
        --rdx-ac-12-w: #FEF4E0;
        --rdx-ac-14-w: #FEF2DB;
        --rdx-ac-34-w: #FCDFA8;
        --rdx-ac-35-t: rgba(245, 160, 0, 0.35);
        --rdx-ac-40-t: rgba(245, 160, 0, 0.4);
        --rdx-ac-40-w: #FBD999;
        --rdx-ac-70-t: rgba(245, 160, 0, 0.7);
        --rdx-ac-72-k: #B07300;
        --rdx-ac-72-w: #F8BB47;
        --rdx-ac-75-t: rgba(245, 160, 0, 0.75);
        --rdx-ac-80-t: rgba(245, 160, 0, 0.8);
        --rdx-aci-12-t: rgba(26, 18, 0, 0.12);
        --rdx-aci-72-t: rgba(26, 18, 0, 0.72);
        --rdx-br-12-t: rgba(10, 61, 145, 0.12);
        --rdx-br-14-t: rgba(10, 61, 145, 0.14);
        --rdx-br-14-w: #DDE4F0;
        --rdx-br-20-w: #CED8E9;
        --rdx-br-22-w: #C9D4E7;
        --rdx-br-27-w: #BDCBE1;
        --rdx-br-28-w: #BAC9E0;
        --rdx-br-30-w: #B6C5DE;
        --rdx-br-38-t: rgba(10, 61, 145, 0.38);
        --rdx-br-4-w: #F5F7FB;
        --rdx-br-40-ln: #89A1C9;
        --rdx-br-45-t: rgba(10, 61, 145, 0.45);
        --rdx-br-50-t: rgba(10, 61, 145, 0.5);
        --rdx-br-55-br-dark: #093782;
        --rdx-br-55-fb: #0A2F6F;
        --rdx-br-70-fb: #0A347A;
        --rdx-br-70-w: #5477B2;
        --rdx-br-8-w: #EBEFF6;
        --rdx-br-82-w: #3660A5;
        --rdx-br-85-k: #08347B;
        --rdx-br-86-w: #2C58A0;
        --rdx-br-88-k: #093680;
        --rdx-br-9-t: rgba(10, 61, 145, 0.09);
        --rdx-br-9-w: #E9EEF5;
        --rdx-br-90-k: #093782;
        --rdx-br-dark-85-k: #07285F;
        --rdx-ink-28-w: #BBBFC7;
        --rdx-ink-62-mut: #273550;
        --rdx-ink-78-mut: #1C2A45;
        --rdx-ink-82-mut: #192742;
        --rdx-ink-82-w: #39445A;
        --rdx-ink-85-mut: #172540;
        --rdx-mut-14-w: #E7E9EC;
        --rdx-mut-35-w: #C2C7D0;
        --rdx-mut-70-w: #8690A2;
        --rdx-mut-72-w: #828D9F;
        --rdx-mut-8-w: #F1F2F4;
        --rdx-sf2-50-sf: #F2F5FA;
        --rdx-sf2-50-t: rgba(230, 235, 244, 0.5);
        --rdx-sf2-55-sf: #F1F4F9;
        --rdx-sf2-55-t: rgba(230, 235, 244, 0.55);
    }

    body.rd-germany {
        --rdx-ac-12-w: #FFF1E0;
        --rdx-ac-14-w: #FFEFDB;
        --rdx-ac-34-w: #FFD7A8;
        --rdx-ac-35-t: rgba(255, 138, 0, 0.35);
        --rdx-ac-40-t: rgba(255, 138, 0, 0.4);
        --rdx-ac-40-w: #FFD099;
        --rdx-ac-70-t: rgba(255, 138, 0, 0.7);
        --rdx-ac-72-k: #B86300;
        --rdx-ac-72-w: #FFAB47;
        --rdx-ac-75-t: rgba(255, 138, 0, 0.75);
        --rdx-ac-80-t: rgba(255, 138, 0, 0.8);
        --rdx-aci-12-t: rgba(26, 17, 0, 0.12);
        --rdx-aci-72-t: rgba(26, 17, 0, 0.72);
        --rdx-br-12-t: rgba(3, 56, 135, 0.12);
        --rdx-br-14-t: rgba(3, 56, 135, 0.14);
        --rdx-br-14-w: #DCE3EE;
        --rdx-br-20-w: #CDD7E7;
        --rdx-br-22-w: #C8D3E5;
        --rdx-br-27-w: #BBC9DF;
        --rdx-br-28-w: #B8C7DD;
        --rdx-br-30-w: #B3C3DB;
        --rdx-br-38-t: rgba(3, 56, 135, 0.38);
        --rdx-br-4-w: #F5F7FA;
        --rdx-br-40-ln: #869EC4;
        --rdx-br-45-t: rgba(3, 56, 135, 0.45);
        --rdx-br-50-t: rgba(3, 56, 135, 0.5);
        --rdx-br-55-br-dark: #0A357C;
        --rdx-br-55-fb: #072D6D;
        --rdx-br-70-fb: #053076;
        --rdx-br-70-w: #4F74AB;
        --rdx-br-8-w: #EBEFF5;
        --rdx-br-82-w: #305C9D;
        --rdx-br-85-k: #033073;
        --rdx-br-86-w: #265498;
        --rdx-br-88-k: #033177;
        --rdx-br-9-t: rgba(3, 56, 135, 0.09);
        --rdx-br-9-w: #E8EDF4;
        --rdx-br-90-k: #03327A;
        --rdx-br-dark-85-k: #0F2A5E;
        --rdx-ink-28-w: #BCBFC6;
        --rdx-ink-62-mut: #28354E;
        --rdx-ink-78-mut: #1D2942;
        --rdx-ink-82-mut: #1A2740;
        --rdx-ink-82-w: #394358;
        --rdx-ink-85-mut: #18243E;
        --rdx-mut-14-w: #E7E9EC;
        --rdx-mut-35-w: #C3C7D0;
        --rdx-mut-70-w: #8790A1;
        --rdx-mut-72-w: #838D9F;
        --rdx-mut-8-w: #F1F2F4;
        --rdx-sf2-50-sf: #F3F6FA;
        --rdx-sf2-50-t: rgba(231, 236, 245, 0.5);
        --rdx-sf2-55-sf: #F2F5FA;
        --rdx-sf2-55-t: rgba(231, 236, 245, 0.55);
    }

    body.rd-france {
        --rdx-ac-12-w: #FFF1E0;
        --rdx-ac-14-w: #FFEFDB;
        --rdx-ac-34-w: #FFD7A8;
        --rdx-ac-35-t: rgba(255, 138, 0, 0.35);
        --rdx-ac-40-t: rgba(255, 138, 0, 0.4);
        --rdx-ac-40-w: #FFD099;
        --rdx-ac-70-t: rgba(255, 138, 0, 0.7);
        --rdx-ac-72-k: #B86300;
        --rdx-ac-72-w: #FFAB47;
        --rdx-ac-75-t: rgba(255, 138, 0, 0.75);
        --rdx-ac-80-t: rgba(255, 138, 0, 0.8);
        --rdx-aci-12-t: rgba(26, 17, 0, 0.12);
        --rdx-aci-72-t: rgba(26, 17, 0, 0.72);
        --rdx-br-12-t: rgba(3, 56, 135, 0.12);
        --rdx-br-14-t: rgba(3, 56, 135, 0.14);
        --rdx-br-14-w: #DCE3EE;
        --rdx-br-20-w: #CDD7E7;
        --rdx-br-22-w: #C8D3E5;
        --rdx-br-27-w: #BBC9DF;
        --rdx-br-28-w: #B8C7DD;
        --rdx-br-30-w: #B3C3DB;
        --rdx-br-38-t: rgba(3, 56, 135, 0.38);
        --rdx-br-4-w: #F5F7FA;
        --rdx-br-40-ln: #869EC4;
        --rdx-br-45-t: rgba(3, 56, 135, 0.45);
        --rdx-br-50-t: rgba(3, 56, 135, 0.5);
        --rdx-br-55-br-dark: #0A357C;
        --rdx-br-55-fb: #072D6D;
        --rdx-br-70-fb: #053076;
        --rdx-br-70-w: #4F74AB;
        --rdx-br-8-w: #EBEFF5;
        --rdx-br-82-w: #305C9D;
        --rdx-br-85-k: #033073;
        --rdx-br-86-w: #265498;
        --rdx-br-88-k: #033177;
        --rdx-br-9-t: rgba(3, 56, 135, 0.09);
        --rdx-br-9-w: #E8EDF4;
        --rdx-br-90-k: #03327A;
        --rdx-br-dark-85-k: #0F2A5E;
        --rdx-ink-28-w: #BCBFC6;
        --rdx-ink-62-mut: #28354E;
        --rdx-ink-78-mut: #1D2942;
        --rdx-ink-82-mut: #1A2740;
        --rdx-ink-82-w: #394358;
        --rdx-ink-85-mut: #18243E;
        --rdx-mut-14-w: #E7E9EC;
        --rdx-mut-35-w: #C3C7D0;
        --rdx-mut-70-w: #8790A1;
        --rdx-mut-72-w: #838D9F;
        --rdx-mut-8-w: #F1F2F4;
        --rdx-sf2-50-sf: #F3F6FA;
        --rdx-sf2-50-t: rgba(231, 236, 245, 0.5);
        --rdx-sf2-55-sf: #F2F5FA;
        --rdx-sf2-55-t: rgba(231, 236, 245, 0.55);
    }
}

body.rd input,
body.rd button,
body.rd textarea,
body.rd select {
    font-family: var(--rd-f);
}

body.rd .rd-i {
    width: 20px;
    height: 20px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Icon tile of a service category: translucent on blue, tinted on light backgrounds. */
body.rd .rd-mi {
    display: inline-grid;
    place-items: center;
    flex: none;
    vertical-align: middle;
    border-radius: 28%;
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

body.rd .rd-mi .rd-i {
    width: 55%;
    height: 55%;
}

/* ---------- Container ---------- */

body.rd .size {
    width: auto !important;
    max-width: var(--rd-w);
    margin: 0 auto;
    padding: 0 var(--rd-pad);
    display: block;
}

body.rd .content h1 {
    font-family: var(--rd-f);
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--rd-ink);
}

/* ---------- Buttons ---------- */

body.rd .rd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 22px;
    border-radius: var(--rd-r-sm);
    background: var(--rd-ac);
    color: var(--rd-aci);
    font: 700 15px/1 var(--rd-f);
    white-space: nowrap;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: background-color .2s, transform .2s;
}

body.rd .rd-btn:hover {
    background: var(--rd-ac-hover);
}

body.rd .rd-btn:active {
    transform: translateY(1px);
}

body.rd .rd-btn--big {
    height: 56px;
    padding: 0 28px;
    font-size: 18px;
}

body.rd .rd-btn--ghost {
    background: var(--rd-sf);
    color: var(--rd-ink);
    box-shadow: inset 0 0 0 1px var(--rd-ln);
}

body.rd .rd-btn--ghost:hover {
    background: var(--rd-sf2);
}

body.rd a:focus-visible,
body.rd button:focus-visible,
body.rd summary:focus-visible,
body.rd .tabs__caption li:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--rd-br) 45%, transparent);
    outline-offset: 2px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd a:focus-visible,
    body.rd button:focus-visible,
    body.rd summary:focus-visible,
    body.rd .tabs__caption li:focus-visible {
        outline: 3px solid var(--rdx-br-45-t);
    }
}

/* ---------- Top bar ---------- */

body.rd .head_block {
    background: var(--rd-sf);
    border-bottom: 1px solid var(--rd-ln);
    color: var(--rd-ink);
}

body.rd .head_block:not(:has(li)) {
    display: none;
}

body.rd .head_block.rdh-971af5 {
    display: none;
}

body.rd .head_block .size {
    height: auto !important;
}

body.rd .head_block ul {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 48px;
    margin: 0;
    padding: 0;
}

body.rd .head_block ul li {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    color: var(--rd-ink);
}

body.rd .head_block ul li:last-child {
    flex: 1;
    text-align: center;
    font-weight: 700 !important;
}

body.rd .head_block ul li a {
    font-size: 14px;
    color: var(--rd-ink);
}

body.rd .head_block ul li a:hover {
    color: var(--rd-br);
    text-decoration: none;
}

/* ---------- Header ---------- */

body.rd header {
    background: var(--rd-sf);
    padding: 28px 0;
}

body.rd header .size {
    display: flex;
    align-items: center;
    gap: 36px;
}

body.rd header .size:after {
    display: none;
}

body.rd header a.logo,
body.rd header a.logo_manyaddresses {
    float: none;
    flex: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    max-width: 380px;
}

body.rd header a.logo img,
body.rd header a.logo_manyaddresses img {
    width: auto !important;
    height: 56px !important;
    max-width: 200px;
    margin: 0 !important;
    object-fit: contain;
}

body.rd header a.logo strong {
    width: auto;
    max-width: 210px;
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--rd-mut);
}

body.rd header .header_right {
    float: none;
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    width: auto;
    margin: 0 !important;
}

body.rd header .header_right > .header_right_twophone {
    flex: 1;
}

body.rd header .header_right img.star {
    float: none;
    flex: none;
    width: 52px;
    height: auto;
    margin: 0 !important;
    align-self: center;
}

body.rd header .header_right .h_inform,
body.rd header .header_right .many_addresses {
    float: none;
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
}

body.rd header .header_right .many_addresses:has(> a[href="tel:"]) {
    display: none;
}

body.rd header .header_right .many_addresses.rdh-39f27e {
    display: none;
}

body.rd header .header_right a.phone,
body.rd header .header_right a.phone_many_addresses,
body.rd header .header_right a.nophone2 {
    float: none;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    background: none;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-ink);
    white-space: nowrap;
}

body.rd header .header_right a.phone:hover,
body.rd header .header_right a.phone_many_addresses:hover,
body.rd header .header_right a.nophone2:hover {
    color: var(--rd-br);
    text-decoration: none;
}

body.rd header .header_right .h_loc,
body.rd header .header_right .h_loc_many_addresses,
body.rd header .header_right .nophone2h_loc,
body.rd header .header_right .h_time,
body.rd header .header_right .h_time_many_addresses {
    display: flex;
    gap: 8px;
    margin: 8px 0 0;
    padding: 0;
    background: none;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--rd-ink);
}

body.rd header .header_right .h_time,
body.rd header .header_right .h_time_many_addresses {
    font-size: 13px;
    font-weight: 400;
    color: var(--rd-mut);
}

body.rd header .header_right a.phone:before,
body.rd header .header_right a.phone_many_addresses:before,
body.rd header .header_right a.nophone2:before,
body.rd header .header_right .h_loc:before,
body.rd header .header_right .h_loc_many_addresses:before,
body.rd header .header_right .nophone2h_loc:before,
body.rd header .header_right .h_time:before,
body.rd header .header_right .h_time_many_addresses:before {
    content: '';
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    background: var(--rd-ic);
    -webkit-mask: var(--rd-i-pin) center / contain no-repeat;
    mask: var(--rd-i-pin) center / contain no-repeat;
}

body.rd header .header_right a.phone:before,
body.rd header .header_right a.phone_many_addresses:before,
body.rd header .header_right a.nophone2:before {
    width: 20px;
    height: 20px;
    margin-top: 0;
    -webkit-mask-image: var(--rd-i-phone);
    mask-image: var(--rd-i-phone);
}

body.rd header .header_right .h_time:before,
body.rd header .header_right .h_time_many_addresses:before {
    background: var(--rd-mut);
    -webkit-mask-image: var(--rd-i-clock);
    mask-image: var(--rd-i-clock);
}

@media (min-width: 1025px) {
    body.rd header a.logo {
        flex: 0 1 auto;
        min-width: 0;
        max-width: none;
        gap: 20px;
    }

    body.rd header a.logo strong {
        max-width: 520px;
        font-size: 15px;
        line-height: 1.4;
        text-wrap: balance;
    }

    body.rd header a.logo ~ .header_right {
        flex: none;
        margin-left: auto !important;
    }

    body.rd header a.logo ~ .header_right .h_inform {
        flex: none;
    }
}

/* ---------- Main menu ---------- */

body.rd #vue-app-cart > .size {
    background: var(--rd-sf);
    border-image: conic-gradient(var(--rd-sf) 0 0) fill 0 / 0 / 0 100vmax;
    padding-bottom: 20px;
}

body.rd nav.top_menu {
    height: auto !important;
    margin: 0;
    padding: 4px;
    border-radius: var(--rd-r);
    background: var(--rd-br);
    display: flex;
    justify-content: flex-start;
}

body.rd nav.top_menu ul.menu {
    width: auto !important;
    display: flex;
    gap: 4px;
    justify-content: flex-start;
}

body.rd nav.top_menu ul.menu > li {
    width: auto;
    float: none;
}

body.rd nav.top_menu ul.menu > li > a,
body.rd nav.top_menu ul.menu li:first-child > a {
    height: 50px;
    padding: 0 24px;
    gap: 8px;
    border: 0;
    border-radius: var(--rd-r-sm);
    background: transparent;
    color: #fff;
    font: 600 16px/1 var(--rd-f);
    letter-spacing: 0;
    text-transform: none;
    transition: background-color .2s;
}

body.rd nav.top_menu ul.menu > li:first-child > a {
    background: rgba(255, 255, 255, .18);
}

body.rd nav.top_menu ul.menu > li > a:hover,
body.rd nav.top_menu ul.menu > li:hover > a {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

body.rd .top_menu .active {
    color: #fff;
}

body.rd .active_menu:after {
    margin-left: 2px;
    font-size: 16px;
}

body.rd nav.top_menu ul.menu li .submenu {
    top: calc(100% + 6px);
    left: 0;
    min-width: 240px;
    padding: 6px;
    border: 0;
    border-radius: var(--rd-r-sm);
    background: var(--rd-sf);
    box-shadow: var(--rd-shadow-hover);
}

body.rd nav.top_menu ul.menu li .submenu:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -8px;
    height: 8px;
}

body.rd nav.top_menu ul.menu li .submenu li a,
body.rd nav.top_menu ul.menu li .submenu li:first-child a {
    height: auto;
    padding: 11px 14px;
    justify-content: flex-start;
    border-radius: 8px;
    background: transparent;
    color: var(--rd-ink);
    font: 600 15px/1.3 var(--rd-f);
    letter-spacing: 0;
}

body.rd nav.top_menu ul.menu li .submenu li a:hover {
    background: var(--rd-sf2);
    color: var(--rd-br);
}

body.rd nav.top_menu ul.menu li .submenu li:after,
body.rd .submenu-link:after {
    content: none;
}

body.rd .menu_bg {
    background: rgba(13, 27, 54, .35);
}

/* Right end of the menu: map ratings and «Открыто сейчас». The row wraps and its fixed height clips what does not
   fit beside the menu; row-reverse puts the ratings (first in the markup) on the right, so the badge goes first,
   then both ratings at once. The empty :before is the first item of the line, so that the ratings can wrap away
   too instead of sticking out of the row. */
body.rd nav.top_menu .rd-rts {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-flow: row-reverse wrap;
    align-items: center;
    align-self: center;
    row-gap: 20px;
    box-sizing: border-box;
    height: 50px;
    padding: 5px 6px 5px 8px;
    overflow: hidden;
    container-type: inline-size;
}

/* Two ratings and the whole badge need 394px; with less the badge drops «, звоните». «Хорошее место» needs 54px more. */
@container (max-width: 393.98px) {
    body.rd .rd-ok__cta {
        display: none;
    }
}

@container (max-width: 447.98px) {
    body.rd .rd-rts:has(.rd-rt ~ .rd-rt ~ .rd-rt) .rd-ok__cta {
        display: none;
    }

    body.rd .rd-rts.rdh-cb49f6.rdh-cb49f6.rdh-cb49f6 .rd-ok__cta {
        display: none;
    }
}

body.rd nav.top_menu .rd-rts:before {
    content: '';
    flex: none;
    width: 0;
    height: 0;
}

body.rd nav.top_menu .rd-rts__pl {
    flex: none;
    display: flex;
    align-items: center;
    gap: 6px;
}

body.rd nav.top_menu .rd-rts__pl + .rd-ok--bar {
    margin-right: 10px;
}

body.rd nav.top_menu .rd-rts__sep {
    flex: none;
    width: 1px;
    height: 26px;
    margin-right: 6px;
    background: rgba(255, 255, 255, .24);
}

body.rd .rd-rt {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    padding: 0 10px 0 6px;
    border-radius: 12px;
    background: #fff;
    color: var(--rd-ink);
    font: 800 16px/1 var(--rd-f);
    letter-spacing: -.01em;
    white-space: nowrap;
    transition: transform .15s, box-shadow .15s;
}

body.rd a.rd-rt:hover {
    color: var(--rd-ink);
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 8px 16px -8px rgba(0, 0, 0, .5);
}

body.rd a.rd-rt:focus-visible {
    outline: 3px solid var(--rd-ac);
    outline-offset: 2px;
}

body.rd .rd-rt img {
    display: block;
    flex: none;
    width: 26px;
    height: 26px;
    object-fit: contain;
}

body.rd .rd-rt b {
    font-weight: 800;
}

/* «Хорошее место» of the sites with three and more addresses: a transparent PNG straight on the menu, without the white field. */
body.rd .rd-rt--star {
    padding: 0;
    background: none;
}

body.rd .rd-rt--star img {
    width: 40px;
    height: auto;
}

/* «Открыто сейчас»: hidden in the HTML, shown in the working hours by the script below the menu. */
body.rd .rd-ok {
    display: inline-flex;
    align-items: center;
    flex: none;
    gap: 8px;
    height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    background: #E3F5EA;
    color: #14703A;
    font: 800 13px/1 var(--rd-f);
    white-space: nowrap;
}

body.rd .rd-ok[hidden] {
    display: none !important;
}

body.rd .rd-ok:before {
    content: '';
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1FAA59;
    box-shadow: 0 0 0 3px rgba(31, 170, 89, .22);
}

body.rd header .rd-ok--hd {
    align-self: center;
}

body.rd nav.top_menu .rd-ok--bar {
    height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 14px;
}

body.rd .head_mobile .rd-ok--mob {
    display: flex;
    width: max-content;
    margin: 0 auto 12px;
}

/* ---------- Footer ---------- */

body.rd .rd-footer {
    --rd-ft-ac2: color-mix(in srgb, var(--rd-ac) 72%, #fff);
    margin-top: 0;
    padding: 64px 0 30px;
    background: var(--rd-fb);
    color: #fff;
    border: 0;
    font-size: 15px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-footer {
        --rd-ft-ac2: var(--rdx-ac-72-w);
    }
}

body.rd .rd-footer a {
    color: inherit;
    text-decoration: none;
    transition: color .15s;
}

body.rd .rd-footer a:hover {
    color: var(--rd-ft-ac2);
}

/* Columns: brand, sections, addresses, contacts; the address column widens with the number of addresses. */
body.rd .rd-footer__grid {
    display: grid;
    grid-template-columns: 1.05fr 1.6fr 1.2fr 1.25fr;
    gap: 48px;
}

body.rd .rd-footer__grid--n3 {
    grid-template-columns: 1fr 1.5fr 1.7fr 1.05fr;
}

body.rd .rd-footer__grid--n6 {
    grid-template-columns: .9fr 1.4fr 2.1fr 1fr;
}

body.rd .rd-footer__grid > * {
    min-width: 0;
}

body.rd .rd-footer__logo {
    display: inline-flex;
    padding: 10px 16px;
    border-radius: 16px;
    background: #fff;
}

body.rd .rd-footer__logo img {
    display: block;
    width: auto;
    height: 44px;
}

body.rd .rd-footer__name {
    display: block;
    margin-top: 20px;
    font-size: 16.5px;
    line-height: 1.35;
    font-weight: 800;
    color: #fff;
}

body.rd .rd-footer__about p.rd-footer__muted {
    margin: 8px 0 0;
    padding: 0;
    font-size: 14.5px;
    line-height: 1.55;
    letter-spacing: 0;
    color: rgba(255, 255, 255, .66);
    text-wrap: pretty;
}

body.rd .rd-footer__title {
    margin-bottom: 20px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}

body.rd .rd-footer__menu,
body.rd .rd-footer__addr {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.rd .rd-footer__menu {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    gap: 12px 28px;
}

body.rd .rd-footer__menu:has(> li:nth-child(9)) {
    grid-template-rows: repeat(5, auto);
}

body.rd .rd-footer__menu.rdh-5c9e7b {
    grid-template-rows: repeat(5, auto);
}

body.rd .rd-footer__menu li {
    margin: 0;
    padding: 0;
    line-height: 1.3;
}

body.rd .rd-footer__menu a {
    font-size: 15px;
    line-height: 1.3;
    white-space: nowrap;
    color: rgba(255, 255, 255, .9);
}

body.rd .rd-footer__addr {
    gap: 18px;
}

body.rd .rd-footer__addr--two {
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
}

body.rd .rd-footer__addr li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    line-height: 1.35;
}

body.rd .rd-footer__addr .rd-i {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--rd-ac);
}

body.rd .rd-footer__addr b {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #fff;
}

body.rd .rd-footer__addr li a {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;
    white-space: nowrap;
    color: var(--rd-ft-ac2);
}

body.rd .rd-footer__addr li a:hover {
    color: #fff;
}

body.rd .rd-footer__addr small {
    display: block;
    margin-top: 3px;
    font-size: 13.5px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .6);
}

body.rd .rd-footer__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    font-size: 14.5px;
    font-weight: 800;
    color: var(--rd-ft-ac2) !important;
}

body.rd .rd-footer__more .rd-i {
    width: 15px;
    height: 15px;
}

body.rd .rd-footer__phone {
    display: block;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    white-space: nowrap;
    color: #fff !important;
}

body.rd .rd-footer__mail {
    display: block;
    margin-top: 12px;
    font-size: 14.5px;
    color: rgba(255, 255, 255, .78) !important;
    overflow-wrap: anywhere;
}

body.rd .rd-footer__title + .rd-footer__mail {
    margin-top: 0;
}

body.rd .rd-footer__hours {
    display: grid;
    gap: 3px;
    margin-top: 18px;
    font-size: 14.5px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .78);
}

body.rd .rd-footer__label {
    font-weight: 800;
    color: #fff;
}

body.rd .rd-footer .rd-footer__call {
    height: 52px;
    margin-top: 20px;
    font-size: 16px;
    color: var(--rd-aci);
}

body.rd .rd-footer .rd-footer__call:hover {
    color: var(--rd-aci);
}

body.rd .rd-footer .rd-footer__call i {
    width: 34px;
    height: 34px;
}

body.rd .rd-footer__bottom {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .58);
}

body.rd .rd-footer__note {
    max-width: 760px;
    margin: 6px 0 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0;
    color: rgba(255, 255, 255, .5);
}

body.rd .rd-footer__note:empty {
    display: none;
}

@media (max-width: 1200px) {
    body.rd .rd-footer__grid--n6 > .rd-footer__col:nth-child(3) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    body.rd .rd-footer__addr--two {
        grid-template-columns: 1fr;
    }

    body.rd .rd-footer__menu a {
        white-space: normal;
    }
}

/* ================= Home page ================= */

body.rd .rd-steps__grid > li,
body.rd .rd-addr__list > li {
    line-height: inherit;
}

body.rd .rd-addr__list > li {
    padding-left: 0;
}

body.rd .rd-steps__grid > li:before,
body.rd .rd-addr__list > li:before {
    content: none;
}

body.rd-home .content {
    padding: 0 0 72px;
}

body.rd-home .content p {
    letter-spacing: 0;
    font-size: 16px;
    line-height: 1.6;
    padding: 0;
}

body.rd-home .content .size > br {
    display: none;
}

body.rd-home .content h1 {
    max-width: 980px;
    margin: 0 0 32px;
    padding: 56px 0 0;
    font-size: 46px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--rd-ink);
}

body.rd-home .content h1:after {
    position: static;
    width: 120px;
    height: 5px;
    margin-top: 20px;
    border-radius: 3px;
    background: var(--rd-ac);
}

/* Hero: brand cards + photo, quote below */

body.rd-home .content .size > .content_box:not(.call_me) {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 32px;
    margin: 0;
}

body.rd-home .content .size > .content_box:not(.call_me):after {
    display: none;
}

body.rd-home .content .content_box:not(.call_me) > .left {
    grid-column: 1;
    grid-row: 1;
    float: none;
    width: auto !important;
    margin: 0 !important;
}

body.rd-home .content .content_box:not(.call_me) > .right {
    float: none;
    width: auto !important;
    margin: 0 !important;
}

body.rd-home .content .content_box:not(.call_me) > .right:first-child {
    grid-column: 2;
    grid-row: 1;
}

body.rd-home .content .content_box:not(.call_me) > .right:last-child {
    grid-column: 1 / -1;
    grid-row: 2;
}

body.rd-home .content .content_box .right p {
    height: 100%;
    margin: 0;
    padding: 0;
}

body.rd-home .content .content_box .right p img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    border-radius: var(--rd-r);
}

body.rd-home .content .content_box .right a.video_you {
    display: block;
    height: 100%;
}

body.rd-home .content .content_box .left .cont_auto {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 16px;
    margin: 0;
    height: 100%;
}

body.rd-home .content .content_box .left .cont_auto a.row,
body.rd-home .content .content_box .left .cont_auto a.row2 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: auto;
    min-width: 0 !important;
    min-height: 300px;
    margin: 0;
    padding: 18px;
    flex: none;
    text-align: left;
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    background: var(--rd-sf) !important;
    color: var(--rd-ink);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

body.rd-home .content .content_box .left .cont_auto a.row:hover,
body.rd-home .content .content_box .left .cont_auto a.row2:hover {
    border-color: color-mix(in srgb, var(--bc, var(--rd-br)) 45%, var(--rd-ln));
    box-shadow: var(--rd-shadow-hover);
    transform: translateY(-2px);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .content .content_box .left .cont_auto a.row:hover,
    body.rd-home .content .content_box .left .cont_auto a.row2:hover {
        border-color: var(--bc, var(--rd-br));
    }
}

body.rd-home .content .content_box .left .cont_auto a img {
    flex: 1;
    display: block;
    width: 100%;
    height: auto;
    min-height: 150px;
    padding: 14px;
    object-fit: contain;
    border-radius: 10px;
    background: var(--rd-sf2);
    background: color-mix(in srgb, var(--bc, var(--rd-br)) 14%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .content .content_box .left .cont_auto a img {
        background: var(--rd-sf2);
    }
}

body.rd-home .content .content_box .left .cont_auto a span {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-home .content .content_box .left .cont_auto a .btn1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: none;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border-radius: var(--rd-r-sm);
    background: var(--rd-ac);
    color: var(--rd-aci);
    box-shadow: none;
    font: 700 14px/1 var(--rd-f);
    white-space: nowrap;
}

body.rd-home .content .content_box .left .cont_auto a .btn1:after,
body.rd .rd-model-card__all:after {
    content: '';
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: var(--rd-i-arrow) center / contain no-repeat;
    mask: var(--rd-i-arrow) center / contain no-repeat;
}

body.rd-home .content .content_box .left .cont_auto a:hover .btn1 {
    background: var(--rd-ac-hover);
}

body.rd-home blockquote {
    position: relative;
    width: auto;
    max-width: 900px;
    margin: 24px auto 32px;
    padding: 24px 0 0;
    border: 0;
    background: none;
    box-shadow: none;
    text-align: center;
    color: var(--rd-ink);
    font-weight: 600;
}

body.rd-home blockquote:before {
    content: '';
    position: static;
    display: block;
    width: 36px;
    height: 36px;
    margin: 0 auto 12px;
    background: var(--rd-ac);
    -webkit-mask: var(--rd-i-quote) center / contain no-repeat;
    mask: var(--rd-i-quote) center / contain no-repeat;
}

body.rd-home .content blockquote p {
    margin: 0;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0;
}

/* Photo galleries */

body:is(.rd-home, .rd-inner) .content .cont_image {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 0;
}

@supports not (inset: 0) {
    body.rd-home .content .cont_image,
    body.rd-inner .content .cont_image {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        margin: 0;
    }
}

body:is(.rd-home, .rd-inner) .content .cont_image a.row {
    width: auto;
    height: auto;
    aspect-ratio: 4 / 3;
    margin: 0;
    border-radius: var(--rd-r);
    overflow: hidden;
    background-color: var(--rd-sf2);
    background-position: center;
}

@supports not (inset: 0) {
    body.rd-home .content .cont_image a.row,
    body.rd-inner .content .cont_image a.row {
        width: auto;
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0;
        border-radius: var(--rd-r);
        overflow: hidden;
        background-color: var(--rd-sf2);
        background-position: center;
    }
}

body:is(.rd-home, .rd-inner) .content .cont_image a.row:after {
    right: 12px;
    bottom: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92) none;
    box-shadow: 0 2px 8px rgba(13, 27, 54, .18);
    transition: transform .2s, background-color .2s;
}

@supports not (inset: 0) {
    body.rd-home .content .cont_image a.row:after,
    body.rd-inner .content .cont_image a.row:after {
        right: 12px;
        bottom: 12px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .92) none;
        box-shadow: 0 2px 8px rgba(13, 27, 54, .18);
        transition: transform .2s, background-color .2s;
    }
}

body:is(.rd-home, .rd-inner) .content .cont_image a.row:before {
    content: '';
    position: absolute;
    z-index: 1;
    right: 21px;
    bottom: 21px;
    width: 18px;
    height: 18px;
    background: var(--rd-br);
    -webkit-mask: var(--rd-i-zoom) center / contain no-repeat;
    mask: var(--rd-i-zoom) center / contain no-repeat;
}

@supports not (inset: 0) {
    body.rd-home .content .cont_image a.row:before,
    body.rd-inner .content .cont_image a.row:before {
        content: '';
        position: absolute;
        z-index: 1;
        right: 21px;
        bottom: 21px;
        width: 18px;
        height: 18px;
        background: var(--rd-br);
        -webkit-mask: var(--rd-i-zoom) center / contain no-repeat;
        mask: var(--rd-i-zoom) center / contain no-repeat;
    }
}

body:is(.rd-home, .rd-inner) .content .cont_image a.row:hover:after {
    width: 36px;
    height: 36px;
    background-color: #fff;
    transform: scale(1.08);
}

@supports not (inset: 0) {
    body.rd-home .content .cont_image a.row:hover:after,
    body.rd-inner .content .cont_image a.row:hover:after {
        width: 36px;
        height: 36px;
        background-color: #fff;
        transform: scale(1.08);
    }
}

/* Phone copies from redesign/_bgm.twig: 480 px up to 2x screens, 640 px above; !important beats the inline lg photo */
@media (max-width: 480px) {
    a.row[style*="--rd-bg480"] {
        background-image: var(--rd-bg480) !important;
    }
}

@media (max-width: 480px) and (min-resolution: 2.1dppx), (max-width: 480px) and (-webkit-min-device-pixel-ratio: 2.1) {
    a.row[style*="--rd-bg640"] {
        background-image: var(--rd-bg640) !important;
    }
}

/* Section headings */

body.rd-home .content h2.micro_title,
body.rd-home .rd-h2 {
    margin: 0;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--rd-ink);
}

body.rd-home .content h2.micro_title {
    margin: 72px 0 32px;
}

body.rd-home .content h2.micro_title span,
body.rd-home .rd-hint {
    display: block;
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--rd-mut);
}

body.rd-home .rd-section {
    margin-top: 72px;
}

body.rd-home .rd-head {
    margin-bottom: 32px;
    max-width: 760px;
}

body.rd-home .rd-head--row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    max-width: none;
}

body.rd-home .rd-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--rd-mut);
}

body.rd-home .rd-anchor {
    position: relative;
    top: -80px;
}

/* Services: categories list + price card */

body.rd-home .content .tabs.hom {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

body.rd-home .content .tabs.hom:after {
    display: none;
}

body.rd-home .content .tabs.hom ul.tabs__caption {
    grid-column: 1;
    grid-row: 1;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2px;
}

body.rd-home .content .tabs.hom ul.tabs__caption li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    order: 0;
    padding: 9px 14px 9px 10px;
    border-radius: var(--rd-r-sm);
    background: transparent;
    filter: none;
    color: var(--rd-ink);
    transition: background-color .15s;
}

body.rd-home .content .tabs.hom ul.tabs__caption li:after {
    display: none;
}

body.rd-home .content .tabs.hom ul.tabs__caption li:hover {
    background: var(--rd-sf2);
}

body.rd-home .content .tabs.hom ul.tabs__caption li .rd-mi {
    width: 34px;
    height: 34px;
    background: var(--rd-step-bg);
    color: var(--rd-br);
}

body.rd-home .content .tabs.hom ul.tabs__caption li span {
    padding: 0;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    color: inherit;
}

body.rd-home .content .tabs.hom ul.tabs__caption li.active {
    background: var(--rd-br);
    color: #fff;
}

body.rd-home .content .tabs.hom ul.tabs__caption li.active .rd-mi {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

body.rd-home .content .tabs.hom .tabs__content {
    grid-column: 2;
    grid-row: 1;
    float: none;
    width: auto;
    padding: 24px 28px;
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    background: var(--rd-sf);
}

body.rd-home .content .tabs.hom .tabs__content h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-home .content .tabs .tabs__content table.tab_service {
    border-collapse: collapse;
}

body.rd-home .content .tabs .tabs__content table.tab_service tr th {
    padding: 10px 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--rd-ln);
    color: var(--rd-mut);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.rd-home .content .tabs .tabs__content table.tab_service tr th:last-child,
body.rd-home .content .tabs .tabs__content table.tab_service tr td:last-child {
    text-align: right;
    white-space: nowrap;
    padding-left: 16px;
}

body.rd-home .content .tabs .tabs__content table.tab_service tr td {
    padding: 13px 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--rd-ln);
    font-size: 16px;
    line-height: 1.4;
    color: var(--rd-ink);
}

body.rd-home .content .tabs .tabs__content table.tab_service tr:nth-child(2) td {
    border-top: 0;
}

body.rd-home .content .tabs .tabs__content table.tab_service tr td:last-child {
    font-weight: 800;
}

body.rd-home .content .tabs .tabs__content table.tab_service tr:hover td {
    background: color-mix(in srgb, var(--rd-sf2) 50%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .content .tabs .tabs__content table.tab_service tr:hover td {
        background: var(--rdx-sf2-50-t);
    }
}

/* Reviews widget + counter */

body.rd .rd-reviews {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    margin: 72px 0 40px;
}

body.rd .rd-reviews--widget {
    grid-template-columns: minmax(0, min(calc(64% - 12px), 760px)) minmax(0, 1fr);
}

body.rd .rd-reviews .remont_rating {
    margin: 0;
}

body.rd .rd-reviews .remont_rating > div {
    height: 1040px !important;
    border-radius: var(--rd-r);
    background: var(--rd-sf);
}

body.rd .rd-reviews .remont_rating iframe {
    border-color: var(--rd-ln) !important;
    border-radius: var(--rd-r) !important;
}

body.rd .content .rd-reviews .product_title.rd-count {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 32px;
    border-radius: var(--rd-r);
    background: var(--rd-br);
    color: #fff;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
}

body.rd .content .rd-reviews--widget .product_title.rd-count {
    position: sticky;
    top: 24px;
    height: 520px;
}

body.rd .content .product_title.rd-count b {
    font-size: 72px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.03em;
}

body.rd .content .product_title.rd-count--offer b {
    font-size: 52px;
    white-space: nowrap;
}

body.rd .rd-count__main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.rd .rd-count__main > * {
    text-align: left;
}

body.rd .content .rd-reviews .product_title.rd-count--wide {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: space-between;
    gap: 32px;
    padding: 36px 40px;
    container-type: inline-size;
}

@container (max-width: 640px) {
    body.rd .rd-count--wide .rd-count__side {
        flex-basis: 100%;
        min-width: 0;
        padding: 24px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .18);
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 688px) {
        body.rd .rd-count--wide .rd-count__side {
            flex-basis: 100%;
            min-width: 0;
            padding: 24px 0 0;
            border-left: 0;
            border-top: 1px solid rgba(255, 255, 255, .18);
        }
    }
}

@supports not (container-type: inline-size) {
    @media (min-width: 841px) and (max-width: 962px) {
        div.selection-auto__content .rd-count--wide .rd-count__side {
            flex-basis: 100%;
            min-width: 0;
            padding: 24px 0 0;
            border-left: 0;
            border-top: 1px solid rgba(255, 255, 255, .18);
        }
    }
}

@supports not (container-type: inline-size) {
    @media (min-width: 1025px) and (max-width: 1161px) {
        div.sizw .rd-count--wide .rd-count__side {
            flex-basis: 100%;
            min-width: 0;
            padding: 24px 0 0;
            border-left: 0;
            border-top: 1px solid rgba(255, 255, 255, .18);
        }
    }
}

body.rd .rd-count__side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 280px;
    padding-left: 32px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

body.rd .rd-count__phone {
    color: #fff;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 800;
    text-decoration: none;
}

body.rd .rd-count__phone:hover {
    color: var(--rd-ac);
}

body.rd .rd-count__hours {
    display: flex;
    gap: 8px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 500;
}

body.rd .rd-count__hours .rd-i {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: var(--rd-ac);
}

body.rd .rd-count__side .rd-btn {
    margin-top: 4px;
}

/* Call me */

body.rd-home .content .content_box.call_me {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin: 32px 0 0;
    padding: 36px 40px;
    border-radius: var(--rd-r);
    background: var(--rd-sf2);
}

body.rd-home .content .content_box.call_me:after {
    display: none;
}

body.rd-home .content .content_box.call_me .left {
    flex: 1;
    float: none;
    width: auto;
    margin: 0;
}

body.rd-home .content .content_box.call_me .right {
    flex: none;
    float: none;
    width: auto;
}

body.rd-home .content .content_box.call_me .right:empty {
    display: none;
}

body.rd-home .content .content_box.call_me p {
    max-width: 680px;
    margin: 0;
    color: var(--rd-mut);
}

body.rd-home .content .content_box.call_me p strong {
    display: block;
    margin-bottom: 6px;
    font-size: 28px !important;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-home .content .content_box.call_me p strong + br {
    display: none;
}

body.rd-home .content .content_box.call_me p a {
    font-weight: 700;
    color: var(--rd-br);
    white-space: nowrap;
}

/* Product showcase (if present) */

body.rd-home .content .product_title:not(.rd-count) {
    margin: 72px 0 24px;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--rd-ink);
}

/* ---------- Models ---------- */

body.rd-home .rd-models__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    background: var(--rd-sf);
    overflow: hidden;
}

body.rd-home .rd-model-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px 28px 26px;
    border-top: 3px solid var(--bc);
    box-shadow: -1px 0 0 var(--rd-ln);
}

body.rd-home .rd-model-card__head {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

body.rd-home .rd-model-card__dot {
    display: none;
}

body.rd-home .rd-model-card__name {
    font-size: 20px;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-home .rd-model-card__name:hover {
    color: var(--rd-br);
}

body.rd-home .rd-model-card__count {
    color: var(--rd-mut);
    font-size: 13px;
    font-weight: 600;
}

body.rd-home .rd-pills {
    columns: 3 80px;
    column-gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.rd-home .rd-pills li {
    break-inside: avoid;
}

body.rd-home .rd-pills a {
    display: block;
    padding: 4px 0;
    color: var(--rd-ink);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
    transition: color .15s;
}

body.rd-home .rd-pills a:hover {
    color: var(--rd-br);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.rd .rd-model-card__all {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;
    margin-top: auto;
    padding-top: 4px;
    color: var(--rd-br);
    font-size: 15px;
    font-weight: 700;
}

body.rd .rd-model-card__all .rd-i {
    display: none;
}

body.rd .rd-model-card__all:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------- Dealer vs us: a comparison table on the desktop, «answer on top» on the phone ---------- */

body.rd-home .rd-dv {
    --rd-dv-tint: color-mix(in srgb, var(--rd-br) 9%, #fff);
    --rd-dv-col: color-mix(in srgb, var(--rd-br) 8%, #fff);
    --rd-dv-col-ln: color-mix(in srgb, var(--rd-br) 22%, #fff);
    --rd-dv-ring: color-mix(in srgb, var(--rd-br) 27%, #fff);
    --rd-dv-ac2: color-mix(in srgb, var(--rd-ac) 72%, #fff);
    --rd-dv-them: color-mix(in srgb, var(--rd-ink) 62%, var(--rd-mut));
    --rd-dv-them-b: color-mix(in srgb, var(--rd-ink) 82%, var(--rd-mut));
    --rd-dv-num: color-mix(in srgb, var(--rd-mut) 72%, #fff);
    --rd-dv-blue: radial-gradient(520px 300px at 92% -8%, rgba(255, 255, 255, .18), transparent 70%),
        linear-gradient(160deg, color-mix(in srgb, var(--rd-br) 82%, #fff 18%) 0%, var(--rd-br) 45%, var(--rd-br-dark, var(--rd-br)) 100%);
    color: var(--rd-ink);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .rd-dv {
        --rd-dv-tint: var(--rdx-br-9-w);
        --rd-dv-col: var(--rdx-br-8-w);
        --rd-dv-col-ln: var(--rdx-br-22-w);
        --rd-dv-ring: var(--rdx-br-27-w);
        --rd-dv-ac2: var(--rdx-ac-72-w);
        --rd-dv-them: var(--rdx-ink-62-mut);
        --rd-dv-them-b: var(--rdx-ink-82-mut);
        --rd-dv-num: var(--rdx-mut-72-w);
        --rd-dv-blue: radial-gradient(520px 300px at 92% -8%, rgba(255, 255, 255, .18), transparent 70%), linear-gradient(160deg, var(--rdx-br-82-w) 0%, var(--rd-br) 45%, var(--rd-br-dark, var(--rd-br)) 100%);
    }
}

body.rd-home .rd-dv :where(h2, h3, p, small) {
    margin: 0;
}

@supports not (inset: 0) {
    .rd-dv h2,
    .rd-dv h3,
    .rd-dv p,
    .rd-dv small {
        margin: 0;
    }
}

body.rd-home .rd-dv b {
    font-weight: 800;
}

body.rd-home .rd-dv mark {
    background: none;
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: var(--rd-ac);
    text-decoration-thickness: 2px;
    text-underline-offset: .2em;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip: none;
}

body.rd-home .rd-dv__k {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--rd-dv-num);
}

body.rd-home .rd-dv__t em {
    font-style: normal;
}

body.rd-home .rd-dv__n b,
body.rd-home .rd-dv__n span {
    display: block;
}

body.rd-home .rd-dv__n b {
    font-weight: 800;
    letter-spacing: -.055em;
    white-space: nowrap;
}

body.rd-home .rd-dv__oh,
body.rd-home .rd-dv__oh .rd-dv__t {
    color: #fff;
}

body.rd-home .rd-dv__oh .rd-dv__k {
    color: var(--rd-dv-ac2);
}

body.rd-home .rd-dv__oh .rd-dv__t em {
    text-decoration: underline;
    text-decoration-color: var(--rd-dv-ac2);
    text-decoration-thickness: 3px;
    text-underline-offset: .22em;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip: none;
}

body.rd-home .rd-dv__oh .rd-dv__n b {
    color: var(--rd-dv-ac2);
}

body.rd-home .rd-dv__dc {
    position: absolute;
    right: -30px;
    top: -40px;
    width: 520px;
    height: 300px;
    fill: none;
    stroke: rgba(255, 255, 255, .12);
    stroke-width: 1.6;
    pointer-events: none;
}

body.rd-home .rd-dv__tile,
body.rd-home .rd-dv__sh {
    display: grid;
    place-items: center;
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--rd-dv-tint);
    color: var(--rd-br);
}

body.rd-home .rd-dv__tile .rd-i,
body.rd-home .rd-dv__sh .rd-i {
    width: 26px;
    height: 26px;
}

body.rd-home .rd-dv__ok,
body.rd-home .rd-dv__no {
    display: grid;
    place-items: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
}

body.rd-home .rd-dv__ok {
    background: #1E9E5A;
    color: #fff;
}

body.rd-home .rd-dv__no {
    background: #FCE7E9;
    color: #C4333F;
}

body.rd-home .rd-dv__ok svg,
body.rd-home .rd-dv__no svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Mark and text side by side; the pair stays in the middle of a row that is taller than the text. */
body.rd-home p.rd-dv__ou,
body.rd-home p.rd-dv__dl {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: center;
    align-items: start;
}

body.rd-home p.rd-dv__ou {
    font-weight: 500;
    color: var(--rd-ink);
}

body.rd-home p.rd-dv__dl {
    color: var(--rd-dv-them);
}

body.rd-home p.rd-dv__dl b {
    color: var(--rd-dv-them-b);
}

body.rd-home .rd-dv__eqt p {
    font-size: inherit;
    line-height: inherit;
}

body.rd-home .rd-dv__eq b {
    color: var(--rd-ink);
}

body.rd-home .rd-dv__gar {
    display: flex;
    align-items: center;
    gap: 16px;
}

body.rd-home .rd-dv__gar p {
    font-size: 15.5px;
    line-height: 1.42;
    color: var(--rd-mut);
}

body.rd-home .rd-dv__gar b {
    font-size: 18px;
    color: var(--rd-ink);
}

body.rd-home .rd-dv__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    height: 60px;
    padding: 0 10px 0 26px;
    border-radius: 999px;
    background: var(--rd-ac);
    color: var(--rd-aci);
    font-size: 17px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;
}

body.rd-home .rd-dv__btn:hover {
    background: var(--rd-ac-hover, var(--rd-ac));
    color: var(--rd-aci);
}

body.rd-home .rd-dv__btn i {
    display: grid;
    place-items: center;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--rd-aci);
    color: var(--rd-ac);
    font-style: normal;
}

body.rd-home .rd-dv__btn .rd-i {
    width: 20px;
    height: 20px;
}

/* Desktop: one grid, the wrappers of the phone cards dissolve into it. */
@media (min-width: 926px) {
    body.rd-home .rd-dv {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr) minmax(0, 1.16fr);
        padding-bottom: 36px;
    }

    body.rd-home .rd-dv__hero,
    body.rd-home .rd-dv__rs,
    body.rd-home .rd-dv__r,
    body.rd-home .rd-dv__eq {
        display: contents;
    }

    body.rd-home .rd-dv > *,
    body.rd-home .rd-dv__hero > *,
    body.rd-home .rd-dv__r > *,
    body.rd-home .rd-dv__eq > * {
        position: relative;
        z-index: 2;
    }

    body.rd-home .rd-dv__h2 {
        grid-column: 1 / -1;
        grid-row: 1;
        max-width: 860px;
        justify-self: center;
        font-size: 48px;
        line-height: 1.06;
        font-weight: 800;
        letter-spacing: -.035em;
        text-align: center;
        text-wrap: balance;
    }

    body.rd-home p.rd-dv__lead {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: 760px;
        justify-self: center;
        margin-top: 20px;
        font-size: 19px;
        line-height: 1.55;
        color: var(--rd-mut);
        text-align: center;
        text-wrap: pretty;
    }

    body.rd-home .rd-dv__card {
        grid-column: 1 / -1;
        grid-row: 3 / span var(--rd-dv-rows);
        z-index: 0;
        margin-top: 84px;
        border-radius: 36px;
        background: #fff;
        border: 1px solid var(--rd-ln);
        box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 26px 60px rgba(13, 27, 54, .07);
    }

    body.rd-home .rd-dv__e {
        grid-column: 3;
        grid-row: 3 / span var(--rd-dv-rows);
        z-index: 1;
        margin: 48px -1px -36px 0;
        border-radius: 38px;
        background: var(--rd-dv-col);
        box-shadow: 0 0 0 2px var(--rd-dv-ring), 0 44px 90px rgba(10, 61, 145, .22);
    }

    body.rd-home .rd-dv__go {
        display: none;
    }

    body.rd-home .rd-dv__dh {
        grid-column: 2;
        grid-row: 3;
        margin-top: 84px;
        padding: 44px 36px 34px 6px;
    }

    body.rd-home .rd-dv__oh {
        grid-column: 3;
        grid-row: 3;
        overflow: hidden;
        margin-top: 48px;
        padding: 80px 40px 38px;
        border-radius: 36px 36px 0 0;
        background: var(--rd-dv-blue);
    }

    body.rd-home .rd-dv__oh > :not(.rd-dv__dc) {
        position: relative;
    }

    body.rd-home .rd-dv__dh .rd-dv__t,
    body.rd-home .rd-dv__oh .rd-dv__t {
        min-height: 2.4em;
        margin-top: 14px;
        text-wrap: balance;
    }

    body.rd-home .rd-dv__dh .rd-dv__t {
        font-size: 24px;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -.02em;
        color: var(--rd-dv-them);
    }

    body.rd-home .rd-dv__oh .rd-dv__t {
        font-size: 28px;
        line-height: 1.16;
        font-weight: 800;
        letter-spacing: -.025em;
    }

    body.rd-home .rd-dv__n {
        margin-top: 22px;
    }

    body.rd-home .rd-dv__dh .rd-dv__n b {
        font-size: 84px;
        line-height: .9;
        color: var(--rd-dv-num);
    }

    body.rd-home .rd-dv__dh .rd-dv__n span {
        margin-top: 14px;
        font-size: 17px;
        line-height: 1.35;
        color: var(--rd-mut);
    }

    body.rd-home .rd-dv__oh .rd-dv__n b {
        font-size: 120px;
        line-height: .86;
    }

    body.rd-home .rd-dv__oh .rd-dv__n span {
        margin-top: 16px;
        font-size: 20px;
        line-height: 1.35;
        font-weight: 600;
        text-wrap: balance;
    }

    body.rd-home .rd-dv__ic {
        grid-column: 1;
        grid-row: var(--rd-dv-r);
        display: grid;
        place-items: center;
        padding: 16px 0;
        border-top: 1px solid var(--rd-ln);
    }

    body.rd-home p.rd-dv__dl,
    body.rd-home p.rd-dv__ou {
        grid-row: var(--rd-dv-r);
        column-gap: 16px;
        padding: 22px 36px 22px 6px;
        border-top: 1px solid var(--rd-ln);
        font-size: 18px;
        line-height: 1.42;
    }

    body.rd-home p.rd-dv__dl {
        grid-column: 2;
    }

    body.rd-home p.rd-dv__ou {
        grid-column: 3;
        padding-left: 40px;
        padding-right: 40px;
        border-top-color: var(--rd-dv-col-ln);
    }

    body.rd-home p.rd-dv__dl > span:last-child,
    body.rd-home p.rd-dv__ou > span:last-child {
        padding-top: 5px;
    }

    body.rd-home .rd-dv__eqt {
        grid-column: 2;
        grid-row: var(--rd-dv-r);
        display: flex;
        align-items: center;
        padding: 30px 36px 34px 6px;
        border-top: 1px solid var(--rd-ln);
        font-size: 18px;
        line-height: 1.45;
        color: color-mix(in srgb, var(--rd-ink) 85%, var(--rd-mut));
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd-home .rd-dv__eqt {
            color: var(--rdx-ink-85-mut);
        }
    }

    body.rd-home .rd-dv__ft {
        grid-column: 3;
        grid-row: var(--rd-dv-r);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 32px 40px 40px;
        border-top: 1px solid var(--rd-dv-col-ln);
    }
}

@media (min-width: 926px) and (max-width: 1200px) {
    body.rd-home .rd-dv {
        grid-template-columns: 76px minmax(0, 1fr) minmax(0, 1.16fr);
    }

    body.rd-home .rd-dv__h2 {
        font-size: 40px;
    }

    body.rd-home .rd-dv__tile {
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    body.rd-home .rd-dv__dh {
        padding-right: 24px;
    }

    body.rd-home .rd-dv__oh {
        padding-left: 28px;
        padding-right: 28px;
    }

    body.rd-home .rd-dv__dh .rd-dv__t {
        font-size: 21px;
    }

    body.rd-home .rd-dv__oh .rd-dv__t {
        font-size: 24px;
    }

    body.rd-home .rd-dv__dh .rd-dv__n b {
        font-size: 68px;
    }

    body.rd-home .rd-dv__oh .rd-dv__n b {
        font-size: 96px;
    }

    body.rd-home .rd-dv__oh .rd-dv__n span {
        font-size: 18px;
    }

    body.rd-home p.rd-dv__dl,
    body.rd-home p.rd-dv__ou,
    body.rd-home .rd-dv__eqt {
        padding-right: 24px;
        font-size: 16.5px;
    }

    body.rd-home p.rd-dv__ou {
        padding-left: 28px;
    }

    body.rd-home .rd-dv__ft {
        padding-left: 28px;
        padding-right: 28px;
    }

    body.rd-home .rd-dv__btn {
        height: auto;
        min-height: 56px;
        padding: 8px 8px 8px 22px;
        white-space: normal;
        font-size: 16px;
    }
}

/* Phone: the answer on a blue card first, then our pluses with the dealer in a grey line under each. */
@media (max-width: 925px) {
    body.rd-home .rd-dv {
        display: flex;
        flex-direction: column;
    }

    body.rd-home .rd-dv__card,
    body.rd-home .rd-dv__e,
    body.rd-home .rd-dv__r .rd-dv__ic {
        display: none;
    }

    body.rd-home .rd-dv__rs {
        order: 2;
    }

    body.rd-home .rd-dv__eq {
        order: 3;
    }

    body.rd-home p.rd-dv__lead {
        order: 4;
    }

    body.rd-home .rd-dv__ft {
        order: 5;
    }

    body.rd-home .rd-dv__hero {
        position: relative;
        overflow: hidden;
        padding: 22px 20px 20px;
        border-radius: 32px;
        color: #fff;
        background: var(--rd-dv-blue);
    }

    body.rd-home .rd-dv__hero > :not(.rd-dv__oh) {
        position: relative;
    }

    body.rd-home .rd-dv__dc {
        right: -22px;
        top: -30px;
        width: 400px;
        height: 230px;
        stroke-width: 1.5;
    }

    body.rd-home .rd-dv__h2 {
        font-size: 16px;
        line-height: 1.3;
        font-weight: 700;
        letter-spacing: 0;
        color: rgba(255, 255, 255, .86);
    }

    body.rd-home .rd-dv__h2:before {
        content: '';
        display: inline-block;
        width: 22px;
        height: 3px;
        margin-right: 10px;
        border-radius: 2px;
        background: var(--rd-ac);
        vertical-align: .3em;
    }

    body.rd-home .rd-dv__h2 .rd-bb-mk {
        text-decoration: none;
    }

    body.rd-home .rd-dv__oh {
        display: flex;
        flex-direction: column;
        margin-top: 12px;
    }

    body.rd-home .rd-dv__oh > :not(.rd-dv__dc) {
        position: relative;
    }

    body.rd-home .rd-dv__oh .rd-dv__t {
        order: 1;
        font-size: 31px;
        font-size: clamp(26px, 8.3vw, 36px);
        line-height: 1.06;
        font-weight: 800;
        letter-spacing: -.037em;
        text-wrap: pretty;
    }

    body.rd-home .rd-dv__oh .rd-dv__t em {
        text-decoration-thickness: 2px;
    }

    body.rd-home .rd-dv__oh .rd-dv__k {
        order: 2;
        margin: 18px 0 8px;
        font-size: 12.5px;
        letter-spacing: .13em;
    }

    body.rd-home .rd-dv__oh .rd-dv__n {
        order: 3;
    }

    body.rd-home .rd-dv__oh .rd-dv__n b {
        font-size: 103px;
        font-size: clamp(84px, 27.5vw, 128px);
        line-height: .86;
    }

    body.rd-home .rd-dv__oh .rd-dv__n span {
        margin-top: 12px;
        font-size: 20px;
        line-height: 1.3;
        font-weight: 600;
    }

    body.rd-home .rd-dv__go {
        margin-top: 22px;
    }

    body.rd-home .rd-dv__btn {
        width: 100%;
        height: auto;
        min-height: 62px;
        padding: 8px 9px 8px 22px;
        justify-content: space-between;
        gap: 12px;
        white-space: normal;
        text-align: left;
        line-height: 1.25;
        font-size: 16.5px;
    }

    body.rd-home .rd-dv__dh {
        display: flex;
        flex-direction: column;
        margin-top: 22px;
        padding: 16px 18px 18px;
        border-radius: 22px;
        background: rgba(255, 255, 255, .09);
        border: 1px solid rgba(255, 255, 255, .17);
    }

    body.rd-home .rd-dv__dh .rd-dv__k {
        font-size: 12.5px;
        letter-spacing: .13em;
        color: rgba(255, 255, 255, .7);
    }

    body.rd-home .rd-dv__dh .rd-dv__n {
        order: 2;
        display: flex;
        align-items: center;
        gap: 14px;
        margin-top: 10px;
    }

    body.rd-home .rd-dv__dh .rd-dv__n b {
        flex: none;
        font-size: 47px;
        font-size: clamp(40px, 12.6vw, 58px);
        line-height: .9;
        color: rgba(255, 255, 255, .55);
    }

    body.rd-home .rd-dv__dh .rd-dv__n span {
        font-size: 14.5px;
        line-height: 1.35;
        color: rgba(255, 255, 255, .8);
    }

    body.rd-home .rd-dv__dh .rd-dv__t {
        order: 3;
        margin-top: 10px;
        font-size: 15.5px;
        line-height: 1.38;
        font-weight: 600;
        color: rgba(255, 255, 255, .9);
    }

    body.rd-home .rd-dv__rs {
        display: grid;
        gap: 12px;
        margin-top: 20px;
    }

    body.rd-home .rd-dv__r {
        overflow: hidden;
        border-radius: 26px;
        background: #fff;
        border: 1px solid var(--rd-ln);
        box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 12px 28px -14px rgba(13, 27, 54, .12);
    }

    body.rd-home p.rd-dv__ou {
        column-gap: 13px;
        padding: 18px 18px 16px;
        font-size: 17.5px;
        line-height: 1.38;
    }

    body.rd-home p.rd-dv__ou > span:last-child {
        padding-top: 2px;
    }

    body.rd-home p.rd-dv__dl {
        column-gap: 15px;
        padding: 13px 18px 15px 20px;
        background: color-mix(in srgb, var(--rd-mut) 8%, #fff);
        border-top: 1px solid color-mix(in srgb, var(--rd-mut) 14%, #fff);
        font-size: 15.5px;
        line-height: 1.4;
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd-home p.rd-dv__dl {
            background: var(--rdx-mut-8-w);
            border-top: 1px solid var(--rdx-mut-14-w);
        }
    }

    body.rd-home .rd-dv__ok {
        width: 28px;
        height: 28px;
    }

    body.rd-home .rd-dv__no {
        width: 24px;
        height: 24px;
    }

    body.rd-home .rd-dv__ok svg,
    body.rd-home .rd-dv__no svg {
        width: 14px;
        height: 14px;
        stroke-width: 3.4;
    }

    body.rd-home .rd-dv__eq {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-top: 20px;
        padding: 18px 20px 18px 16px;
        border-radius: 26px;
        background: var(--rd-dv-tint);
    }

    body.rd-home .rd-dv__eqt {
        font-size: 17px;
        line-height: 1.4;
        color: color-mix(in srgb, var(--rd-ink) 85%, var(--rd-mut));
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd-home .rd-dv__eqt {
            color: var(--rdx-ink-85-mut);
        }
    }

    body.rd-home .rd-dv__tile,
    body.rd-home .rd-dv__sh {
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    body.rd-home .rd-dv__tile .rd-i,
    body.rd-home .rd-dv__sh .rd-i {
        width: 24px;
        height: 24px;
    }

    body.rd-home .rd-dv__eq .rd-dv__tile {
        background: #fff;
    }

    body.rd-home p.rd-dv__lead {
        margin: 14px 8px 0;
        font-size: 16px;
        line-height: 1.5;
        color: var(--rd-mut);
    }

    body.rd-home .rd-dv__ft {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 20px;
        padding: 22px 20px;
        border-radius: 28px;
        background: #fff;
        border: 1px solid var(--rd-ln);
    }

    body.rd-home .rd-dv__gar {
        gap: 14px;
    }

    body.rd-home .rd-dv__gar p {
        font-size: 15px;
        line-height: 1.4;
    }

    body.rd-home .rd-dv__gar b {
        font-size: 17.5px;
    }
}

/* ---------- Steps ---------- */

body.rd-home .rd-steps {
    padding: 56px 0 64px;
    border-image: conic-gradient(var(--rd-step-bg) 0 0) fill 0 / 0 / 0 100vmax;
}

body.rd-home .rd-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.rd-home .rd-step {
    display: flex;
    flex-direction: column;
    min-height: 168px;
    padding: 26px 28px 28px;
    border-radius: 16px;
    background: var(--rd-sf);
    transition: box-shadow .2s;
}

body.rd-home .rd-step:hover {
    box-shadow: 0 10px 28px rgba(13, 27, 54, .07);
}

body.rd-home .rd-step__num {
    margin-bottom: 28px;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    color: color-mix(in srgb, var(--rd-mut) 35%, #fff);
    transition: color .2s;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .rd-step__num {
        color: var(--rdx-mut-35-w);
    }
}

body.rd-home .rd-step:first-child .rd-step__num,
body.rd-home .rd-step:hover .rd-step__num {
    color: var(--rd-br);
}

body.rd-home .rd-step__title {
    display: block;
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--rd-ink);
}

body.rd-home .rd-step:first-child .rd-step__title {
    color: var(--rd-br);
}

body.rd-home .rd-step p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rd-mut);
}

body.rd-home .rd-step--cta {
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .12) 0, transparent 55%),
        linear-gradient(160deg, var(--rd-br) 0%, var(--rd-fb) 100%);
    color: #fff;
}

body.rd-home .rd-step--cta .rd-step__title {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
}

body.rd-home .rd-step__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    padding-top: 16px;
}

body.rd-home .rd-step__actions .rd-btn {
    width: 100%;
    height: 40px;
    font-size: 14px;
}

body.rd-home .rd-step--cta .rd-btn--ghost {
    background: rgba(255, 255, 255, .12);
    box-shadow: none;
    color: #fff;
}

body.rd-home .rd-step--cta .rd-btn--ghost:hover {
    background: rgba(255, 255, 255, .2);
}

/* ---------- FAQ ---------- */

body.rd-home .rd-faq__list {
    display: grid;
    gap: 10px;
}

body.rd-home .rd-faq__item {
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r-sm);
    background: var(--rd-sf);
    transition: border-color .2s, box-shadow .2s;
}

body.rd-home .rd-faq__item[open] {
    border-color: color-mix(in srgb, var(--rd-br) 40%, var(--rd-ln));
    box-shadow: var(--rd-shadow);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .rd-faq__item[open] {
        border-color: var(--rdx-br-40-ln);
    }
}

body.rd-home .rd-faq__item summary {
    position: relative;
    display: block;
    padding: 18px 64px 18px 22px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

body.rd-home .rd-faq__item summary::-webkit-details-marker {
    display: none;
}

body.rd-home .rd-faq__item summary:after {
    content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    border-radius: 50%;
    background: var(--rd-sf2);
    transition: background-color .2s, transform .2s;
}

body.rd-home .rd-faq__item summary:before {
    content: '';
    position: absolute;
    z-index: 1;
    right: 24px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: var(--rd-br);
    -webkit-mask: var(--rd-i-plus) center / contain no-repeat;
    mask: var(--rd-i-plus) center / contain no-repeat;
    transition: transform .2s;
}

body.rd-home .rd-faq__item[open] summary:after {
    background: var(--rd-br);
}

body.rd-home .rd-faq__item[open] summary:before {
    background: #fff;
    transform: rotate(45deg);
}

body.rd-home .rd-faq__body {
    padding: 0 22px 20px;
    color: var(--rd-mut);
}

body.rd-home .rd-faq__body p {
    margin: 0;
}

body.rd-home .rd-faq__body ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
}

body.rd-home .rd-faq__body a {
    color: var(--rd-br);
    font-weight: 600;
}

/* ---------- Addresses ---------- */

body.rd-home .rd-addr__total {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
}

body.rd-home .rd-addr__total b {
    font-size: 64px;
    line-height: 1;
    font-weight: 800;
    color: var(--rd-br);
}

body.rd-home .rd-addr__total span {
    font-size: 13px;
    line-height: 1.35;
    color: var(--rd-mut);
}

body.rd-home .rd-addr__box {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    min-height: 460px;
    border: 1px solid var(--rd-ln);
    border-radius: 20px;
    overflow: hidden;
    background: var(--rd-sf);
    box-shadow: var(--rd-shadow);
}

body.rd-home .rd-addr__box--single {
    grid-template-columns: minmax(0, 1fr);
}

body.rd-home .rd-addr__list {
    margin: 0;
    padding: 8px;
    list-style: none;
    border-right: 1px solid var(--rd-ln);
    overflow: auto;
}

body.rd-home .rd-addr__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 14px;
    border: 0;
    border-radius: var(--rd-r-sm);
    background: transparent;
    color: var(--rd-ink);
    text-align: left;
    cursor: pointer;
    transition: background-color .15s;
}

body.rd-home .rd-addr__item:hover {
    background: color-mix(in srgb, var(--rd-sf2) 50%, var(--rd-sf));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-home .rd-addr__item:hover {
        background: var(--rdx-sf2-50-sf);
    }
}

body.rd-home .rd-addr__item.is-active {
    background: var(--rd-sf2);
}

body.rd-home .rd-addr__n {
    display: grid;
    place-items: center;
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rd-sf2);
    color: var(--rd-br);
    font-size: 13px;
    font-weight: 800;
}

body.rd-home .rd-addr__item.is-active .rd-addr__n {
    background: var(--rd-br);
    color: #fff;
}

body.rd-home .rd-addr__txt b {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
}

body.rd-home .rd-addr__txt span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    color: var(--rd-mut);
}

body.rd-home .rd-addr__view {
    position: relative;
    min-height: 460px;
    background: var(--rd-sf2);
}

body.rd-home .rd-addr__map {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
}

body.rd-home .rd-addr__map iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

body.rd-home .rd-addr__card {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 2;
    width: 340px;
    max-width: calc(100% - 40px);
    padding: 20px;
    border-radius: var(--rd-r);
    background: var(--rd-sf);
    box-shadow: 0 10px 40px rgba(13, 27, 54, .22);
}

body.rd-home .rd-addr__card[hidden] {
    display: none;
}

body.rd-home .rd-addr__box--nomap .rd-addr__card {
    position: static;
    width: auto;
    max-width: none;
    margin: 24px;
    box-shadow: none;
}

body.rd-home .rd-addr__card-title {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 800;
}

body.rd-home .rd-addr__row {
    display: flex;
    gap: 10px;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

body.rd-home .rd-addr__row .rd-i {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: var(--rd-ic);
}

body.rd-home .rd-addr__row--mut {
    font-weight: 400;
    color: var(--rd-mut);
}

body.rd-home .rd-addr__phone {
    display: block;
    margin-top: 14px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-home .rd-addr__actions {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

body.rd-home .rd-addr__actions .rd-btn {
    flex: 1;
    height: 44px;
    padding: 0 14px;
    font-size: 14px;
}

body.rd-home .rd-addr__actions .rd-i {
    width: 18px;
    height: 18px;
}

/* Route buttons of an address (home map block, contacts): side by side, one under the other where they do not fit. */
body.rd .rd-routes {
    margin-top: 8px;
}

body.rd .rd-routes__bt {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.rd .rd-routes .rd-route {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 40px;
    padding: 0 11px;
    border: 1px solid var(--rd-ln);
    border-radius: 12px;
    background: #fff;
    color: var(--rd-ink);
    font: 700 14px/1 var(--rd-f);
    white-space: nowrap;
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s;
}

body.rd .rd-routes .rd-route:hover {
    border-color: color-mix(in srgb, var(--rd-ink) 28%, #fff);
    color: var(--rd-ink);
    box-shadow: 0 6px 14px -10px rgba(14, 26, 51, .45);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-routes .rd-route:hover {
        border-color: var(--rdx-ink-28-w);
    }
}

body.rd .rd-route img {
    display: block;
    flex: none;
    width: 20px;
    height: 20px;
}

body.rd .rd-routes__cap {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 500;
    color: var(--rd-mut);
}
body.rd .rd-pg-ccard__ls .rd-routes {
    margin-top: 10px;
}

body.rd .rd-pg-ccard__ls .rd-route {
    flex: none;
}

@media (max-width: 600px) {
    body.rd .rd-pg-ccard__ls .rd-route {
        flex: 1 1 auto;
    }
}

body.rd .rd-pg-ca__bt {
    flex-wrap: wrap;
}

body.rd .rd-pg-ca__bt .rd-routes {
    flex: 1 1 100%;
    margin-top: 0;
}

/* Map and contacts side by side; the free Yandex map widget adds an ad strip once it is 300px tall or more. */
@media (min-width: 926px) {
    body.rd-home .rd-addr__box {
        grid-template-columns: 300px minmax(0, 1fr);
        min-height: 0;
    }

    /* A long list (up to nine addresses) does not stretch the box: it takes the height of the map and scrolls. */
    body.rd-home .rd-addr__list {
        height: 0;
        min-height: 100%;
    }

    body.rd-home .rd-addr__box--single {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd-home .rd-addr__view {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 380px;
        min-height: 290px;
        background: var(--rd-sf);
    }

    body.rd-home .rd-addr__map {
        position: relative;
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        height: 290px;
        background: var(--rd-sf2);
    }

    body.rd-home .rd-addr__card {
        position: static;
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: auto;
        max-width: none;
        padding: 22px 28px;
        border-left: 1px solid var(--rd-ln);
        border-radius: 0;
        box-shadow: none;
    }

    body.rd-home .rd-addr__card-title {
        margin-bottom: 8px;
    }

    body.rd-home .rd-addr__phone {
        margin-top: 10px;
    }

    body.rd-home .rd-addr__actions {
        margin-top: 12px;
    }

    body.rd-home .rd-addr__actions .rd-btn {
        height: 40px;
    }

    body.rd-home .rd-addr__box--nomap .rd-addr__view {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    body.rd-home .rd-addr__box--nomap .rd-addr__card {
        grid-column: 1;
        margin: 0;
        border-left: 0;
    }

    /* Route buttons of the shown address go to a strip under the map: in the card they would not fit into its height. */
    body.rd-home .rd-addr__box:not(.rd-addr__box--nomap) .rd-addr__view {
        min-height: 370px;
    }

    body.rd-home .rd-addr__box:not(.rd-addr__box--nomap) .rd-addr__card .rd-routes {
        position: absolute;
        top: 290px;
        right: 380px;
        bottom: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0;
        padding: 0 16px;
        border-top: 1px solid var(--rd-ln);
    }

    body.rd-home .rd-addr__box:not(.rd-addr__box--nomap) .rd-addr__card .rd-route {
        flex: none;
    }
}

@media (min-width: 926px) and (max-width: 1200px) {
    body.rd-home .rd-addr__box {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    body.rd-home .rd-addr__view {
        grid-template-columns: minmax(0, 1fr) 330px;
    }

    body.rd-home .rd-addr__card {
        padding: 20px 22px;
    }

    body.rd-home .rd-addr__box:not(.rd-addr__box--nomap) .rd-addr__card .rd-routes {
        right: 330px;
    }
}

/* ================= Responsive ================= */

@media (max-width: 1200px) {
    body.rd {
        --rd-pad: 24px;
    }

    body.rd header .size {
        gap: 24px;
    }

    body.rd header .header_right {
        gap: 20px;
    }

    body.rd header .header_right a.phone,
    body.rd header .header_right a.phone_many_addresses {
        font-size: 17px;
    }

    body.rd-home .rd-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    body.rd .rd-footer__grid {
        grid-template-columns: 1fr 1fr;
    }

}

@media (max-width: 1024px) {
    body.rd nav.top_menu ul.menu > li > a,
    body.rd nav.top_menu ul.menu li:first-child > a {
        padding: 0 16px;
        font-size: 15px;
    }

    body.rd-home .content .size > .content_box:not(.call_me) {
        grid-template-columns: 1fr;
    }

    body.rd-home .content .content_box:not(.call_me) > .right:first-child {
        grid-column: 1;
        grid-row: 2;
    }

    body.rd-home .content .content_box:not(.call_me) > .right:last-child {
        grid-row: 3;
    }

    body.rd-home .content .content_box .right p img {
        max-height: 420px;
    }





    body.rd-home .content .tabs.hom {
        grid-template-columns: 300px minmax(0, 1fr);
        gap: 20px;
    }
}

/* Header from the full desktop row down to the mobile markup.
   media.css / media_japan.css turn every .size into a column at <=1280px,
   give the logo and the contacts fixed em widths with auto margins and hide
   the top strip at <=1024px.
   One address keeps the row down to 1025px, two addresses down to 1201px;
   3-4 addresses always put the logo above an even row of address columns. */
@media (min-width: 926px) {
    body.rd .head_block:has(li) {
        display: block;
    }

    body.rd .head_block.rdh-e629e3 {
        display: block;
    }

    body.rd .head_block ul {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.rd .head_block ul li {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.rd .head_block ul li:not(:first-child):not(:has(*)) {
        display: none;
    }

    body.rd .head_block ul li:not(:first-child).rdh-ffadc3 {
        display: none;
    }

    body.rd header a.logo img,
    body.rd header a.logo_manyaddresses img {
        flex: none;
    }

    body.rd header a.logo:not(:has(strong)) {
        flex: none;
    }

    body.rd header a.logo.rdh-633d2c {
        flex: none;
    }

    body.rd header .size:has(> a.logo_manyaddresses),
    body.rd header .size:has(.h_inform ~ .h_inform ~ .h_inform) {
        flex-direction: column;
        gap: 20px;
    }

    body.rd header .size.rdh-fa6b24,
    body.rd header .size.rdh-1ecb1e.rdh-1ecb1e.rdh-1ecb1e {
        flex-direction: column;
        gap: 20px;
    }

    body.rd header .size:has(> a.logo_manyaddresses) > .header_right,
    body.rd header .size:has(.h_inform ~ .h_inform ~ .h_inform) > .header_right {
        flex: none;
        width: 100%;
        margin-left: 0 !important;
    }

    body.rd header .size.rdh-fa6b24 > .header_right,
    body.rd header .size.rdh-1ecb1e.rdh-1ecb1e.rdh-1ecb1e > .header_right {
        flex: none;
        width: 100%;
        margin-left: 0 !important;
    }

    body.rd header .size:has(> a.logo_manyaddresses) .header_right,
    body.rd header .size:has(.h_inform ~ .h_inform ~ .h_inform) .header_right {
        justify-content: center;
    }

    body.rd header .size.rdh-fa6b24 .header_right,
    body.rd header .size.rdh-1ecb1e.rdh-1ecb1e.rdh-1ecb1e .header_right {
        justify-content: center;
    }

    body.rd header .size:has(> a.logo_manyaddresses) .header_right .h_inform,
    body.rd header .size:has(> a.logo_manyaddresses) .header_right .many_addresses,
    body.rd header .size:has(.h_inform ~ .h_inform ~ .h_inform) .h_inform {
        flex: 1 1 0;
        min-width: 0;
        max-width: 300px;
    }

    body.rd header .size.rdh-fa6b24 .header_right .h_inform,
    body.rd header .size.rdh-fa6b24 .header_right .many_addresses,
    body.rd header .size.rdh-1ecb1e.rdh-1ecb1e.rdh-1ecb1e .h_inform {
        flex: 1 1 0;
        min-width: 0;
        max-width: 300px;
    }

    /* Three and more addresses: the columns on a grey panel with their phones, addresses and hours on common rows;
       «Хорошее место» is in the menu beside the ratings. */
    body.rd.rd-many header .header_right_twophone {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        grid-template-rows: repeat(3, auto);
        gap: 12px 32px;
        box-sizing: border-box;
        padding: 26px 32px;
        border-radius: 24px;
        background: #F3F4F6;
    }

    body.rd.rd-many header img.star {
        display: none;
    }

    body.rd.rd-many header .size .header_right.header_right_twophone > :is(.h_inform, .many_addresses) {
        display: grid;
        grid-row: span 3;
        grid-template-rows: subgrid;
        max-width: none;
    }

    @supports not (inset: 0) {
        body.rd.rd-many header .size .header_right.header_right_twophone > .h_inform,
        body.rd.rd-many header .size .header_right.header_right_twophone > .many_addresses {
            display: grid;
            grid-row: span 3;
            grid-template-rows: subgrid;
            max-width: none;
        }
    }

    body.rd.rd-many header .header_right_twophone :is(a.phone, a.phone_many_addresses, .h_loc, .h_loc_many_addresses, .h_time, .h_time_many_addresses) {
        margin: 0;
    }

    @supports not (inset: 0) {
        body.rd.rd-many header .header_right_twophone a.phone,
        body.rd.rd-many header .header_right_twophone a.phone_many_addresses,
        body.rd.rd-many header .header_right_twophone .h_loc,
        body.rd.rd-many header .header_right_twophone .h_loc_many_addresses,
        body.rd.rd-many header .header_right_twophone .h_time,
        body.rd.rd-many header .header_right_twophone .h_time_many_addresses {
            margin: 0;
        }
    }

    /* The first column to the left edge of the panel, the last one to the right edge, the middle ones centred under the logo;
       inside a column the lines keep one left edge. */
    body.rd.rd-many header .header_right_twophone > .many_addresses {
        justify-self: center;
        width: max-content;
        max-width: 100%;
    }

    body.rd.rd-many header .header_right_twophone > .many_addresses:last-child {
        justify-self: end;
    }

    body.rd.rd-many header .header_right_twophone .h_loc_many_addresses {
        width: auto;
    }
}

@media (min-width: 926px) and (max-width: 1280px) {
    body.rd header .size {
        flex-direction: row;
    }

    body.rd header a.logo,
    body.rd header a.logo_manyaddresses {
        width: auto;
        margin: 0;
    }
}

@media (min-width: 926px) and (max-width: 1200px) {
    body.rd header .size:has(.h_inform ~ .h_inform) {
        flex-direction: column;
        gap: 20px;
    }

    body.rd header .size.rdh-c2dbec.rdh-c2dbec {
        flex-direction: column;
        gap: 20px;
    }

    body.rd header .size:has(.h_inform ~ .h_inform) > .header_right {
        margin-left: 0 !important;
    }

    body.rd header .size.rdh-c2dbec.rdh-c2dbec > .header_right {
        margin-left: 0 !important;
    }
}

@media (min-width: 926px) and (max-width: 1024px) {
    body.rd header .size {
        flex-direction: column;
        gap: 20px;
    }

    body.rd header a.logo {
        max-width: none;
    }

    body.rd header a.logo strong {
        max-width: 360px;
        text-wrap: balance;
    }
}

/* Mobile header (old markup is switched on by media.css at <=925px) */
@media (max-width: 925px) {
    body.rd nav.top_menu {
        display: none;
    }

    body.rd #vue-app-cart > .size {
        padding-bottom: 0;
        background: transparent;
        border-image: none;
    }

    body.rd .head_mobile {
        background: var(--rd-sf);
        border-bottom: 1px solid var(--rd-ln);
    }

    body.rd .head_mobile a.mob_logo strong {
        font-family: var(--rd-f);
        color: var(--rd-mut);
        letter-spacing: 0;
    }

    body.rd .head_mobile .mobile_menu ul li a {
        border-radius: var(--rd-r-sm);
        font-family: var(--rd-f);
        font-weight: 600;
    }

    /* The shared header (common/head*.twig) is rendered without "rd": its PNG is moved out of the img box and the icon is drawn as the background. */
    body.rd .head_mobile .mobile_menu ul li a img,
    body.rd .head_mobile .handset0 img,
    body.rd .head_mobile .contact-icon {
        object-position: -999px 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    body.rd .head_mobile .mobile_menu ul li a img {
        border-radius: 28%;
        background-color: rgba(255, 255, 255, .14);
        background-size: 55%;
    }

    body.rd .head_mobile img[src*="/mobile_menu_li_0.png"] {
        background-image: var(--rd-iw-wrench);
    }

    body.rd .head_mobile img[src*="/tab_service_1.png"] {
        background-image: var(--rd-iw-to);
    }

    body.rd .head_mobile img[src*="/mobile_menu_li_4.png"] {
        background-image: var(--rd-iw-box);
    }

    body.rd .head_mobile img[src*="/mobile_menu_li_5.png"] {
        background-image: var(--rd-iw-star);
    }

    body.rd .head_mobile img[src*="/but_cont.png"] {
        background-image: var(--rd-iw-pin);
    }

    body.rd .head_mobile img[src*="?akcii"] {
        background-image: var(--rd-iw-pct);
    }

    body.rd .head_mobile .mobile_menu ul li.mobile_menu__promo {
        flex: 1 1 100%;
    }

    body.rd .head_mobile img[src*="/ico_handset.png"] {
        background-image: var(--rd-iw-phone);
    }

    body.rd .head_mobile .head_button a.but_call,
    body.rd .head_mobile .contact-item,
    body.rd .head_mobile .head_mobile__wrapper a {
        font-family: var(--rd-f);
    }

    body.rd .head_mobile .contact-item {
        background-color: var(--rd-br);
    }

    body.rd-home .content h1 {
        padding-top: 28px;
        font-size: 34px;
    }

    body.rd-home .rd-addr__box {
        grid-template-columns: 1fr;
    }

    body.rd-home .rd-addr__list {
        display: flex;
        gap: 6px;
        padding: 8px;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--rd-ln);
        scroll-snap-type: x mandatory;
    }

    body.rd-home .rd-addr__list li {
        flex: 0 0 auto;
        width: min(78%, 280px);
        scroll-snap-align: start;
    }

    body.rd-home .rd-addr__view {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    body.rd-home .rd-addr__map {
        position: relative;
        height: 260px;
    }

    body.rd-home .rd-addr__card {
        position: static;
        width: auto;
        max-width: none;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }
}

@media (max-width: 820px) {













    body.rd-home .content .tabs.hom {
        display: block;
    }

    body.rd-home .content .tabs.hom ul.tabs__caption {
        display: none;
    }

    body.rd-home .content .tabs.hom .tabs__content {
        display: block;
        margin-bottom: 8px;
        padding: 0;
        border-radius: var(--rd-r-sm);
        overflow: hidden;
    }

    body.rd-home .content .tabs .tabs__content .tabmob_head {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 12px 44px 12px 12px;
        background: var(--rd-sf);
        filter: none;
    }

    body.rd-home .content .tabs .tabs__content .tabmob_head .rd-mi {
        width: 34px;
        height: 34px;
        background: var(--rd-step-bg);
        color: var(--rd-br);
    }

    body.rd-home .content .tabs .tabs__content .tabmob_head span {
        font-size: 15px;
        font-weight: 700;
        color: var(--rd-ink);
    }

    body.rd-home .content .tabs .tabs__content .tabmob_head:after {
        width: 18px;
        height: 18px;
        margin-top: -9px;
        right: 16px;
        transform: none;
        background: var(--rd-br);
        -webkit-mask: var(--rd-i-chevron) center / contain no-repeat;
        mask: var(--rd-i-chevron) center / contain no-repeat;
        transition: transform .2s;
    }

    body.rd-home .content .tabs .tabs__content.active .tabmob_head {
        background: var(--rd-br);
    }

    body.rd-home .content .tabs .tabs__content.active .tabmob_head span {
        color: #fff;
    }

    body.rd-home .content .tabs .tabs__content.active .tabmob_head .rd-mi {
        background: rgba(255, 255, 255, .14);
        color: #fff;
    }

    body.rd-home .content .tabs .tabs__content.active .tabmob_head:after {
        background: #fff;
        transform: rotate(180deg);
    }

    body.rd-home .content .tabs .tabs__content .tabmob_body {
        padding: 4px 16px 12px;
    }

    body.rd-home .content .tabs .tabs__content table.tab_service tr td {
        padding: 11px 0;
        font-size: 15px;
    }

    body.rd-home .content .tabs .tabs__content table.tab_service tr th {
        padding: 8px 0;
        font-size: 11px;
    }

    body.rd-home .content h2.micro_title,
    body.rd-home .rd-h2 {
        font-size: 26px;
    }

    body.rd-home .content h2.micro_title {
        margin: 48px 0 20px;
    }

    body.rd-home .rd-section {
        margin-top: 48px;
    }

    body:is(.rd-home, .rd-inner) .content .cont_image {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    @supports not (inset: 0) {
        body.rd-home .content .cont_image,
        body.rd-inner .content .cont_image {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }
    }

    body.rd .rd-reviews {
        gap: 16px;
        margin-top: 48px;
    }

    body.rd .rd-reviews--widget {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd .rd-reviews .remont_rating > div {
        height: 700px !important;
    }

    body.rd .content .rd-reviews--widget .product_title.rd-count {
        position: static;
        height: auto;
    }

    body.rd .content .rd-reviews .product_title.rd-count--wide {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        padding: 28px 24px;
    }

    body.rd .rd-count__side {
        min-width: 0;
        padding: 20px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .18);
    }

    body.rd .rd-count__side .rd-btn {
        align-self: stretch;
    }

    body.rd-home .content .content_box.call_me {
        flex-direction: column;
        align-items: stretch;
        padding: 24px;
    }

    body.rd-home .content .content_box.call_me .rd-btn {
        width: 100%;
    }

    body.rd-home .rd-head--row {
        flex-direction: column;
        align-items: flex-start;
    }

    body.rd .rd-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 600px) {
    body.rd {
        --rd-pad: 16px;
    }

    body.rd-home .content h1 {
        font-size: 28px;
    }

    body.rd-home .content .content_box .left .cont_auto {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    body.rd-home .content .content_box .left .cont_auto a.row,
    body.rd-home .content .content_box .left .cont_auto a.row2 {
        min-height: 0;
        padding: 12px;
        gap: 10px;
    }

    body.rd-home .content .content_box .left .cont_auto a img {
        min-height: 90px;
        padding: 8px;
    }

    body.rd-home .content .content_box .left .cont_auto a span {
        font-size: 18px;
    }

    body.rd-home .content .content_box .left .cont_auto a .btn1 {
        height: 40px;
        font-size: 13px;
        padding: 0 8px;
    }

    body.rd-home .content blockquote p {
        font-size: 18px;
    }








    body.rd .content .product_title.rd-count b {
        font-size: 56px;
    }

    body.rd-home .rd-addr__actions {
        flex-direction: column;
    }

    body.rd-home .rd-addr__actions .rd-btn {
        flex: none;
    }

    body.rd-home .rd-steps__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.rd-home .rd-steps {
        padding: 40px 0 44px;
    }

    body.rd-home .rd-step {
        min-height: 0;
        padding: 20px 22px 22px;
    }

    body.rd-home .rd-step__num {
        margin-bottom: 16px;
    }

    body.rd-home .rd-step__title {
        margin-bottom: 8px;
        font-size: 18px;
    }

    body.rd-home .rd-step p {
        font-size: 14px;
    }
}

/* ---------- Inner pages: brand and service category ---------- */

/* Visual only: item order (li.active { order: -1 }), visibility and markup of the left menu stay as in main.css.
   The menu is white; body.rd-menu-blue (rd_menu_blue in base.html.twig) switches it to blue. */
body.rd-inner {
    --rd-mn-card: #fff;
    --rd-mn-card-ln: var(--rd-ln);
    --rd-mn-card-pad: 8px;
    --rd-mn-card-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 16px 34px rgba(13, 27, 54, .06);
    --rd-mn-gap: 2px;
    --rd-mn-bg: transparent;
    --rd-mn-hover: var(--rd-step-bg);
    --rd-mn-ink: var(--rd-ink);
    --rd-mn-tile: var(--rd-step-bg);
    --rd-mn-tile-on: #fff;
    --rd-mn-ic: var(--rd-br);
    --rd-mn-arrow: #8A9AB8;
    --rd-mn-arrow-on: var(--rd-br);
    --rd-mn-open: var(--rd-step-bg);
    --rd-mn-open-ink: var(--rd-br);
    --rd-mn-size: 38px;
    --rd-mn-icon: 21px;
    --rd-mn-fs: 15px;
    --rd-mn-pad: 6px 8px;
    --rd-mn-gap-x: 12px;
    --rd-mn-arrow-w: 16px;
    --rd-mn-arrow-r: 14px;
}

body.rd-inner.rd-menu-blue {
    --rd-mn-card: transparent;
    --rd-mn-card-ln: transparent;
    --rd-mn-card-pad: 0;
    --rd-mn-card-shadow: none;
    --rd-mn-gap: 4px;
    --rd-mn-bg: var(--rd-br);
    --rd-mn-hover: color-mix(in srgb, var(--rd-br) 86%, #fff);
    --rd-mn-ink: #fff;
    --rd-mn-tile: rgba(255, 255, 255, .14);
    --rd-mn-tile-on: rgba(255, 255, 255, .22);
    --rd-mn-ic: #fff;
    --rd-mn-arrow: rgba(255, 255, 255, .7);
    --rd-mn-arrow-on: #fff;
    --rd-mn-open: var(--rd-fb);
    --rd-mn-open-ink: #fff;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd-inner.rd-menu-blue {
        --rd-mn-hover: var(--rdx-br-86-w);
    }
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption {
    padding: var(--rd-mn-card-pad);
    border: 1px solid var(--rd-mn-card-ln);
    border-radius: 24px;
    background: var(--rd-mn-card);
    box-shadow: var(--rd-mn-card-shadow);
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption:not(:has(> li)) {
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption.rdh-219843 {
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li,
body.rd-inner .content .selection-auto .tabs ul.tabs__caption li.active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: var(--rd-mn-gap-x);
    margin: 0 0 var(--rd-mn-gap);
    padding: var(--rd-mn-pad);
    border-radius: 16px;
    background: var(--rd-mn-bg);
    filter: none;
    transition: background-color .2s;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li:hover {
    background: var(--rd-mn-hover);
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li .rd-mi {
    width: var(--rd-mn-size);
    height: var(--rd-mn-size);
    margin: 0;
    background: var(--rd-mn-tile);
    color: var(--rd-mn-ic);
    transition: background-color .2s;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li:hover .rd-mi {
    background: var(--rd-mn-tile-on);
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li .rd-mi .rd-i {
    width: var(--rd-mn-icon);
    height: var(--rd-mn-icon);
}

/* The link takes the rest of the row and keeps room for the arrow, so a long title wraps before it. */
body.rd-inner .content .selection-auto .tabs ul.tabs__caption li > a {
    flex: 1;
    min-width: 0;
    padding-right: calc(var(--rd-mn-arrow-w) + var(--rd-mn-arrow-r) - 4px);
}

/* The whole row opens the category: the icon and padding sit under this layer, the open services list above it. */
body.rd-inner .content .selection-auto .tabs ul.tabs__caption li > a::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li .tabmob_head {
    position: relative;
    z-index: 1;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li span {
    display: block;
    width: auto !important;
    max-width: none;
    padding: 0;
    font-size: var(--rd-mn-fs);
    line-height: 1.25;
    font-weight: 700;
    color: var(--rd-mn-ink);
    text-wrap: balance;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li:after,
body.rd-inner .content .selection-auto .tabs ul.tabs__caption li:hover:after {
    content: "";
    top: 50%;
    right: var(--rd-mn-arrow-r);
    width: var(--rd-mn-arrow-w);
    height: var(--rd-mn-arrow-w);
    margin-top: 0;
    transform: translateY(-50%);
    background: var(--rd-mn-arrow);
    opacity: 1;
    -webkit-mask: var(--rd-i-arrow) center / contain no-repeat;
    mask: var(--rd-i-arrow) center / contain no-repeat;
    pointer-events: none;
    transition: right .2s, background-color .2s;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption li:hover:after {
    right: calc(var(--rd-mn-arrow-r) - 4px);
    background: var(--rd-mn-arrow-on);
}

/* The current category of the inner pages stays open with its services listed under the title. */
body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active,
body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active:hover {
    background: var(--rd-mn-open);
}

body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active span {
    color: var(--rd-mn-open-ink);
}

body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active .rd-mi {
    background: var(--rd-mn-tile-on);
}

body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active:after {
    top: calc(6px + var(--rd-mn-size) / 2);
}

body.rd-inner .content .selection-auto .tabs.lvl2 ul.tabs__caption li.active .tabmob_head {
    flex: 0 0 100%;
    margin: 8px 0 2px;
    padding: 0;
    border-radius: 12px;
    background: none;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    background: var(--rd-sf);
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service tr td {
    padding: 0;
    background: none;
    border-bottom: 1px solid var(--rd-ln);
    font-size: 15px;
    line-height: 1.35;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service tr:last-child td {
    border-bottom: 0;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service tr:hover td {
    background: var(--rd-sf2);
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service tr td a {
    display: block;
    box-sizing: border-box;
    padding: 10px 14px;
    color: var(--rd-ink) !important;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption table.tab_service tr td a:hover {
    color: var(--rd-br) !important;
}

body.rd-inner .content .selection-auto .tabs ul.tabs__caption > img,
body.rd-inner .content .selection-auto .tabs ul.tabs__caption > a img {
    border-radius: var(--rd-r) !important;
}

body.rd-inner .content .tabs_list_car {
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    box-shadow: none;
    background: var(--rd-sf);
}

@media (min-width: 1025px) {
    /* base.html.twig shifts "top" so a menu taller than the window can be scrolled through. */
    body.rd-inner .content .selection-auto > .tabs {
        position: sticky;
        top: 16px;
        align-self: flex-start;
    }
}

/* The menu column is 336px at 1280px, 274px at 1025px, 246px at 926px and 216px at 821px. */
@media (max-width: 1280px) {
    body.rd-inner {
        --rd-mn-size: 34px;
        --rd-mn-icon: 19px;
        --rd-mn-fs: 14.5px;
        --rd-mn-gap-x: 10px;
    }
}

@media (max-width: 1024px) {
    body.rd-inner {
        --rd-mn-card-pad: 6px;
        --rd-mn-size: 30px;
        --rd-mn-icon: 17px;
        --rd-mn-fs: 13.5px;
        --rd-mn-pad: 6px;
        --rd-mn-gap-x: 8px;
        --rd-mn-arrow-w: 12px;
        --rd-mn-arrow-r: 8px;
    }
}

@media (max-width: 925px) {
    body.rd-inner {
        --rd-mn-card-pad: 4px;
        --rd-mn-size: 26px;
        --rd-mn-icon: 15px;
        --rd-mn-fs: 13px;
        --rd-mn-pad: 5px 4px;
        --rd-mn-arrow-r: 6px;
    }
}

/* Banner + brand photo */

body.rd-inner .content .cont_block_remont {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
    gap: 16px;
}

body.rd-inner .content .cont_block_remont:after {
    display: none;
}

body.rd-inner .content .cont_block_remont .remont_left,
body.rd-inner .content .cont_block_remont .remont_right {
    position: relative;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
}

body.rd-inner .content .cont_block_remont .remont_left img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    border-radius: var(--rd-r);
}

body.rd-inner .content .cont_block_remont .remont_right img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--rd-r) !important;
}

body.rd-inner .content .cont_block_remont:not(:has(.rslide__content img)) {
    grid-template-columns: minmax(0, 1fr);
}

body.rd-inner .content .cont_block_remont.rdh-26656b {
    grid-template-columns: minmax(0, 1fr);
}

body.rd-inner .content .cont_block_remont:not(:has(.rslide__content img)) .remont_left {
    display: none;
}

body.rd-inner .content .cont_block_remont.rdh-26656b .remont_left {
    display: none;
}

body.rd-inner .content .cont_block_remont:not(:has(.rslide__content img)) .remont_right img {
    position: static;
    height: auto;
    aspect-ratio: 21 / 9;
}

body.rd-inner .content .cont_block_remont.rdh-26656b .remont_right img {
    position: static;
    height: auto;
    aspect-ratio: 21 / 9;
}

/* Brand page first screen (redesign/brand/hero.twig); --rd-hero-bg is the banner background of a site. */

body.rd .rd-hero {
    --rd-hero-bg: linear-gradient(110deg, var(--rd-br) 0%, color-mix(in srgb, var(--rd-br) 90%, #000) 58%, color-mix(in srgb, var(--rd-br) 70%, var(--rd-fb)) 100%);
    container: rd-hero / inline-size;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-hero {
        --rd-hero-bg: linear-gradient(110deg, var(--rd-br) 0%, var(--rdx-br-90-k) 58%, var(--rdx-br-70-fb) 100%);
    }
}

body.rd .rd-hero__bn {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px;
    grid-template-columns: minmax(0, 1fr) clamp(200px, 37cqi, 336px);
    gap: 24px;
    align-items: center;
    padding: 40px 36px 40px 40px;
    border-radius: 32px;
    background: var(--rd-hero-bg);
    color: #fff;
}

@supports not (width: 1cqi) {
    body.rd .rd-hero__bn {
        grid-template-columns: minmax(0, 1fr) clamp(200px, min(calc(37vw - 11.84px), 352.24px), 336px);
    }
}

body.rd .rd-hero__bn--nophoto {
    grid-template-columns: minmax(0, 1fr);
}

body.rd .rd-hero__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    background: radial-gradient(520px 300px at 90% -10%, rgba(255, 255, 255, .16), transparent 70%);
}

body.rd .rd-hero__bg svg {
    position: absolute;
    right: -40px;
    top: -56px;
    width: 560px;
    height: 320px;
    fill: none;
    stroke: rgba(255, 255, 255, .13);
    stroke-width: 1.6;
}

body.rd .rd-hero__tx {
    position: relative;
    z-index: 1;
    min-width: 0;
}

body.rd .rd-hero__tx:before {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin-bottom: 20px;
    border-radius: 2px;
    background: var(--rd-ac);
}

body.rd .rd-hero .rd-hero__t {
    font-size: 24px;
    font-size: clamp(24px, 4cqi, 36px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #fff;
    text-wrap: balance;
    overflow-wrap: break-word;
}

@supports not (width: 1cqi) {
    body.rd .rd-hero .rd-hero__t {
        font-size: clamp(24px, min(calc(4vw - 1.28px), 38.08px), 36px);
    }
}

body.rd .rd-hero .rd-hero__l {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .88);
    text-wrap: balance;
}

body.rd .rd-hero a.rd-hero__tel {
    display: block;
    margin-top: 28px;
    padding: 16px 22px 18px 16px;
    border-radius: 24px;
    background: #fff;
    color: var(--rd-ink);
    box-shadow: 0 18px 36px rgba(4, 18, 52, .34);
    transition: transform .2s, box-shadow .2s;
}

body.rd .rd-hero__bn--nophoto a.rd-hero__tel {
    max-width: 520px;
}

body.rd .rd-hero a.rd-hero__tel:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 44px rgba(4, 18, 52, .42);
}

body.rd .rd-hero .rd-hero__tp {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--rd-br);
}

body.rd .rd-hero__tp i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: none;
    border-radius: 28%;
    background: var(--rd-ac);
    color: var(--rd-aci);
}

body.rd .rd-hero__tp .rd-i {
    width: 18px;
    height: 18px;
}

body.rd .rd-hero__tel b {
    display: block;
    margin-top: 10px;
    font-size: 22px;
    font-size: clamp(22px, calc(6.5cqi - 15px), 44px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.03em;
    white-space: nowrap;
}

@supports not (width: 1cqi) {
    body.rd .rd-hero__tel b {
        font-size: clamp(22px, calc(min(calc(6.5vw - 2.08px), 61.88px) - 15px), 44px);
    }
}

body.rd .rd-hero .rd-hero__hr {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--rd-mut);
}

body.rd .rd-hero__hr em {
    font-style: normal;
}

body.rd .rd-hero__hr .rd-i {
    width: 16px;
    height: 16px;
}

body.rd .rd-hero__ph {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 100 / 86.6025;
}

body.rd .rd-hero__clip {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

body.rd .rd-hero__amb {
    position: absolute;
    left: 5.4%;
    top: 6.2%;
    width: 100%;
    height: 100%;
    fill: var(--rd-ac);
    stroke: var(--rd-ac);
    stroke-width: 6.8;
    stroke-linejoin: round;
}

body.rd .rd-hero__ring {
    position: absolute;
    left: -3%;
    top: -7.6%;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: rgba(255, 255, 255, .32);
    stroke-width: 1.6;
    stroke-linejoin: round;
}

body.rd .rd-hero__ring path {
    vector-effect: non-scaling-stroke;
}

body.rd .rd-hero__pic {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}

body.rd .rd-hero__pic img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    clip-path: url(#rd-hero-hex);
}

body.rd .rd-hero__gr {
    position: absolute;
    z-index: 2;
    right: -20px;
    top: 4px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px 12px 12px;
    border-radius: 20px;
    background: #fff;
    color: var(--rd-ink);
    box-shadow: 0 18px 36px rgba(4, 18, 52, .34);
}

body.rd .rd-hero__gr i,
body.rd .rd-hero__f3 i {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: 28%;
    background: var(--rd-step-bg);
    color: var(--rd-br);
}

body.rd .rd-hero__gr .rd-i,
body.rd .rd-hero__f3 .rd-i {
    width: 24px;
    height: 24px;
}

body.rd .rd-hero__gr b {
    display: block;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--rd-br);
}

body.rd .rd-hero .rd-hero__gr small {
    display: block;
    margin-top: 5px;
    font-size: 12.5px;
    line-height: 1.25;
    font-weight: 600;
    white-space: nowrap;
    color: var(--rd-mut);
}

body.rd .rd-hero .rd-hero__f3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 32px;
}

body.rd .rd-hero__f3 li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 16px;
    border: 1px solid var(--rd-ln);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 12px 26px rgba(13, 27, 54, .05);
}

body.rd .rd-hero__f3 li > div {
    min-width: 0;
}

body.rd .rd-hero__f3 b {
    display: block;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
}

body.rd .rd-hero .rd-hero__f3 small {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--rd-mut);
    text-wrap: pretty;
}

@container rd-hero (max-width: 760px) {
    body.rd .rd-hero__gr {
        right: -14px;
        top: auto;
        bottom: -18px;
        padding: 10px 14px 10px 10px;
    }

    body.rd .rd-hero__gr i {
        width: 36px;
        height: 36px;
    }

    body.rd .rd-hero__gr b {
        font-size: 22px;
    }

    body.rd .rd-hero .rd-hero__gr small {
        font-size: 11.5px;
    }

    body.rd .rd-hero .rd-hero__f3 {
        gap: 10px;
        margin-top: 40px;
    }

    body.rd .rd-hero__f3 li {
        flex-direction: column;
        gap: 10px;
        padding: 16px 14px;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 808px), (min-width: 841px) and (max-width: 1133px) {
        body.rd .rd-hero__gr {
            right: -14px;
            top: auto;
            bottom: -18px;
            padding: 10px 14px 10px 10px;
        }

        body.rd .rd-hero__gr i {
            width: 36px;
            height: 36px;
        }

        body.rd .rd-hero__gr b {
            font-size: 22px;
        }

        body.rd .rd-hero .rd-hero__gr small {
            font-size: 11.5px;
        }

        body.rd .rd-hero .rd-hero__f3 {
            gap: 10px;
            margin-top: 40px;
        }

        body.rd .rd-hero__f3 li {
            flex-direction: column;
            gap: 10px;
            padding: 16px 14px;
        }
    }
}

@container rd-hero (max-width: 560px) {
    body.rd .rd-hero .rd-hero__f3 {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd .rd-hero__f3 li {
        flex-direction: row;
        gap: 12px;
    }

    body.rd .rd-hero__bn {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
        padding: 30px 20px 46px;
        border-radius: 26px;
    }

    body.rd .rd-hero .rd-hero__t {
        font-size: clamp(21px, 6.8cqi, 34px);
    }

    body.rd .rd-hero .rd-hero__l {
        font-size: 15.5px;
    }

    body.rd .rd-hero a.rd-hero__tel {
        margin-top: 24px;
        padding: 14px 16px 16px 14px;
        border-radius: 22px;
    }

    body.rd .rd-hero__tel b {
        font-size: clamp(24px, 8.2cqi, 40px);
    }

    body.rd .rd-hero__ph {
        justify-self: center;
        width: min(272px, 100%);
    }

    body.rd .rd-hero__gr {
        right: -12px;
        top: -14px;
        bottom: auto;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 592px), (min-width: 601px) and (max-width: 608px), (min-width: 841px) and (max-width: 848px) {
        body.rd .rd-hero .rd-hero__f3 {
            grid-template-columns: minmax(0, 1fr);
        }

        body.rd .rd-hero__f3 li {
            flex-direction: row;
            gap: 12px;
        }

        body.rd .rd-hero__bn {
            grid-template-columns: minmax(0, 1fr);
            gap: 44px;
            padding: 30px 20px 46px;
            border-radius: 26px;
        }

        body.rd .rd-hero .rd-hero__t {
            font-size: 23px;
            font-size: clamp(21px, min(calc(6.8vw - 2.176px), 64.736px), 34px);
        }

        body.rd .rd-hero .rd-hero__l {
            font-size: 15.5px;
        }

        body.rd .rd-hero a.rd-hero__tel {
            margin-top: 24px;
            padding: 14px 16px 16px 14px;
            border-radius: 22px;
        }

        body.rd .rd-hero__tel b {
            font-size: 28px;
            font-size: clamp(24px, min(calc(8.2vw - 2.624px), 78.064px), 40px);
        }

        body.rd .rd-hero__ph {
            justify-self: center;
            width: min(272px, 100%);
        }

        body.rd .rd-hero__gr {
            right: -12px;
            top: -14px;
            bottom: auto;
        }
    }
}

/* Brand page price list: rows after the third are hidden until the button is pressed. */

body.rd-brand .content .rd-pl:not(.is-open) .slider-for .item table tr:nth-child(n+4) {
    display: none;
}

body.rd-brand .content .rd-pl:not(.is-open) .slider-for .item table {
    -webkit-mask-image: linear-gradient(#000 calc(100% - 30px), rgba(0, 0, 0, .3));
    mask-image: linear-gradient(#000 calc(100% - 30px), rgba(0, 0, 0, .3));
}

body.rd-brand .content .rd-pl__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 14px;
    padding: 10px 16px 10px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--rd-sf2);
    color: var(--rd-br);
    font: 700 15px/1.2 var(--rd-f);
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

body.rd-brand .content .rd-pl__more:before {
    content: attr(data-more);
}

body.rd-brand .content .rd-pl.is-open .rd-pl__more:before {
    content: "Свернуть";
}

body.rd-brand .content .rd-pl__more:after {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--rd-i-chevron) center / contain no-repeat;
    mask: var(--rd-i-chevron) center / contain no-repeat;
    transition: transform .2s;
}

body.rd-brand .content .rd-pl.is-open .rd-pl__more:after {
    transform: rotate(180deg);
}

body.rd-brand .content .rd-pl__more:hover {
    background: var(--rd-br);
    color: #fff;
}

body.rd-brand .content .rd-pl__more:focus-visible {
    outline: 2px solid var(--rd-br);
    outline-offset: 2px;
}

/* Reviews heading on the brand page */

body.rd-inner .content .rd-reviews-title {
    margin: 48px 0 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--rd-ink);
}

body.rd-inner .rd-reviews {
    margin: 48px 0 0;
}

body.rd-inner .content .rd-reviews-title + .rd-reviews {
    margin-top: 20px;
}

/* Photo galleries */

body.rd-inner .content .cont_image a.row {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

body.rd-brand .content .cont_image {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

/* Brand page: work examples, a photo with its caption strip */

body.rd-brand .content .rd-works {
    margin-top: 48px;
}

body.rd-brand .content .rd-works__h {
    margin: 0 0 24px;
    color: var(--rd-ink);
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
    text-wrap: balance;
}

body.rd-brand .content .rd-works__h:after {
    content: '';
    display: block;
    width: 48px;
    height: 4px;
    margin-top: 12px;
    border-radius: 2px;
    background: var(--rd-ac);
}

body.rd-brand .content .rd-works .cont_image {
    margin-top: 0;
}

body.rd-brand .content .rd-works__i {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    border-radius: var(--rd-r);
    overflow: hidden;
    background: var(--rd-sf2);
}

body.rd-brand .content .rd-works__i a.row {
    flex: none;
    border-radius: 0;
}

body.rd-brand .content .rd-works__i a.row > img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.rd-brand .content .rd-works__i figcaption {
    flex: 1;
    padding: 11px 14px 13px;
    border-top: 3px solid var(--rd-ac);
    color: var(--rd-ink);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
}

/* Brand page: category anchors and price cards */

body.rd-brand .content .selection-auto__content_services_list_cat {
    display: flex !important;
    flex-flow: row wrap !important;
    gap: 8px;
    width: auto !important;
    height: auto !important;
    margin: 40px 0 32px;
}

body.rd-brand .content .selection-auto__content_services_list_cat a {
    padding: 8px 14px !important;
    border-radius: 999px;
    background: var(--rd-sf2);
    color: var(--rd-ink) !important;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    transition: background-color .2s, color .2s;
}

body.rd-brand .content .selection-auto__content_services_list_cat a:before {
    display: none;
}

body.rd-brand .content .selection-auto__content_services_list_cat a:hover {
    background: var(--rd-br);
    color: #fff !important;
}

body.rd-brand .content .service-cat {
    margin: 0 0 24px;
    padding: 28px 32px 14px;
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    background: var(--rd-sf);
    box-shadow: none;
}

body.rd-brand .content .service-cat .forphone {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 24px !important;
    line-height: 1.25;
    font-weight: 800 !important;
    text-align: left !important;
    color: var(--rd-ink);
}

body.rd-brand .content .service-cat .slider-for .item table {
    border-collapse: collapse;
}

body.rd-brand .content .service-cat .slider-for .item table tr td {
    padding: 13px 0;
    border-bottom: 0;
    border-top: 1px solid var(--rd-ln);
    font-size: 16px;
    line-height: 1.4;
    color: var(--rd-ink);
}

body.rd-brand .content .service-cat .slider-for .item table tr:first-child td {
    border-top: 0;
}

body.rd-brand .content .service-cat .slider-for .item table tr td:first-child {
    width: auto;
}

body.rd-brand .content .service-cat .slider-for .item table tr td:last-child {
    width: 1%;
    padding-left: 16px;
    font-weight: 800;
    white-space: nowrap;
}

body.rd-brand .content .service-cat .slider-for .item table tr td a {
    font-size: 16px !important;
    color: var(--rd-ink) !important;
    text-decoration: none;
}

body.rd-brand .content .service-cat .slider-for .item table tr td a:hover {
    color: var(--rd-br) !important;
}

/* Category page: service cards */

body.rd-cat .content .selection-auto__content__items,
body.rd-cat .content .selection-auto__content__items:first-child {
    display: flex;
    align-items: stretch;
    gap: 28px;
    margin: 0 0 16px;
    padding: 20px;
    border: 1px solid var(--rd-ln);
    border-radius: var(--rd-r);
    background: var(--rd-sf);
}

body.rd-cat .content .selection-auto__content__items__img {
    flex: none;
    width: 34%;
    margin: 0;
}

body.rd-cat .content .selection-auto__content__items__img img {
    display: block;
    width: 100%;
    height: 220px;
    margin: 0;
    object-fit: cover;
    border-radius: var(--rd-r-sm);
}

body.rd-cat .content .selection-auto__content__items__text {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
}

body.rd-cat .content .selection-auto__content__items__title {
    margin: 0;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--rd-ink) !important;
}

body.rd-cat .content .selection-auto__content__items__title:hover {
    opacity: 1;
    color: var(--rd-br) !important;
}

body.rd-cat .content .selection-auto__content__items__price {
    margin: 20px 0 0 !important;
    letter-spacing: 0;
    color: var(--rd-mut) !important;
}

body.rd-cat .content .selection-auto__content__items__price:before {
    flex: none;
    width: 48px;
    height: 48px;
    margin: 0 12px 0 0;
    background-size: 48px 48px;
}

body.rd-cat .content .selection-auto__content__items__price p {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
}

body.rd-cat .content .selection-auto__content__items__title span,
body.rd-brand .content .service-cat .forphone span {
    font-size: inherit !important;
}

/* service.css paints every span of .selection-auto__content #1e1e1e !important below 840px; on the blue card they keep the card colours. */
body.rd .selection-auto__content .rd-count span {
    color: inherit !important;
}

body.rd-inner .content .selection-auto__content .rd-count span,
body.rd-cat .content .selection-auto__content__items span,
body.rd-brand .content .service-cat .forphone span {
    padding: 0;
    text-align: inherit;
}

body.rd-cat .content .selection-auto__content__items__price span {
    font-size: 26px !important;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd-cat .content .selection-auto__content__items__desc:empty {
    display: none;
}

body.rd-cat .content .selection-auto__content__items__btn__wrap {
    margin-top: auto;
    padding: 20px 0 0;
}

body.rd-cat .content .selection-auto__content__items__more {
    display: inline-flex;
    align-items: center;
    height: 44px;
    margin: 0;
    padding: 0 22px;
    border: 0;
    border-radius: var(--rd-r-sm);
    background: var(--rd-sf);
    box-shadow: inset 0 0 0 1px var(--rd-ln);
    color: var(--rd-br) !important;
    font: 700 15px/1 var(--rd-f);
    letter-spacing: 0;
    transition: background-color .2s;
}

body.rd-cat .content .selection-auto__content__items__more:hover {
    background: var(--rd-sf2);
}

/* Tenant texts (templates/website/pages/service/tenant/<site>/content.html.twig) */

body.rd .content .rd-text {
    margin: 32px 0;
    padding: 36px 40px;
    border-radius: var(--rd-r);
    background: var(--rd-step-bg);
    color: var(--rd-ink);
    font-size: 17px;
    line-height: 1.65;
}

body.rd .content .rd-text > :first-child {
    margin-top: 0;
}

body.rd .content .rd-text > :last-child {
    margin-bottom: 0;
}

body.rd .content .rd-text p {
    margin: 0 0 16px;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

body.rd .content .rd-text a {
    color: var(--rd-br);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.rd .content .rd-text a:hover {
    color: var(--rd-fb);
}

body.rd .content .rd-text h2 {
    margin: 32px 0 14px;
    padding: 0 !important;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--rd-ink);
}

body.rd .content .rd-text h3 {
    margin: 24px 0 8px;
    padding: 0;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--rd-ink);
}

body.rd .content .rd-text ul,
body.rd .content .rd-text ol {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

body.rd .content .rd-text li {
    position: relative;
    margin: 0 0 8px;
    padding: 0 0 0 30px;
    background: none;
    font-size: inherit;
    line-height: inherit;
}

body.rd .content .rd-text ul > li:before {
    content: '';
    position: absolute;
    top: .32em;
    left: 0;
    width: 18px;
    height: 18px;
    background: var(--rd-br);
    -webkit-mask: var(--rd-i-check) center / contain no-repeat;
    mask: var(--rd-i-check) center / contain no-repeat;
}

body.rd .content .rd-text ol {
    counter-reset: rd-text;
}

body.rd .content .rd-text ol > li {
    padding-left: 36px;
    counter-increment: rd-text;
}

body.rd .content .rd-text ol > li:before {
    content: counter(rd-text);
    position: absolute;
    top: .15em;
    left: 0;
    margin: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rd-br);
    color: #fff;
    font: 700 13px/24px var(--rd-f);
    text-align: center;
}

body.rd .content .rd-text__benefits > ul,
body.rd .content .rd-text__benefits > ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.rd .content .rd-text__benefits > ul > li,
body.rd .content .rd-text__benefits > ol > li,
body.rd .content .rd-text__benefits > p {
    position: relative;
    margin: 0;
    padding: 16px 18px 16px 50px;
    border-radius: var(--rd-r-sm);
    background: var(--rd-sf);
}

body.rd .content .rd-text__benefits > p + p {
    margin-top: 12px;
}

body.rd .content .rd-text__benefits > ul > li:before,
body.rd .content .rd-text__benefits > p:before {
    content: '';
    position: absolute;
    top: 19px;
    left: 18px;
    width: 18px;
    height: 18px;
    background: var(--rd-br);
    -webkit-mask: var(--rd-i-check) center / contain no-repeat;
    mask: var(--rd-i-check) center / contain no-repeat;
}

body.rd .content .rd-text__benefits > ol > li:before {
    top: 16px;
    left: 16px;
}

body.rd .content .rd-text__services > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

body.rd .content .rd-text__services > ul > li {
    margin: 0;
}

body.rd .content .rd-text__cta {
    margin-top: 24px;
    padding: 20px 24px;
    border-left: 4px solid var(--rd-ac);
    border-radius: var(--rd-r-sm);
    background: var(--rd-sf);
}

body.rd .content .rd-text__cta p {
    margin: 0;
    font-size: 18px;
}

body.rd .content .rd-text__cta a {
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 820px) {
    body.rd .content .rd-text {
        margin: 24px 0;
        padding: 24px 20px;
        font-size: 16px;
        line-height: 1.6;
    }

    body.rd .content .rd-text h2 {
        margin-top: 26px;
        font-size: 22px;
    }

    body.rd .content .rd-text h3 {
        font-size: 18px;
    }

    body.rd .content .rd-text__benefits > ul,
    body.rd .content .rd-text__benefits > ol,
    body.rd .content .rd-text__services > ul {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd .content .rd-text__cta p {
        font-size: 16px;
    }
}

@media (max-width: 1200px) {
    body.rd-brand .rd-reviews--widget {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd-brand .rd-reviews .remont_rating > div {
        height: 800px !important;
    }

    body.rd-brand .content .rd-reviews--widget .product_title.rd-count {
        position: static;
        height: auto;
    }
}

@media (max-width: 820px) {
    body.rd-inner .content .cont_block_remont {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd-inner .content .cont_block_remont .remont_right img {
        position: static;
        height: auto;
        aspect-ratio: 4 / 3;
    }

    body.rd-inner .content .rd-reviews-title {
        margin-top: 40px;
        font-size: 24px;
    }

    body.rd-inner .rd-reviews {
        margin-top: 40px;
    }

    body.rd-brand .content .cont_image {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.rd-brand .content .rd-works {
        margin-top: 36px;
    }

    body.rd-brand .content .rd-works__h {
        margin-bottom: 18px;
        font-size: 22px;
    }

    body.rd-brand .content .rd-works__i figcaption {
        padding: 8px 10px 10px;
        font-size: 13px;
    }

    body.rd-brand .content .service-cat {
        padding: 20px 18px 8px !important;
    }

    body.rd-brand .content .service-cat .forphone {
        font-size: 20px !important;
    }

    body.rd-cat .content .selection-auto__content__items,
    body.rd-cat .content .selection-auto__content__items:first-child {
        flex-direction: column;
        gap: 16px;
        padding: 16px;
    }

    body.rd-cat .content .selection-auto__content__items__img {
        width: 100% !important;
    }

    body.rd-cat .content .selection-auto__content__items__img img {
        width: 100% !important;
        height: 200px;
        margin: 0 !important;
    }

    body.rd-cat .content .selection-auto__content__items__text {
        text-align: left;
    }

    body.rd-cat .content .selection-auto__content__items__title {
        font-size: 20px;
    }

    body.rd-cat .content .selection-auto__content__items__price span {
        font-size: 22px !important;
    }

    body.rd-cat .content .cont_image {
        margin-bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.rd *,
    body.rd *:before,
    body.rd *:after {
        transition: none !important;
    }
}

/* ---------- Brand page blocks (texts: pages/service/tenant/<site>/brand-blocks.twig) ---------- */

body.rd .rd-bb {
    --rd-bb-ac2: color-mix(in srgb, var(--rd-ac) 72%, #fff);
    --rd-bb-tint: var(--rd-step-bg);
    --rd-bb-soft: color-mix(in srgb, var(--rd-br) 4%, #fff);
    --rd-bb-dark: linear-gradient(115deg, var(--rd-br) 0%, color-mix(in srgb, var(--rd-br) 88%, #000) 55%, color-mix(in srgb, var(--rd-br) 55%, var(--rd-fb)) 100%);
    font-family: var(--rd-f);
    color: var(--rd-ink);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-bb {
        --rd-bb-ac2: var(--rdx-ac-72-w);
        --rd-bb-soft: var(--rdx-br-4-w);
        --rd-bb-dark: linear-gradient(115deg, var(--rd-br) 0%, var(--rdx-br-88-k) 55%, var(--rdx-br-55-fb) 100%);
    }
}

body.rd .rd-bb :where(h2, h3, p, ul, ol, li, small, b, em) {
    margin: 0;
    padding: 0;
    letter-spacing: 0;
}

@supports not (inset: 0) {
    .rd-bb h2,
    .rd-bb h3,
    .rd-bb p,
    .rd-bb ul,
    .rd-bb ol,
    .rd-bb li,
    .rd-bb small,
    .rd-bb b,
    .rd-bb em {
        margin: 0;
        padding: 0;
        letter-spacing: 0;
    }
}

body.rd .rd-bb :where(ul, ol) {
    list-style: none;
}

@supports not (inset: 0) {
    .rd-bb ul,
    .rd-bb ol {
        list-style: none;
    }
}

body.rd .rd-bb li {
    line-height: inherit;
}

body.rd .rd-bb ol > li:before {
    content: none;
    display: none;
}

body.rd .rd-bb a {
    color: inherit;
    text-decoration: none;
}

body.rd .rd-bb i {
    font-style: normal;
}

body.rd .rd-bb-sec {
    margin-top: 80px;
}

body.rd .rd-bb-head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 56px;
    align-items: end;
    margin-bottom: 40px;
}

body.rd .rd-bb-eb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rd-br);
}

body.rd .rd-bb-eb:before {
    content: "";
    width: 24px;
    height: 3px;
    border-radius: 2px;
    background: var(--rd-ac);
}

body.rd .rd-bb .rd-bb-h2 {
    margin-top: 16px;
    font-size: 44px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--rd-ink);
}

body.rd .rd-bb-h2 span {
    display: block;
}

/* Accent words of H1–H3: a thin line under the words, letters keep the heading colour. */
body.rd .rd-bb-mk,
body.rd .rd-hero__t em,
body.rd .rd-pg-cta__t h2 em,
body.rd .rd-pg-stp__hd h2 em {
    font-style: normal;
    text-decoration: underline;
    text-decoration-color: var(--rd-ac);
    text-decoration-thickness: 3px;
    text-underline-offset: .22em;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip: none;
}

body.rd h3 .rd-bb-mk {
    text-decoration-thickness: 2px;
}

/* On the blue background the line is lighter. */
body.rd .rd-hero__t em,
body.rd .rd-pg-cta__t h2 em,
body.rd .rd-pg-stp__hd h2 em {
    color: inherit;
    text-decoration-color: var(--rd-bb-ac2);
}

@media (max-width: 860px) {
    body.rd .rd-bb-mk,
    body.rd .rd-hero__t em,
    body.rd .rd-pg-cta__t h2 em,
    body.rd .rd-pg-stp__hd h2 em {
        text-decoration-thickness: 2px;
    }
}

body.rd .rd-bb .rd-bb-lead {
    max-width: 480px;
    font-size: 18px;
    line-height: 1.55;
    color: var(--rd-mut);
}

body.rd .rd-bb-node {
    position: relative;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    flex: none;
    color: var(--rd-br);
}

body.rd .rd-bb-node__hex {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    fill: #fff;
    stroke: var(--rd-br);
    stroke-width: 2;
    stroke-linejoin: round;
}

body.rd .rd-bb-node .rd-i {
    position: relative;
    width: 28px;
    height: 28px;
}

body.rd .rd-bb-node b {
    position: relative;
    font-size: 23px;
    line-height: 1;
    font-weight: 800;
}

body.rd .rd-bb-node--tint .rd-bb-node__hex {
    fill: var(--rd-bb-tint);
    stroke: none;
}

body.rd .rd-bb-node--dark {
    color: #fff;
}

body.rd .rd-bb-node--dark .rd-bb-node__hex {
    fill: rgba(255, 255, 255, .1);
    stroke: var(--rd-bb-ac2);
}

body.rd .rd-bb-node--fin {
    color: var(--rd-aci);
}

body.rd .rd-bb-node--fin .rd-bb-node__hex {
    fill: var(--rd-ac);
    stroke: #fff;
    stroke-width: 2.6;
}

body.rd .rd-bb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 60px;
    padding: 8px 10px 8px 26px;
    border-radius: 999px;
    background: var(--rd-ac);
    color: var(--rd-aci) !important;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    transition: background-color .2s;
}

body.rd .rd-bb-btn:hover {
    background: var(--rd-ac-hover);
}

body.rd .rd-bb-btn i {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: none;
    border-radius: 50%;
    background: var(--rd-aci);
    color: #fff;
}

/* Japan has white text on the accent, so the circle is white too and needs an accent icon. */
body.rd-japan .rd-bb-btn i {
    color: var(--rd-ac);
}

/* Rating and figures: sits in the content column next to the left menu. */

body.rd .rd-bb-bn {
    margin: 72px 0 88px;
    container: rd-bb-bn / inline-size;
}

body.rd .ar + .rd-bb-bn {
    margin-top: 48px;
}

@media (max-width: 820px) {
    body.rd .rd-bb-bn {
        margin-bottom: 56px;
    }
}

body.rd .rd-bb-bn__in {
    position: relative;
    display: grid;
    grid-template-columns: 372px minmax(0, 1fr);
    min-height: 240px;
    border-radius: 28px;
    color: #fff;
    background: var(--rd-bb-dark);
}

body.rd .rd-bb-bn__in--norate {
    grid-template-columns: minmax(0, 1fr);
}

body.rd .rd-bb-bn__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    background: radial-gradient(560px 280px at 92% -12%, rgba(255, 255, 255, .17), transparent 70%);
}

body.rd .rd-bb-bn__bg svg {
    position: absolute;
    right: -30px;
    top: -40px;
    width: 560px;
    height: 320px;
    fill: none;
    stroke: rgba(255, 255, 255, .13);
    stroke-width: 1.6;
}

body.rd .rd-bb-bn__rate {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    margin: -30px 0 -30px 28px;
    padding: 24px 24px 22px;
    border-radius: 26px;
    background: #fff;
    color: var(--rd-ink);
    box-shadow: 0 30px 60px rgba(6, 22, 56, .32), 0 2px 6px rgba(6, 22, 56, .14);
}

body.rd .rd-bb-bn__src {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.rd .rd-bb-bn__slot {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: none;
    border-radius: 14px;
    background: var(--rd-bb-tint);
    color: var(--rd-br);
}

body.rd .rd-bb-bn__slot .rd-i {
    width: 24px;
    height: 24px;
}

body.rd .rd-bb-bn__src b {
    display: block;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
}

body.rd .rd-bb-bn__src small {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.3;
    color: var(--rd-mut);
}

/* Map platforms: logo, name, stars and score; one to three plates. */
body.rd .rd-bb-bn__pl {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    margin: 16px 0;
    padding: 0;
    list-style: none;
}

body.rd .rd-bb-bn__p {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "lg nm sc" "lg st sc";
    column-gap: 12px;
    row-gap: 3px;
    align-items: center;
    margin: 0;
    padding: 9px 16px 9px 10px;
    border-radius: 16px;
    background: var(--rd-bb-soft);
}

body.rd .rd-bb-bn__lg {
    grid-area: lg;
    display: block;
    width: 38px;
    height: 38px;
    font-style: normal;
}

body.rd .rd-bb-bn__lg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.rd .rd-bb-bn__lg b {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--rd-bb-tint);
    color: var(--rd-br);
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
}

body.rd .rd-bb-bn__nm {
    grid-area: nm;
    align-self: end;
    font-size: 14.5px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--rd-ink);
}

body.rd .rd-bb-bn__p strong {
    grid-area: sc;
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--rd-ink);
}

/* Stars: each one is filled by its own share of --rate (e.g. 4.8), set once on .rd-bb-bn__st. */
body.rd .rd-bb-bn__st {
    grid-area: st;
    align-self: start;
    display: flex;
    gap: 2px;
    font-style: normal;
}

body.rd .rd-bb-bn__s {
    --f: clamp(0, calc(var(--rate) - var(--i)), 1);
    position: relative;
    display: block;
    flex: none;
    width: 14px;
    height: 14px;
}

body.rd .rd-bb-bn__s:nth-child(1) { --i: 0; }
body.rd .rd-bb-bn__s:nth-child(2) { --i: 1; }
body.rd .rd-bb-bn__s:nth-child(3) { --i: 2; }
body.rd .rd-bb-bn__s:nth-child(4) { --i: 3; }
body.rd .rd-bb-bn__s:nth-child(5) { --i: 4; }

body.rd .rd-bb-bn__s svg {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    fill: #D5DCE9;
    stroke: none;
}

body.rd .rd-bb-bn__s svg + svg {
    fill: #F5A000;
    clip-path: inset(0 calc(100% - (1.11% + var(--f) * 97.78%)) 0 0);
}

body.rd .rd-bb-bn__more {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rd-br) !important;
}

body.rd .rd-bb-bn__more i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rd-br);
    color: #fff;
    transition: transform .2s;
}

body.rd .rd-bb-bn__more:hover i {
    transform: translateX(3px);
}

body.rd .rd-bb-bn__more .rd-i {
    width: 16px;
    height: 16px;
}

body.rd .rd-bb-bn__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: center;
    align-items: center;
    padding: 36px 24px 36px 0;
}

body.rd .rd-bb-bn__list li {
    container-type: inline-size;
    padding: 0 24px;
    border-left: 1px dashed rgba(255, 255, 255, .3);
}

body.rd .rd-bb-bn__list li:first-child {
    border-left: 0;
    padding-left: 36px;
}

body.rd .rd-bb-bn__list b {
    display: block;
    margin-top: 14px;
    font-size: 40px;
    font-size: clamp(24px, 21cqi, 46px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.035em;
    white-space: nowrap;
    color: #fff;
}

@supports not (width: 1cqi) {
    body.rd .rd-bb-bn__list b {
        font-size: clamp(24px, min(21vw, 39.9px), 46px);
    }
}

body.rd .rd-bb-bn__list b small {
    margin-right: .2em;
    font-size: .46em;
    font-weight: 700;
    letter-spacing: 0;
    color: rgba(255, 255, 255, .82);
}

body.rd .rd-bb-bn__bar {
    display: block;
    width: 34px;
    height: 4px;
    margin: 12px 0 10px;
    border-radius: 2px;
    background: var(--rd-ac);
}

body.rd .rd-bb-bn__list p {
    font-size: 15px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .86);
}

/* Tablet: the rating card on top of the band, every platform in one line, the figures in three columns below. */
@container rd-bb-bn (max-width: 820px) {
    body.rd .rd-bb-bn__in {
        display: block;
        padding-bottom: 4px;
    }

    body.rd .rd-bb-bn__rate {
        margin: -28px 24px -8px;
        padding: 22px 24px;
    }

    body.rd .rd-bb-bn__pl {
        flex: none;
        justify-content: flex-start;
        margin: 18px 0;
    }

    body.rd .rd-bb-bn__p {
        grid-template-columns: 38px minmax(0, 170px) minmax(0, 1fr) auto;
        grid-template-areas: "lg nm st sc";
        column-gap: 14px;
        padding: 10px 24px 10px 12px;
    }

    body.rd .rd-bb-bn__nm,
    body.rd .rd-bb-bn__st {
        align-self: center;
    }

    body.rd .rd-bb-bn__list {
        padding: 20px 0 28px;
    }

    body.rd .rd-bb-bn__list li:first-child {
        padding-left: 36px;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 868px) {
        body.rd .rd-bb-bn__in {
            display: block;
            padding-bottom: 4px;
        }

        body.rd .rd-bb-bn__rate {
            margin: -28px 24px -8px;
            padding: 22px 24px;
        }

        body.rd .rd-bb-bn__pl {
            flex: none;
            justify-content: flex-start;
            margin: 18px 0;
        }

        body.rd .rd-bb-bn__p {
            grid-template-columns: 38px minmax(0, 170px) minmax(0, 1fr) auto;
            grid-template-areas: "lg nm st sc";
            column-gap: 14px;
            padding: 10px 24px 10px 12px;
        }

        body.rd .rd-bb-bn__nm,
        body.rd .rd-bb-bn__st {
            align-self: center;
        }

        body.rd .rd-bb-bn__list {
            padding: 20px 0 28px;
        }

        body.rd .rd-bb-bn__list li:first-child {
            padding-left: 36px;
        }
    }
}

@supports not (container-type: inline-size) {
    @media (min-width: 869px) and (max-width: 1251px) {
        div.selection-auto__content .rd-bb-bn__in {
            display: block;
            padding-bottom: 4px;
        }

        div.selection-auto__content .rd-bb-bn__rate {
            margin: -28px 24px -8px;
            padding: 22px 24px;
        }

        div.selection-auto__content .rd-bb-bn__pl {
            flex: none;
            justify-content: flex-start;
            margin: 18px 0;
        }

        div.selection-auto__content .rd-bb-bn__p {
            grid-template-columns: 38px minmax(0, 170px) minmax(0, 1fr) auto;
            grid-template-areas: "lg nm st sc";
            column-gap: 14px;
            padding: 10px 24px 10px 12px;
        }

        div.selection-auto__content .rd-bb-bn__nm,
        div.selection-auto__content .rd-bb-bn__st {
            align-self: center;
        }

        div.selection-auto__content .rd-bb-bn__list {
            padding: 20px 0 28px;
        }

        div.selection-auto__content .rd-bb-bn__list li:first-child {
            padding-left: 36px;
        }
    }
}

/* Phone: everything in one column; every figure has its tile on the left, the number and the text on the right. */
@container rd-bb-bn (max-width: 560px) {
    body.rd .rd-bb-bn__in {
        border-radius: 26px;
        padding-bottom: 0;
    }

    body.rd .rd-bb-bn__bg svg {
        opacity: .7;
    }

    body.rd .rd-bb-bn__rate {
        margin: -26px 14px -6px;
        padding: 20px 18px 18px;
        border-radius: 22px;
    }

    body.rd .rd-bb-bn__pl {
        margin: 16px 0;
    }

    body.rd .rd-bb-bn__p {
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas: "lg nm sc" "lg st sc";
        column-gap: 12px;
        padding: 9px 16px 9px 10px;
    }

    body.rd .rd-bb-bn__nm {
        align-self: end;
    }

    body.rd .rd-bb-bn__st {
        align-self: start;
    }

    body.rd .rd-bb-bn__list {
        display: block;
        padding: 0 22px 8px;
    }

    body.rd .rd-bb-bn__in--norate .rd-bb-bn__list {
        padding-top: 6px;
    }

    body.rd .rd-bb-bn__list li,
    body.rd .rd-bb-bn__list li:first-child {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        grid-template-areas: "hx b" "hx bar" "hx t";
        column-gap: 16px;
        align-items: center;
        padding: 20px 0;
        border: 0;
    }

    body.rd .rd-bb-bn__list li + li {
        border-top: 1px dashed rgba(255, 255, 255, .3);
    }

    body.rd .rd-bb-bn__list .rd-bb-node {
        grid-area: hx;
        align-self: start;
        width: 52px;
        height: 52px;
    }

    body.rd .rd-bb-bn__list b {
        grid-area: b;
        margin: 0;
        font-size: 36px;
    }

    body.rd .rd-bb-bn__bar {
        grid-area: bar;
        margin: 9px 0 7px;
    }

    body.rd .rd-bb-bn__list p {
        grid-area: t;
        font-size: 15px;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 592px), (min-width: 601px) and (max-width: 608px) {
        body.rd .rd-bb-bn__in {
            border-radius: 26px;
            padding-bottom: 0;
        }

        body.rd .rd-bb-bn__bg svg {
            opacity: .7;
        }

        body.rd .rd-bb-bn__rate {
            margin: -26px 14px -6px;
            padding: 20px 18px 18px;
            border-radius: 22px;
        }

        body.rd .rd-bb-bn__pl {
            margin: 16px 0;
        }

        body.rd .rd-bb-bn__p {
            grid-template-columns: auto minmax(0, 1fr) auto;
            grid-template-areas: "lg nm sc" "lg st sc";
            column-gap: 12px;
            padding: 9px 16px 9px 10px;
        }

        body.rd .rd-bb-bn__nm {
            align-self: end;
        }

        body.rd .rd-bb-bn__st {
            align-self: start;
        }

        body.rd .rd-bb-bn__list {
            display: block;
            padding: 0 22px 8px;
        }

        body.rd .rd-bb-bn__in--norate .rd-bb-bn__list {
            padding-top: 6px;
        }

        body.rd .rd-bb-bn__list li,
        body.rd .rd-bb-bn__list li:first-child {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            grid-template-areas: "hx b" "hx bar" "hx t";
            column-gap: 16px;
            align-items: center;
            padding: 20px 0;
            border: 0;
        }

        body.rd .rd-bb-bn__list li + li {
            border-top: 1px dashed rgba(255, 255, 255, .3);
        }

        body.rd .rd-bb-bn__list .rd-bb-node {
            grid-area: hx;
            align-self: start;
            width: 52px;
            height: 52px;
        }

        body.rd .rd-bb-bn__list b {
            grid-area: b;
            margin: 0;
            font-size: 36px;
        }

        body.rd .rd-bb-bn__bar {
            grid-area: bar;
            margin: 9px 0 7px;
        }

        body.rd .rd-bb-bn__list p {
            grid-area: t;
            font-size: 15px;
        }
    }
}

@supports not (container-type: inline-size) {
    @media (min-width: 841px) and (max-width: 848px) {
        div.selection-auto__content .rd-bb-bn__in {
            border-radius: 26px;
            padding-bottom: 0;
        }

        div.selection-auto__content .rd-bb-bn__bg svg {
            opacity: .7;
        }

        div.selection-auto__content .rd-bb-bn__rate {
            margin: -26px 14px -6px;
            padding: 20px 18px 18px;
            border-radius: 22px;
        }

        div.selection-auto__content .rd-bb-bn__pl {
            margin: 16px 0;
        }

        div.selection-auto__content .rd-bb-bn__p {
            grid-template-columns: auto minmax(0, 1fr) auto;
            grid-template-areas: "lg nm sc" "lg st sc";
            column-gap: 12px;
            padding: 9px 16px 9px 10px;
        }

        div.selection-auto__content .rd-bb-bn__nm {
            align-self: end;
        }

        div.selection-auto__content .rd-bb-bn__st {
            align-self: start;
        }

        div.selection-auto__content .rd-bb-bn__list {
            display: block;
            padding: 0 22px 8px;
        }

        div.selection-auto__content .rd-bb-bn__in--norate .rd-bb-bn__list {
            padding-top: 6px;
        }

        div.selection-auto__content .rd-bb-bn__list li,
        div.selection-auto__content .rd-bb-bn__list li:first-child {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            grid-template-areas: "hx b" "hx bar" "hx t";
            column-gap: 16px;
            align-items: center;
            padding: 20px 0;
            border: 0;
        }

        div.selection-auto__content .rd-bb-bn__list li + li {
            border-top: 1px dashed rgba(255, 255, 255, .3);
        }

        div.selection-auto__content .rd-bb-bn__list .rd-bb-node {
            grid-area: hx;
            align-self: start;
            width: 52px;
            height: 52px;
        }

        div.selection-auto__content .rd-bb-bn__list b {
            grid-area: b;
            margin: 0;
            font-size: 36px;
        }

        div.selection-auto__content .rd-bb-bn__bar {
            grid-area: bar;
            margin: 9px 0 7px;
        }

        div.selection-auto__content .rd-bb-bn__list p {
            grid-area: t;
            font-size: 15px;
        }
    }
}

@container rd-bb-bn (max-width: 359px) {
    body.rd .rd-bb-bn__rate {
        margin: -26px 10px -6px;
        padding: 18px 14px 16px;
    }

    body.rd .rd-bb-bn__p {
        column-gap: 10px;
        padding: 8px 12px 8px 8px;
    }

    body.rd .rd-bb-bn__p strong {
        font-size: 24px;
    }

    body.rd .rd-bb-bn__src {
        gap: 12px;
    }

    body.rd .rd-bb-bn__slot {
        width: 44px;
        height: 44px;
    }

    body.rd .rd-bb-bn__list {
        padding: 0 18px 6px;
    }

    body.rd .rd-bb-bn__list li,
    body.rd .rd-bb-bn__list li:first-child {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 14px;
    }

    body.rd .rd-bb-bn__list .rd-bb-node {
        width: 44px;
        height: 44px;
    }

    body.rd .rd-bb-bn__list b {
        font-size: 32px;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 391px) {
        body.rd .rd-bb-bn__rate {
            margin: -26px 10px -6px;
            padding: 18px 14px 16px;
        }

        body.rd .rd-bb-bn__p {
            column-gap: 10px;
            padding: 8px 12px 8px 8px;
        }

        body.rd .rd-bb-bn__p strong {
            font-size: 24px;
        }

        body.rd .rd-bb-bn__src {
            gap: 12px;
        }

        body.rd .rd-bb-bn__slot {
            width: 44px;
            height: 44px;
        }

        body.rd .rd-bb-bn__list {
            padding: 0 18px 6px;
        }

        body.rd .rd-bb-bn__list li,
        body.rd .rd-bb-bn__list li:first-child {
            grid-template-columns: 44px minmax(0, 1fr);
            column-gap: 14px;
        }

        body.rd .rd-bb-bn__list .rd-bb-node {
            width: 44px;
            height: 44px;
        }

        body.rd .rd-bb-bn__list b {
            font-size: 32px;
        }
    }
}

/* Common faults */

body.rd .rd-bb-sm__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

body.rd .rd-bb-sm__card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 26px 26px 24px;
    border: 1px solid var(--rd-ln);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 16px 34px rgba(13, 27, 54, .06);
    transition: transform .2s, box-shadow .2s;
}

body.rd .rd-bb-sm__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 24px 48px rgba(13, 27, 54, .13);
}

body.rd .rd-bb-sm__top {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.rd .rd-bb .rd-bb-sm__sys {
    font-size: 12.5px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--rd-mut);
}

body.rd .rd-bb-sm__no {
    margin-left: auto;
    font-size: 15px;
    font-weight: 800;
    color: #9BA9C4;
    font-variant-numeric: tabular-nums;
}

body.rd .rd-bb-sm__pulse {
    display: block;
    width: 100%;
    height: 36px;
    margin: 12px 0;
    overflow: visible;
    fill: none;
    stroke: color-mix(in srgb, var(--rd-br) 20%, #fff);
    stroke-width: 2;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-bb-sm__pulse {
        stroke: var(--rdx-br-20-w);
    }
}

body.rd .rd-bb-sm__pulse .rd-bb-sm__hi {
    stroke: var(--rd-br);
    stroke-width: 2.4;
}

body.rd .rd-bb-sm__pulse circle {
    fill: var(--rd-ac);
    stroke: #fff;
    stroke-width: 3;
}

body.rd .rd-bb .rd-bb-sm__card h3 {
    min-height: 54px;
    font-size: 22px;
    line-height: 1.22;
    font-weight: 800;
    letter-spacing: -.015em;
    color: var(--rd-ink);
}

body.rd .rd-bb .rd-bb-sm__why {
    margin: 14px 0 20px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rd-mut);
}

body.rd .rd-bb-sm__why small,
body.rd .rd-bb-sm__foot small {
    display: block;
    margin-bottom: 4px;
    font-size: 11.5px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--rd-br);
}

body.rd .rd-bb-sm__foot {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px dashed color-mix(in srgb, var(--rd-br) 28%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-bb-sm__foot {
        border-top: 1px dashed var(--rdx-br-28-w);
    }
}

body.rd .rd-bb-sm__foot > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.rd .rd-bb-sm__foot small {
    color: var(--rd-mut);
}

body.rd .rd-bb-sm__foot b {
    display: block;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 800;
}

body.rd .rd-bb-sm__foot em {
    display: inline-block;
    margin: 8px 0 0 -4px;
    padding: 0 4px;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    background: linear-gradient(transparent 58%, var(--rd-bb-ac2) 58%, var(--rd-bb-ac2) 90%, transparent 90%);
}

body.rd .rd-bb-sm__go {
    align-self: flex-end;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: none;
    border-radius: 50%;
    background: var(--rd-br);
    color: #fff !important;
    transition: background-color .2s, color .2s;
}

body.rd .rd-bb-sm__go:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    border-radius: 26px;
}

body.rd .rd-bb-sm__card:hover .rd-bb-sm__go {
    background: var(--rd-ac);
    color: var(--rd-aci) !important;
}

body.rd .rd-bb-cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-top: 28px;
    padding: 32px 40px;
    overflow: hidden;
    border-radius: 28px;
    color: #fff;
    background: var(--rd-bb-dark);
}

body.rd .rd-bb-cta__deco {
    position: absolute;
    right: -50px;
    top: -150px;
    width: 320px;
    height: 260px;
    fill: none;
    stroke: rgba(255, 255, 255, .12);
    stroke-width: 1.6;
}

body.rd .rd-bb-cta__tx {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
}

body.rd .rd-bb .rd-bb-cta h3 {
    font-size: 28px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #fff;
}

body.rd .rd-bb .rd-bb-cta p {
    max-width: 560px;
    margin-top: 8px;
    font-size: 16.5px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .86);
}

body.rd .rd-bb-cta__acts {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
}

body.rd .rd-bb-cta__call {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
    color: #fff !important;
}

body.rd .rd-bb-cta__call small {
    display: block;
    margin-top: 2px;
    font-size: 13.5px;
    font-weight: 500;
    color: rgba(255, 255, 255, .8);
}

/* Why us */

body.rd .rd-bb-wy {
    padding: 48px;
    border-radius: 36px;
    background: var(--rd-bb-soft);
}

body.rd .rd-bb-wy__grid {
    display: grid;
    grid-template-columns: 440px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
}

body.rd .rd-bb-wy__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 42px 38px 38px;
    border-radius: 32px;
    color: #fff;
    background: linear-gradient(165deg, var(--rd-br) 0%, color-mix(in srgb, var(--rd-br) 85%, #000) 52%, var(--rd-fb) 100%);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-bb-wy__panel {
        background: linear-gradient(165deg, var(--rd-br) 0%, var(--rdx-br-85-k) 52%, var(--rd-fb) 100%);
    }
}

body.rd .rd-bb-wy__deco {
    position: absolute;
    right: -70px;
    top: -60px;
    width: 380px;
    height: 380px;
    fill: none;
    stroke: rgba(255, 255, 255, .1);
    stroke-width: 1.6;
}

body.rd .rd-bb-wy__panel .rd-bb-eb {
    position: relative;
    color: var(--rd-bb-ac2);
}

body.rd .rd-bb .rd-bb-wy__panel .rd-bb-h2 {
    position: relative;
    margin-top: 18px;
    font-size: 42px;
    color: #fff;
}

body.rd .rd-bb .rd-bb-wy__lead {
    position: relative;
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.55;
    color: rgba(255, 255, 255, .85);
}

body.rd .rd-bb-wy__big {
    position: relative;
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px dashed rgba(255, 255, 255, .34);
}

body.rd .rd-bb-wy__big small {
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rd-bb-ac2);
}

body.rd .rd-bb-wy__big b {
    display: block;
    margin-top: 6px;
    font-size: 132px;
    line-height: .95;
    font-weight: 800;
    letter-spacing: -.05em;
    color: var(--rd-bb-ac2);
}

body.rd .rd-bb .rd-bb-wy__big p {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .9);
}

body.rd .rd-bb-wy__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
}

body.rd .rd-bb-wy__card {
    display: flex;
    flex-direction: column;
    padding: 24px 28px 26px;
    border: 1px solid var(--rd-ln);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(13, 27, 54, .05);
    transition: transform .2s, box-shadow .2s;
}

body.rd .rd-bb-wy__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 44px rgba(13, 27, 54, .11);
}

body.rd .rd-bb .rd-bb-wy__card h3 {
    margin-top: 18px;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.015em;
    color: var(--rd-ink);
}

body.rd .rd-bb .rd-bb-wy__card p {
    margin-top: 8px;
    font-size: 15.5px;
    line-height: 1.5;
    color: var(--rd-mut);
}

body.rd .rd-bb-wy__cta {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    padding: 28px 28px 26px;
    border-radius: 26px;
    background: var(--rd-ac);
    color: var(--rd-aci) !important;
    transition: transform .2s, box-shadow .2s;
}

body.rd .rd-bb-wy__cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 44px color-mix(in srgb, var(--rd-ac) 35%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-bb-wy__cta:hover {
        box-shadow: 0 22px 44px var(--rdx-ac-35-t);
    }
}

body.rd .rd-bb-wy__cta small {
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .72;
}

body.rd .rd-bb-wy__cta-title {
    display: block;
    margin-top: 10px;
    font-size: 24px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.02em;
}

body.rd .rd-bb-wy__cta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

body.rd .rd-bb-wy__cta-row b {
    font-size: 20px;
    font-weight: 800;
    white-space: nowrap;
}

body.rd .rd-bb-wy__cta-row i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: none;
    border-radius: 50%;
    background: var(--rd-aci);
    color: #fff;
}

/* Repair process */

body.rd .rd-bb-rp__road {
    position: relative;
    height: 156px;
}

body.rd .rd-bb-rp__svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 156px;
    fill: none;
    overflow: visible;
}

body.rd .rd-bb-rp__nodes {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

body.rd .rd-bb-rp__node {
    position: relative;
}

body.rd .rd-bb-rp__node .rd-bb-node {
    position: absolute;
    left: 50%;
    top: 68px;
    margin-left: -28px;
    filter: drop-shadow(0 8px 12px rgba(10, 61, 145, .22));
}

body.rd .rd-bb-rp__node--up .rd-bb-node {
    top: 32px;
}

body.rd .rd-bb-rp__mark {
    position: absolute;
    top: 76px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 2px solid var(--rd-br);
    border-radius: 50%;
    background: #fff;
    color: var(--rd-br);
    box-shadow: 0 6px 12px rgba(10, 61, 145, .16);
}

body.rd .rd-bb-rp__mark--start {
    left: 26px;
}

body.rd .rd-bb-rp__mark--end {
    right: 26px;
}

body.rd .rd-bb-rp__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

body.rd .rd-bb-rp__step {
    display: flex;
    flex-direction: column;
    padding: 22px 20px 24px;
    border: 1px solid var(--rd-ln);
    border-radius: 24px;
    background: var(--rd-bb-soft);
}

body.rd .rd-bb-rp__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body.rd .rd-bb-rp__ic {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: #fff;
    color: var(--rd-br);
    box-shadow: 0 2px 8px rgba(13, 27, 54, .09);
}

body.rd .rd-bb-rp__ic .rd-i {
    width: 24px;
    height: 24px;
}

body.rd .rd-bb-rp__n {
    display: none;
    font-size: 15px;
    font-weight: 800;
    color: #9BA9C4;
}

body.rd .rd-bb .rd-bb-rp__step h3 {
    margin-top: 16px;
    font-size: 19.5px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.015em;
    color: inherit;
}

body.rd .rd-bb .rd-bb-rp__step p {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rd-mut);
}

body.rd .rd-bb-rp__step--fin {
    border-color: var(--rd-br);
    background: var(--rd-br);
    color: #fff;
}

body.rd .rd-bb-rp__step--fin .rd-bb-rp__ic {
    background: rgba(255, 255, 255, .14);
    color: #fff;
    box-shadow: none;
}

body.rd .rd-bb .rd-bb-rp__step--fin p {
    color: rgba(255, 255, 255, .86);
}

body.rd .rd-bb-rp__step--fin .rd-bb-rp__n {
    color: rgba(255, 255, 255, .7);
}

@media (max-width: 1200px) {
    body.rd .rd-bb-head {
        gap: 32px;
    }

    body.rd .rd-bb .rd-bb-h2 {
        font-size: 38px;
    }

    body.rd .rd-bb-sm__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.rd .rd-bb-wy__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.rd .rd-bb-wy__big {
        margin-top: 26px;
    }

    body.rd .rd-bb-wy__big b {
        font-size: 96px;
    }

    body.rd .rd-bb-rp__road {
        display: none;
    }

    body.rd .rd-bb-rp__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.rd .rd-bb-rp__n {
        display: block;
    }

    body.rd .rd-bb-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    body.rd .rd-bb-cta__acts {
        flex-wrap: wrap;
    }
}

@media (max-width: 820px) {
    body.rd .rd-bb-sec {
        margin-top: 56px;
    }

    body.rd .rd-bb-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        margin-bottom: 24px;
    }

    body.rd .rd-bb .rd-bb-h2,
    body.rd .rd-bb .rd-bb-wy__panel .rd-bb-h2 {
        font-size: 28px;
    }

    body.rd .rd-bb .rd-bb-lead {
        font-size: 16px;
    }

    body.rd .rd-bb-sm__grid,
    body.rd .rd-bb-wy__cards,
    body.rd .rd-bb-rp__steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    body.rd .rd-bb-wy__cards {
        grid-auto-rows: auto;
    }

    body.rd .rd-bb-sm__card,
    body.rd .rd-bb-wy__card {
        padding: 20px;
        border-radius: 22px;
    }

    body.rd .rd-bb .rd-bb-sm__card h3 {
        min-height: 0;
        font-size: 20px;
    }

    body.rd .rd-bb-cta {
        padding: 26px 20px;
        border-radius: 24px;
    }

    body.rd .rd-bb .rd-bb-cta h3 {
        font-size: 22px;
    }

    body.rd .rd-bb-cta__tx {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    body.rd .rd-bb-cta__acts {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    body.rd .rd-bb-btn {
        min-height: 56px;
        padding-left: 22px;
        justify-content: space-between;
        text-align: left;
    }

    body.rd .rd-bb-wy {
        padding: 16px;
        border-radius: 28px;
    }

    body.rd .rd-bb-wy__panel {
        padding: 30px 24px 26px;
        border-radius: 24px;
    }

    body.rd .rd-bb-wy__big b {
        font-size: 80px;
    }

    body.rd .rd-bb-wy__cta {
        padding: 22px 20px;
        border-radius: 22px;
    }
}

/* ---------- Compact header (redesign/cbar.twig) ----------
   Slides in once nav#top_menu leaves the screen; the mobile header (<=925px) keeps its own fixed bar. */

body.rd .rd-cb,
body.rd .rd-cb__scrim {
    display: none;
}

@media (min-width: 926px) {
    html:has(> body.rd) {
        scroll-padding-top: 84px;
    }

    html.rdh-9f0b01 {
        scroll-padding-top: 84px;
    }

    body.rd {
        --rd-cb-h: 68px;
    }

    body.rd .content .rd-reviews--widget .product_title.rd-count {
        top: calc(24px + var(--rd-cb-h));
    }

    body.rd .rd-cb {
        --rd-cb-e: cubic-bezier(.22, .72, .2, 1);
        --rd-cb-pop: 0 34px 70px -22px rgba(11, 30, 69, .5), 0 8px 22px -8px rgba(11, 30, 69, .14);
        position: fixed;
        z-index: 100;
        left: 0;
        right: 0;
        top: 0;
        display: block;
        height: var(--rd-cb-h);
        background: var(--rd-sf);
        box-shadow: 0 1px 0 var(--rd-ln), 0 18px 36px -18px rgba(13, 27, 54, .34);
        color: var(--rd-ink);
        font: 400 16px/1.5 var(--rd-f);
        transform: translateY(-100%);
        visibility: hidden;
        transition: transform .3s var(--rd-cb-e), visibility 0s .3s;
    }

    body.rd.rd-cb-on .rd-cb {
        transform: none;
        visibility: visible;
        transition: transform .3s var(--rd-cb-e), visibility 0s;
    }

    body.rd .rd-cb__w {
        position: relative;
        display: flex;
        align-items: center;
        gap: 20px;
        max-width: var(--rd-w);
        height: 100%;
        margin: 0 auto;
        padding: 0 var(--rd-pad);
        box-sizing: border-box;
    }

    body.rd .rd-cb .rd-i {
        width: 20px;
        height: 20px;
    }

    body.rd .rd-cb :where(button) {
        margin: 0;
        border: 0;
        font-family: var(--rd-f);
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    @supports not (inset: 0) {
        .rd-cb button {
            margin: 0;
            border: 0;
            font-family: var(--rd-f);
            text-align: left;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
    }

    body.rd .rd-cb__logo {
        display: flex;
        flex: none;
    }

    body.rd .rd-cb__logo img {
        display: block;
        width: auto;
        height: 40px;
        max-width: 180px;
        object-fit: contain;
    }

    body.rd .rd-cb__tl {
        display: grid;
        place-items: center;
        flex: none;
        width: 38px;
        height: 38px;
        border-radius: 28%;
        background: var(--rd-bb-tint);
        color: var(--rd-br);
    }

    body.rd .rd-cb__tl--ac {
        background: var(--rd-ac);
        color: var(--rd-aci);
    }

    /* Menu button and drop-down */

    body.rd .rd-cb__mn {
        display: flex;
        align-items: center;
        flex: none;
        gap: 10px;
        height: 44px;
        padding: 0 18px 0 16px;
        border-radius: 14px;
        background: var(--rd-br);
        color: #fff;
        font-size: 16px;
        line-height: 1;
        font-weight: 700;
        white-space: nowrap;
        transition: background-color .2s;
    }

    body.rd .rd-cb__mn:hover {
        background: color-mix(in srgb, var(--rd-br) 86%, #fff);
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd .rd-cb__mn:hover {
            background: var(--rdx-br-86-w);
        }
    }

    body.rd .rd-cb.is-mo .rd-cb__mn {
        background: var(--rd-fb);
    }

    body.rd .rd-cb__bars {
        position: relative;
        display: block;
        flex: none;
        width: 20px;
        height: 14px;
    }

    body.rd .rd-cb__bars i {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 2.4px;
        border-radius: 2px;
        background: currentColor;
        transition: transform .28s var(--rd-cb-e), opacity .2s, top .28s var(--rd-cb-e);
    }

    body.rd .rd-cb__bars i:nth-child(2) {
        top: 5.8px;
    }

    body.rd .rd-cb__bars i:nth-child(3) {
        top: 11.6px;
    }

    body.rd .rd-cb.is-mo .rd-cb__bars i:nth-child(1) {
        top: 5.8px;
        transform: rotate(45deg);
    }

    body.rd .rd-cb.is-mo .rd-cb__bars i:nth-child(2) {
        opacity: 0;
    }

    body.rd .rd-cb.is-mo .rd-cb__bars i:nth-child(3) {
        top: 5.8px;
        transform: rotate(-45deg);
    }

    body.rd .rd-cb__mp,
    body.rd .rd-cb__pop {
        position: absolute;
        z-index: 1;
        top: calc(100% + 12px);
        max-height: calc(100vh - var(--rd-cb-h) - 32px);
        overflow-y: auto;
        overscroll-behavior: contain;
        box-sizing: border-box;
        border: 1px solid var(--rd-ln);
        border-radius: 26px;
        background: var(--rd-sf);
        box-shadow: var(--rd-cb-pop);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px) scale(.985);
        transition: opacity .2s, transform .28s var(--rd-cb-e), visibility 0s .28s;
    }

    body.rd .rd-cb.is-mo .rd-cb__mp,
    body.rd .rd-cb.is-po .rd-cb__pop {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .2s, transform .28s var(--rd-cb-e), visibility 0s;
    }

    body.rd .rd-cb__mp {
        left: var(--rd-pad);
        width: 420px;
        padding: 10px;
        transform-origin: 10% 0;
    }

    body.rd .rd-cb__mi + .rd-cb__mi {
        margin-top: 2px;
    }

    body.rd .rd-cb__mh {
        display: flex;
        align-items: center;
        gap: 14px;
        width: 100%;
        min-height: 58px;
        padding: 10px 14px 10px 10px;
        box-sizing: border-box;
        border-radius: 18px;
        background: none;
        color: var(--rd-ink);
        font-size: 17px;
        line-height: 1.25;
        font-weight: 700;
        transition: background-color .15s;
    }

    body.rd .rd-cb__mh:hover,
    body.rd .rd-cb__mh[aria-expanded="true"] {
        background: var(--rd-bb-soft);
        color: var(--rd-ink);
    }

    body.rd .rd-cb__mh b {
        flex: 1;
        font-weight: 700;
    }

    body.rd .rd-cb__cv {
        display: grid;
        place-items: center;
        flex: none;
        width: 28px;
        height: 28px;
        color: color-mix(in srgb, var(--rd-mut) 70%, #fff);
        transition: transform .28s var(--rd-cb-e);
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd .rd-cb__cv {
            color: var(--rdx-mut-70-w);
        }
    }

    body.rd .rd-cb .rd-cb__cv .rd-i {
        width: 18px;
        height: 18px;
    }

    body.rd .rd-cb__mh[aria-expanded="true"] .rd-cb__cv {
        transform: rotate(180deg);
        color: var(--rd-br);
    }

    body.rd .rd-cb__sb {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 14px 14px 62px;
    }

    body.rd .rd-cb__sb[hidden] {
        display: none;
    }

    body.rd .rd-cb__sb a {
        display: inline-flex;
        align-items: center;
        height: 38px;
        padding: 0 16px;
        border-radius: 12px;
        background: var(--rd-bb-tint);
        color: var(--rd-br);
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
        transition: background-color .15s;
    }

    body.rd .rd-cb__sb a:hover {
        background: color-mix(in srgb, var(--rd-br) 14%, #fff);
        color: var(--rd-br);
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd .rd-cb__sb a:hover {
            background: var(--rdx-br-14-w);
        }
    }

    /* One address: phone, address and hours */

    body.rd .rd-cb__ct {
        display: flex;
        align-items: center;
        gap: 16px;
        min-width: 0;
        margin-left: auto;
        padding: 6px 20px 6px 8px;
        border: 1px solid var(--rd-ln);
        border-radius: 18px;
        background: var(--rd-bb-soft);
    }

    body.rd .rd-cb__ph {
        display: flex;
        align-items: center;
        flex: none;
        gap: 12px;
        color: var(--rd-ink);
    }

    body.rd .rd-cb__ph b {
        font-size: 22px;
        line-height: 1.1;
        font-weight: 800;
        letter-spacing: -.02em;
        white-space: nowrap;
        transition: color .15s;
    }

    body.rd .rd-cb__ph:hover b {
        color: var(--rd-br);
    }

    body.rd .rd-cb__ad {
        display: grid;
        gap: 5px;
        min-width: 0;
        padding-left: 16px;
        border-left: 1px solid var(--rd-ln);
    }

    body.rd .rd-cb__ct > .rd-cb__ad:first-child {
        padding-left: 4px;
        border-left: 0;
    }

    body.rd .rd-cb__ad p {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        font-size: 13.5px;
        line-height: 1.3;
        font-weight: 600;
        white-space: nowrap;
    }

    body.rd .rd-cb__ad p span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.rd .rd-cb__ad p.rd-cb__hr {
        font-weight: 500;
        color: var(--rd-mut);
    }

    body.rd .rd-cb .rd-cb__ad .rd-i {
        width: 16px;
        height: 16px;
        color: var(--rd-ic);
    }

    /* Several addresses: "Позвонить" and the address list */

    body.rd .rd-cb__cb {
        display: flex;
        align-items: center;
        flex: none;
        gap: 10px;
        height: 46px;
        margin-left: auto;
        padding: 0 14px 0 20px;
        border-radius: 16px;
        background: var(--rd-ac);
        color: var(--rd-aci);
        font-size: 16px;
        line-height: 1;
        font-weight: 800;
        white-space: nowrap;
        box-shadow: 0 10px 20px -10px color-mix(in srgb, var(--rd-ac) 75%, transparent);
        transition: background-color .2s;
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd .rd-cb__cb {
            box-shadow: 0 10px 20px -10px var(--rdx-ac-75-t);
        }
    }

    body.rd .rd-cb__cb:hover {
        background: var(--rd-ac-hover);
    }

    body.rd .rd-cb__ci {
        display: grid;
        place-items: center;
    }

    body.rd .rd-cb__chv {
        display: grid;
        place-items: center;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: color-mix(in srgb, currentColor 12%, transparent);
        transition: transform .28s var(--rd-cb-e);
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd .rd-cb__chv {
            background: var(--rdx-aci-12-t);
        }
    }

    body.rd .rd-cb .rd-cb__chv .rd-i {
        width: 16px;
        height: 16px;
        stroke-width: 2.2;
    }

    body.rd .rd-cb.is-po .rd-cb__chv {
        transform: rotate(180deg);
    }

    body.rd .rd-cb__pop {
        right: var(--rd-pad);
        width: 480px;
        max-width: calc(100vw - 2 * var(--rd-pad));
        padding: 20px 18px 16px;
        transform-origin: 90% 0;
    }

    body.rd .rd-cb__pph {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0 4px;
    }

    body.rd .rd-cb__pph b {
        font-size: 20px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.02em;
    }

    body.rd .rd-cb__px {
        display: grid;
        place-items: center;
        flex: none;
        width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 12px;
        background: var(--rd-bb-soft);
        color: var(--rd-mut);
        transition: background-color .15s;
    }

    body.rd .rd-cb__px:hover {
        background: var(--rd-bb-tint);
        color: var(--rd-br);
    }

    body.rd .rd-cb .rd-cb__px .rd-i {
        width: 18px;
        height: 18px;
    }

    body.rd .rd-cb .rd-cb__pps {
        margin: 4px 4px 14px;
        font-size: 14px;
        line-height: 1.4;
        color: var(--rd-mut);
    }

    body.rd .rd-cb__prs {
        display: grid;
        gap: 8px;
    }

    body.rd .rd-cb__pr {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 12px;
        border: 1px solid var(--rd-ln);
        border-radius: 18px;
        background: var(--rd-sf);
        color: var(--rd-ink);
        transition: border-color .15s, background-color .15s, box-shadow .15s;
    }

    body.rd a.rd-cb__pr:hover {
        border-color: color-mix(in srgb, var(--rd-br) 28%, #fff);
        background: var(--rd-bb-soft);
        box-shadow: 0 8px 20px -14px color-mix(in srgb, var(--rd-br) 50%, transparent);
    }

    @supports not (color: color-mix(in srgb, red 50%, blue)) {
        body.rd a.rd-cb__pr:hover {
            border-color: var(--rdx-br-28-w);
            box-shadow: 0 8px 20px -14px var(--rdx-br-50-t);
        }
    }

    body.rd .rd-cb__pr .rd-cb__tl {
        width: 42px;
        height: 42px;
    }

    body.rd .rd-cb__tx {
        display: grid;
        flex: 1;
        gap: 2px;
        min-width: 0;
    }

    body.rd .rd-cb__tx b {
        font-size: 15.5px;
        line-height: 1.3;
        font-weight: 700;
    }

    body.rd .rd-cb__tx em {
        font-size: 15px;
        line-height: 1.3;
        font-style: normal;
        font-weight: 800;
        color: var(--rd-br);
        white-space: nowrap;
    }

    body.rd .rd-cb__tx small {
        font-size: 13px;
        line-height: 1.35;
        color: var(--rd-mut);
    }

    body.rd .rd-cb__go {
        display: grid;
        place-items: center;
        flex: none;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--rd-ac);
        color: var(--rd-aci);
        transition: transform .15s;
    }

    body.rd a.rd-cb__pr:hover .rd-cb__go {
        transform: scale(1.06);
    }

    body.rd .rd-cb .rd-cb__ppf {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: 14px 4px 0;
        font-size: 13px;
        line-height: 1.45;
        color: var(--rd-mut);
    }

    body.rd .rd-cb .rd-cb__ppf .rd-i {
        width: 16px;
        height: 16px;
        margin-top: 1px;
        color: var(--rd-ic);
    }

    body.rd .rd-cb__scrim {
        position: fixed;
        z-index: 99;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        inset: 0;
        display: block;
        background: rgba(11, 30, 69, .42);
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s, visibility 0s .25s;
    }

    body.rd.rd-cb-dim .rd-cb__scrim {
        opacity: 1;
        visibility: visible;
        transition: opacity .25s, visibility 0s;
    }
}

@media (min-width: 926px) and (max-width: 1100px) {
    body.rd .rd-cb__ph + .rd-cb__ad {
        display: none;
    }

    body.rd .rd-cb__ct:has(.rd-cb__ph) {
        padding-right: 8px;
    }

    body.rd .rd-cb__ct.rdh-92062f {
        padding-right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.rd .rd-cb,
    body.rd .rd-cb *,
    body.rd .rd-cb__scrim {
        transition: none !important;
    }
}

@media print {
    body.rd .rd-cb,
    body.rd .rd-cb__scrim {
        display: none !important;
    }
}

/* ---------- Header of a site with more than four addresses (redesign/header_many.twig) ---------- */

@media (min-width: 926px) {
    body.rd header .rd-hm {
        --rd-cb-e: cubic-bezier(.22, .72, .2, 1);
        --rd-cb-pop: 0 34px 70px -22px rgba(11, 30, 69, .5), 0 8px 22px -8px rgba(11, 30, 69, .14);
        position: relative;
        align-items: center;
        justify-content: flex-end;
        gap: 22px;
    }

    body.rd header .rd-hm__inf {
        min-width: 0;
        text-align: right;
    }

    body.rd header .rd-hm__inf b {
        display: block;
        font-size: 17px;
        line-height: 1.3;
        font-weight: 800;
        color: var(--rd-ink);
        white-space: nowrap;
    }

    body.rd header .rd-hm__inf span {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        margin-top: 4px;
        font-size: 14px;
        line-height: 1.35;
        color: var(--rd-mut);
    }

    body.rd header .rd-hm__inf .rd-i {
        width: 15px;
        height: 15px;
        color: var(--rd-ic);
    }

    body.rd .rd-hm .rd-cb__cb {
        margin-left: 0;
    }

    body.rd .rd-hm .rd-cb__chv .rd-i {
        width: 16px;
        height: 16px;
        stroke-width: 2.2;
    }

    body.rd .rd-hm .rd-cb__pop {
        top: calc(100% + 12px);
        right: 0;
        z-index: 40;
        max-height: min(70vh, 640px);
        text-align: left;
    }

    body.rd header .rd-hm .rd-cb__prs,
    body.rd header .rd-hm .rd-cb__prs > li {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.rd .rd-hm.is-po .rd-cb__pop {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .2s, transform .28s var(--rd-cb-e), visibility 0s;
    }

    body.rd .rd-hm.is-po .rd-cb__chv {
        transform: rotate(180deg);
    }

    body.rd .rd-hm .rd-cb__px .rd-i {
        width: 18px;
        height: 18px;
    }

    body.rd .rd-hm .rd-cb__pps {
        margin: 4px 4px 14px;
        font-size: 14px;
        line-height: 1.4;
        color: var(--rd-mut);
    }

    body.rd .rd-hm .rd-cb__ppf {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: 14px 4px 0;
        font-size: 13px;
        line-height: 1.45;
        color: var(--rd-mut);
    }

    body.rd .rd-hm .rd-cb__ppf .rd-i {
        width: 16px;
        height: 16px;
        margin-top: 1px;
        color: var(--rd-ic);
    }
}
/* ===== Page articles (page_text): parts of the article of a category, service or car page ===== */
body.rd .rd-ptx {
    clear: both;
    max-width: 920px;
    margin: 24px 0 32px;
    font-family: var(--rd-f);
    font-size: 16px;
    line-height: 1.65;
    color: var(--rd-ink);
}

body.rd .rd-ptx > :first-child {
    margin-top: 0;
}

body.rd .rd-ptx > :last-child {
    margin-bottom: 0;
}

body.rd .rd-ptx p {
    margin: 0 0 14px;
    padding: 0;
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: normal;
    color: var(--rd-ink);
}

body.rd .rd-ptx h2 {
    margin: 32px 0 14px;
    padding: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    color: var(--rd-ink);
}

body.rd .rd-ptx h3 {
    margin: 24px 0 10px;
    padding: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--rd-ink);
}

body.rd .rd-ptx ul,
body.rd .rd-ptx ol {
    margin: 0 0 14px;
    padding: 0 0 0 22px;
}

body.rd .rd-ptx ul {
    list-style: disc;
}

body.rd .rd-ptx ol {
    list-style: decimal;
}

body.rd .rd-ptx li {
    margin: 0 0 6px;
    padding: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--rd-ink);
    list-style: inherit;
}

body.rd .rd-ptx a {
    letter-spacing: normal;
    color: var(--rd-br);
    text-decoration: underline;
    text-underline-offset: .15em;
}

body.rd .rd-ptx a:hover {
    color: var(--rd-br-dark);
}

body.rd .rd-ptx a[href^="tel:"] {
    white-space: nowrap;
}

body.rd .rd-ptx table {
    width: 100%;
    margin: 0 0 16px;
    border-collapse: collapse;
    font-size: 15px;
}

body.rd .rd-ptx th,
body.rd .rd-ptx td {
    padding: 10px 12px;
    border: 1px solid var(--rd-ln);
    text-align: left;
    vertical-align: top;
}

body.rd .rd-ptx th {
    font-weight: 700;
    background: var(--rd-sf2);
}

body.rd .rd-ptx img {
    max-width: 100%;
    height: auto;
    border-radius: var(--rd-r-sm);
}

body.rd .rd-ptx blockquote {
    margin: 0 0 14px;
    padding: 12px 16px;
    border-left: 4px solid var(--rd-ac);
    background: var(--rd-sf);
}

@media (max-width: 860px) {
    body.rd .rd-ptx {
        margin: 18px 0 24px;
        font-size: 15px;
    }

    body.rd .rd-ptx p,
    body.rd .rd-ptx li {
        font-size: 15px;
    }

    body.rd .rd-ptx h2 {
        margin-top: 24px;
        font-size: 22px;
    }

    body.rd .rd-ptx h3 {
        font-size: 18px;
    }

    body.rd .rd-ptx table {
        display: block;
        overflow-x: auto;
    }
}

/* «Наверх»: a round grey button at the bottom right; the phone version has none */
body.rd #back-top {
    position: fixed;
    right: 28px;
    left: auto;
    bottom: 28px;
    z-index: 800;
    margin: 0;
    padding: 0;
}

body.rd #back-top a {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #7B8494;
    box-shadow: 0 12px 24px -10px rgba(13, 27, 54, .5), 0 2px 6px rgba(13, 27, 54, .14);
    transition: background-color .2s, transform .2s;
}

body.rd #back-top a:hover,
body.rd #back-top a:focus-visible {
    background: #5B6372;
    transform: translateY(-3px);
}

body.rd #back-top span,
body.rd #back-top a:hover span {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5.5 11.5 12 5l6.5 6.5'/%3E%3C/svg%3E") center / 24px no-repeat;
    transition: none;
}

@media (max-width: 925px) {
    body.rd #back-top {
        display: none !important;
    }
}

/* Phone header (redesign/mhead.twig): up to 925 px it takes the place of the old .head_mobile, on a computer it is
   hidden. The phones are green on every site, the rest takes the colours of the site's theme. */
body.rd .rd-mh-part {
    --cn-br: var(--rd-br);
    --cn-br2: var(--rd-fb);
    --cn-ac2: color-mix(in srgb, var(--rd-ac) 72%, #fff);
    --cn-tint: var(--rd-step-bg);
    --cn-tint2: color-mix(in srgb, var(--rd-br) 14%, #fff);
    --cn-bg: color-mix(in srgb, var(--rd-br) 4%, #fff);
    --cn-line: var(--rd-ln);
    --cn-ink: var(--rd-ink);
    --cn-mut: var(--rd-mut);
    --cn-g1: #10A050;
    --cn-g2: #0B8A40;
    --cn-gt: #0B7A3A;
    --cn-gglow: rgba(11, 138, 64, .55);
    --cn-vline: #C9D5EA;
    --cn-e: cubic-bezier(.22, .72, .2, 1);
    box-sizing: border-box;
    font-family: var(--rd-f);
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--cn-ink);
    -webkit-font-smoothing: antialiased;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
    body.rd .rd-mh-part {
        --cn-ac2: var(--rdx-ac-72-w);
        --cn-tint2: var(--rdx-br-14-w);
        --cn-bg: var(--rdx-br-4-w);
    }
}

body.rd .rd-mh-part *,
body.rd .rd-mh-part *::before,
body.rd .rd-mh-part *::after {
    box-sizing: border-box;
}

.rd-mh-part :where(p, ul, li) {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

@supports not (inset: 0) {
    .rd-mh-part p,
    .rd-mh-part ul,
    .rd-mh-part li {
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: inherit;
        line-height: inherit;
        letter-spacing: inherit;
    }
}

.rd-mh-part :where(a) {
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

@supports not (inset: 0) {
    .rd-mh-part a {
        color: inherit;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }
}

.rd-mh-part :where(button) {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

@supports not (inset: 0) {
    .rd-mh-part button {
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        font: inherit;
        color: inherit;
        text-align: left;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
}

body.rd .rd-mh-part a:focus-visible,
body.rd .rd-mh-part button:focus-visible {
    outline: 3px solid var(--cn-ac2);
    outline-offset: 2px;
}

@media (min-width: 926px) {
    body.rd .rd-mh-part {
        display: none !important;
    }
}

@media (max-width: 925px) {
    body.rd.rd-mh .head_mobile {
        display: none !important;
    }

    html:has(> body.rd.rd-mh) {
        scroll-padding-top: 76px;
    }

    html.rdh-41d53f.rdh-41d53f {
        scroll-padding-top: 76px;
    }
}

/* the slogan strip: scrolls away with the page */
body.rd .cn-sbar {
    background: var(--cn-br2);
    color: #fff;
}

body.rd .cn-sbar-in {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 9px 16px 10px;
}

body.rd .cn-sbar-in::before {
    content: '';
    flex: none;
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 50%;
    background: var(--cn-ac2);
}

body.rd .cn-sbar p {
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .005em;
    color: rgba(255, 255, 255, .84);
}

body.rd .cn-sbar p b {
    font-weight: 800;
    color: #fff;
}

/* the row with the logo and the menu: stays at the top */
body.rd .cn-hd {
    position: sticky;
    top: 0;
    z-index: 950;
    background: #fff;
    box-shadow: 0 1px 0 var(--cn-line);
    transition: box-shadow .3s;
}

body.rd .cn-hd.is-stuck,
body.rd .cn-hd.is-mo {
    box-shadow: 0 1px 0 var(--cn-line), 0 18px 36px -18px rgba(13, 27, 54, .34);
}

body.rd .cn-hd-in {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 64px;
    padding: 0 16px;
}

body.rd .cn-logo {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 100%;
}

body.rd .cn-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 44px;
    object-fit: contain;
    object-position: left center;
}

body.rd.rd-france .cn-logo img {
    height: 54px;
}

body.rd .cn-mn {
    display: grid;
    place-items: center;
    flex: none;
    width: 46px;
    height: 46px;
    margin-left: auto;
    border-radius: 14px;
    background: var(--cn-tint);
    color: var(--cn-br);
    text-align: center;
    transition: background .2s, color .2s;
}

body.rd .cn-hd.is-mo .cn-mn {
    background: var(--cn-br2);
    color: #fff;
}

body.rd .cn-bars {
    position: relative;
    display: block;
    width: 20px;
    height: 14px;
}

body.rd .cn-bars i {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2.4px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .28s var(--cn-e), opacity .2s, top .28s var(--cn-e);
}

body.rd .cn-bars i:nth-child(2) {
    top: 5.8px;
}

body.rd .cn-bars i:nth-child(3) {
    top: 11.6px;
}

body.rd .cn-hd.is-mo .cn-bars i:nth-child(1) {
    top: 5.8px;
    transform: rotate(45deg);
}

body.rd .cn-hd.is-mo .cn-bars i:nth-child(2) {
    opacity: 0;
}

body.rd .cn-hd.is-mo .cn-bars i:nth-child(3) {
    top: 5.8px;
    transform: rotate(-45deg);
}

/* the menu: drops down under the row */
body.rd .cn-mp {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 12px 14px;
    border-radius: 0 0 28px 28px;
    border-bottom: 1px solid var(--cn-line);
    background: #fff;
    box-shadow: 0 34px 70px -22px rgba(11, 30, 69, .5), 0 8px 22px -8px rgba(11, 30, 69, .14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(.985);
    transform-origin: 50% 0;
    transition: opacity .2s, transform .28s var(--cn-e), visibility 0s .28s;
}

body.rd .cn-hd.is-mo .cn-mp {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .2s, transform .28s var(--cn-e), visibility 0s;
}

body.rd .cn-ml li + li {
    margin-top: 2px;
}

body.rd .cn-mh {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 56px;
    padding: 10px 14px 10px 10px;
    border-radius: 18px;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--cn-ink);
    transition: background .15s;
}

body.rd .cn-mh:hover,
body.rd .cn-mh[aria-expanded="true"] {
    background: var(--cn-bg);
}

body.rd .cn-mh b {
    flex: 1;
    min-width: 0;
    font-weight: 700;
}

body.rd .cn-tl {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 28%;
    background: var(--cn-tint);
    color: var(--cn-br);
}

body.rd .cn-cv {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: none;
    color: #8A99B4;
    transition: transform .28s var(--cn-e);
}

body.rd .cn-cv .rd-i {
    width: 18px;
    height: 18px;
}

body.rd .cn-mh[aria-expanded="true"] .cn-cv {
    transform: rotate(180deg);
    color: var(--cn-br);
}

body.rd .cn-sb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 14px 14px 60px;
}

body.rd .cn-sb[hidden] {
    display: none;
}

body.rd .cn-sb a {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 16px;
    border-radius: 12px;
    background: var(--cn-tint);
    color: var(--cn-br);
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    transition: background .15s;
}

body.rd .cn-sb a:hover {
    background: var(--cn-tint2);
}

body.rd .cn-mrt {
    display: flex;
    gap: 8px;
    margin: 12px 4px 0;
    padding-top: 14px;
    border-top: 1px solid var(--cn-line);
}

body.rd .cn-rt {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 48px;
    padding: 0 6px;
    border-radius: 14px;
    border: 1px solid var(--cn-line);
    background: var(--cn-bg);
    color: var(--cn-ink);
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.01em;
    white-space: nowrap;
}

body.rd .cn-rt img {
    display: block;
    width: 26px;
    height: 26px;
    flex: none;
    object-fit: contain;
}

body.rd .cn-rt b {
    font-weight: 800;
}

body.rd .cn-sr {
    display: block;
    width: 18px;
    height: 18px;
    flex: none;
}

body.rd .cn-ms {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    z-index: 940;
    background: rgba(11, 30, 69, .42);
    opacity: 0;
    visibility: hidden;
    touch-action: none;
    transition: opacity .25s, visibility 0s .25s;
}

body.rd .cn-ms.is-open {
    opacity: 1;
    visibility: visible;
    transition: opacity .25s, visibility 0s;
}

/* «Открыто сейчас» (shown by the [data-rd-open] script) */
body.rd .cn-ok {
    display: inline-flex;
    align-items: center;
    flex: none;
    gap: 8px;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: #E3F5EA;
    color: #14703A;
    font-size: 12.5px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

body.rd .cn-ok::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1FAA59;
    box-shadow: 0 0 0 3px rgba(31, 170, 89, .22);
}

body.rd .cn-ok[hidden] {
    display: none;
}

body.rd .cn-slab .cn-ok {
    background: #fff;
    color: #0B6B33;
}

body.rd .cn-slab .cn-ok[hidden] {
    display: inline-flex;
    visibility: hidden;
}

/* the phones of the first screen */
body.rd .cn-top {
    container-type: inline-size;
    padding: 10px 16px 18px;
    background: #fff;
}

body.rd .cn-top-in {
    max-width: 560px;
    margin: 0 auto;
}

@keyframes cn-ring {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, .5);
    }

    70% {
        box-shadow: 0 0 0 13px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

body.rd .cn-slab {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 18px 18px 20px;
    border-radius: 26px;
    background: linear-gradient(160deg, var(--cn-g1) 0%, var(--cn-g2) 100%);
    color: #fff;
    box-shadow: 0 20px 36px -18px var(--cn-gglow);
    transition: transform .15s, box-shadow .15s;
}

body.rd .cn-slab:hover,
body.rd .cn-slab:focus,
body.rd .cn-slab:visited {
    color: #fff;
}

body.rd .cn-slab:active {
    transform: scale(.985);
}

body.rd .cn-deco {
    position: absolute;
    right: -26px;
    top: -34px;
    width: 230px;
    height: 190px;
    fill: none;
    stroke: rgba(255, 255, 255, .17);
    stroke-width: 1.6;
}

body.rd .cn-slab-top {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 10px;
}

body.rd .cn-slab-lb i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .22);
    animation: cn-ring 2.6s ease-out infinite;
}

body.rd .cn-slab-lb .rd-i {
    width: 18px;
    height: 18px;
}

body.rd .cn-slab-num {
    position: relative;
    display: block;
    margin-top: 16px;
    font-size: clamp(22px, calc(176cqw / var(--cn-nl, 16)), 41px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.03em;
    white-space: nowrap;
}

@supports not (width: 1cqi) {
    body.rd .cn-slab-num {
        font-size: clamp(22px, calc(176vw / var(--cn-nl, 16)), 41px);
    }
}

@supports not (width: clamp(1px, 1px, 1px)) {
    body.rd .cn-slab-num {
        font-size: 41px;
    }
}

body.rd .cn-slab-sub {
    position: relative;
    display: block;
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    color: rgba(255, 255, 255, .92);
}

body.rd .cn-addr1 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding: 12px;
    border-radius: 22px;
    border: 1px solid var(--cn-line);
    background: #fff;
}

body.rd .cn-addr1-a {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    gap: 12px;
    color: var(--cn-ink);
}

body.rd .cn-pin {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: none;
    border-radius: 28%;
    background: var(--cn-tint);
    color: var(--cn-br);
}

body.rd .cn-pin .rd-i,
body.rd .cn-route .rd-i {
    width: 21px;
    height: 21px;
}

body.rd .cn-adr {
    flex: 1;
    min-width: 0;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--cn-ink);
    overflow-wrap: anywhere;
}

body.rd .cn-route {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: none;
    border-radius: 14px;
    background: var(--cn-tint);
    color: var(--cn-br);
    transition: background .15s;
}

body.rd .cn-route:hover {
    background: var(--cn-tint2);
}

body.rd .cn-net-t {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 6px;
    margin: 0 4px 10px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: var(--cn-mut);
}

body.rd .cn-net-t b {
    font-weight: 800;
    color: var(--cn-ink);
}

body.rd .cn-rows {
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid var(--cn-line);
    background: #fff;
    box-shadow: 0 1px 2px rgba(13, 27, 54, .04), 0 18px 34px -20px rgba(13, 27, 54, .22);
}

body.rd .cn-row {
    position: relative;
}

body.rd .cn-row + .cn-row,
body.rd .cn-more {
    border-top: 1px solid var(--cn-line);
}

body.rd .cn-row::before {
    content: '';
    position: absolute;
    left: 32px;
    top: 0;
    bottom: 0;
    width: 2px;
    margin-left: -1px;
    background: var(--cn-vline);
    pointer-events: none;
}

body.rd .cn-row:first-child::before {
    top: 50%;
}

body.rd .cn-row:last-child::before,
body.rd .cn-row:nth-last-child(2):has(+ .cn-more)::before {
    bottom: 50%;
}

body.rd .cn-row:last-child::before,
body.rd .cn-row:nth-last-child(2).rdh-1de8ca::before {
    bottom: 50%;
}

body.rd .cn-rowa {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 78px;
    padding: 12px 14px 12px 16px;
    color: var(--cn-ink);
    transition: background .15s;
}

body.rd a.cn-rowa:hover,
body.rd a.cn-rowa:active {
    background: var(--cn-bg);
}

body.rd .cn-rowa:active .cn-go {
    transform: scale(.93);
}

body.rd .cn-no {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 50%;
    border: 2px solid var(--cn-br);
    background: #fff;
    color: var(--cn-br);
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
}

body.rd .cn-tx {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 2px;
}

body.rd .cn-st {
    font-size: 15.5px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--cn-ink);
    overflow-wrap: anywhere;
}

body.rd .cn-ph {
    font-size: 19px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--cn-gt);
    white-space: nowrap;
}

body.rd .cn-hr {
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 500;
    color: var(--cn-mut);
}

body.rd .cn-go {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    flex: none;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--cn-g1), var(--cn-g2));
    color: #fff;
    box-shadow: 0 10px 18px -10px var(--cn-gglow);
    transition: transform .15s;
}

body.rd .cn-go .rd-i {
    width: 24px;
    height: 24px;
}

body.rd .cn-net--c .cn-rowa {
    min-height: 64px;
    gap: 12px;
    padding: 9px 12px 9px 14px;
}

body.rd .cn-net--c .cn-row::before {
    left: 30px;
}

body.rd .cn-net--c .cn-go {
    width: 42px;
    height: 42px;
}

body.rd .cn-net--c .cn-go .rd-i {
    width: 20px;
    height: 20px;
}

body.rd .cn-net--c .cn-ph {
    font-size: 17px;
}

body.rd .cn-net--c .cn-st {
    font-size: 15px;
}

body.rd .cn-more button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 58px;
    padding: 0 16px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;
    color: var(--cn-br);
}

body.rd .cn-more .rd-i {
    transition: transform .2s;
}

body.rd .cn-more button:hover .rd-i {
    transform: translateX(3px);
}

body.rd .cn-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--cn-line);
    background: var(--cn-bg);
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--cn-mut);
}

/* «Позвонить»: comes up once the phones of the first screen have gone under the header */
body.rd .cn-float {
    position: fixed;
    z-index: 900;
    left: 50%;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, calc(100% + 40px));
    transition: transform .38s var(--cn-e), opacity .25s, visibility 0s .38s;
}

body.rd .cn-float.is-on {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    transition: transform .38s var(--cn-e), opacity .25s, visibility 0s;
}

body.rd .cn-fab {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 64px;
    padding: 9px 24px 9px 9px;
    border-radius: 32px;
    background: linear-gradient(180deg, var(--cn-g1), var(--cn-g2));
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 18px 32px -12px var(--cn-gglow), 0 4px 12px rgba(7, 40, 20, .2);
    transition: transform .15s;
}

body.rd .cn-fab:hover,
body.rd .cn-fab:focus,
body.rd .cn-fab:visited {
    color: #fff;
}

body.rd .cn-fab:active {
    transform: scale(.97);
}

body.rd .cn-fab-i {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .22);
    animation: cn-ring 2.6s ease-out infinite;
}

body.rd .cn-fab-i .rd-i {
    width: 22px;
    height: 22px;
}

body.rd .cn-fab-t {
    display: grid;
    gap: 2px;
}

body.rd .cn-fab-t b {
    font-size: 18px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.01em;
}

body.rd .cn-fab-t small {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    color: rgba(255, 255, 255, .93);
}

/* the sheet with all the addresses */
body.rd .cn-scrim {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    inset: 0;
    z-index: 1000;
    background: rgba(11, 30, 69, .5);
    opacity: 0;
    visibility: hidden;
    touch-action: none;
    transition: opacity .25s, visibility 0s .25s;
}

body.rd .cn-scrim.is-open {
    opacity: 1;
    visibility: visible;
    transition: opacity .25s, visibility 0s;
}

body.rd .cn-dlg {
    position: fixed;
    z-index: 1001;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    max-width: 560px;
    max-height: min(88vh, 780px);
    margin: 0 auto;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-radius: 30px 30px 0 0;
    background: #fff;
    color: var(--cn-ink);
    box-shadow: 0 -24px 60px -20px rgba(11, 30, 69, .45);
    visibility: hidden;
    transform: translateY(105%);
    transition: transform .34s var(--cn-e), visibility 0s .34s;
}

body.rd .cn-dlg.is-open {
    visibility: visible;
    transform: none;
    transition: transform .34s var(--cn-e), visibility 0s;
}

body.rd .cn-dlg.is-drag {
    transition: none;
}

body.rd .cn-grab {
    display: block;
    flex: none;
    width: 44px;
    height: 5px;
    margin: 10px auto 4px;
    border-radius: 3px;
    background: #D5DCEA;
    touch-action: none;
}

body.rd .cn-dh {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex: none;
    gap: 12px;
    padding: 10px 18px 0 20px;
    touch-action: none;
}

body.rd .cn-dh p {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--cn-mut);
}

body.rd .cn-dh p.cn-dh-t {
    margin-top: 0;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--cn-ink);
}

body.rd .cn-x {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: none;
    border-radius: 50%;
    background: var(--cn-bg);
    color: var(--cn-mut);
    transition: background .15s, color .15s;
}

body.rd .cn-x:hover {
    background: var(--cn-tint);
    color: var(--cn-br);
}

body.rd .cn-x .rd-i {
    width: 18px;
    height: 18px;
}

body.rd .cn-dl {
    display: grid;
    flex: 1 1 auto;
    align-content: start;
    gap: 10px;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 14px 16px 8px;
}

body.rd .cn-card {
    padding: 12px;
    border-radius: 22px;
    border: 1px solid var(--cn-line);
    background: #fff;
}

body.rd .cn-card-h {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

body.rd .cn-card-a {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 3px;
}

body.rd .cn-card-a b {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 800;
    color: var(--cn-ink);
    overflow-wrap: anywhere;
}

body.rd .cn-card-a span {
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
    color: var(--cn-mut);
}

body.rd .cn-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(180deg, var(--cn-g1), var(--cn-g2));
    color: #fff;
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.01em;
    white-space: nowrap;
    box-shadow: 0 12px 22px -12px var(--cn-gglow);
    transition: transform .15s, filter .15s;
}

body.rd .cn-call:hover,
body.rd .cn-call:focus,
body.rd .cn-call:visited {
    color: #fff;
}

body.rd .cn-call:active {
    transform: scale(.98);
}

body.rd .cn-call .rd-i {
    width: 22px;
    height: 22px;
}

body.rd .cn-df {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: none;
    gap: 6px 12px;
    padding: 10px 20px 16px;
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--cn-mut);
}

@media (max-width: 359px) {
    body.rd .cn-sbar-in {
        gap: 8px;
        padding: 8px 12px 9px;
    }

    body.rd .cn-sbar p {
        font-size: 12px;
        line-height: 1.38;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.rd .rd-mh-part,
    body.rd .rd-mh-part * {
        transition: none !important;
        animation: none !important;
    }
}

/* Browsers without aspect-ratio (Safari < 15, Chrome < 88): the same proportions from a padding. */
@supports not (aspect-ratio: 1) {
    body.rd-home .content .cont_image a.row,
    body.rd-inner .content .cont_image a.row {
        height: 0 !important;
        padding-top: 75%;
    }

    body.rd-home .content .cont_image a.row > img,
    body.rd-inner .content .cont_image a.row > img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.rd .rd-hero__ph::before {
        content: '';
        display: block;
        padding-top: 86.6025%;
    }
}
