.spgb-page {
    --txt: #191919;
    --red: #dd1f29;
    --blue: #004a8b;
    --white: #fff;
    --gray-bg: #f3f4f6;
    --gray-line: #d9dee5;
    --font-family: "Manrope", sans-serif;
    color: var(--txt);
    font-family: var(--font-family);
    overflow-x: hidden;
    margin-bottom: calc(48px + 52 * (100vw / 1920));
}

.spgb-page *,
.spgb-page *::before,
.spgb-page *::after {
    box-sizing: border-box;
}

.spgb-page img {
    max-width: 100%;
    height: auto;
    display: block;
}

.spgb-section-title {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--blue);
    letter-spacing: 0.02em;
}

.spgb-section-title--white {
    color: var(--white);
}

.spgb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: calc(44px + 8 * (100vw / 1920));
    padding: calc(14px + 10 * (100vw / 1920)) calc(24px + 22 * (100vw / 1920));
    border: 0;
    border-radius: 0;
    font-family: inherit;
    font-size: calc(16px + 6 * (100vw / 1920));
    font-weight: 400;
    letter-spacing: 0.06em;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.spgb-btn:hover {
    opacity: 0.92;
}

.spgb-btn--blue {
    background: var(--blue);
    color: var(--white);
}

.spgb-btn--red {
    background: var(--red);
    color: var(--white);
}

.spgb-btn--block {
    width: 100%;
}

.spgb-form-message {
    padding: calc(10px + 4 * (100vw / 1920)) calc(12px + 4 * (100vw / 1920));
    font-size: calc(13px + 2 * (100vw / 1920));
    line-height: 1.45;
    background: #fde8e8;
    color: #a11919;
}

.spgb-form-message--success {
    background: #e7f6ea;
    color: #1b6b2e;
}

.spgb-consult .spgb-form-message {
    background: rgba(255, 255, 255, 0.12);
    color: #ffd0d0;
}

.spgb-consult .spgb-form-message--success {
    background: rgba(255, 255, 255, 0.16);
    color: #d8ffe3;
}

/* Hero */
.spgb-hero__wrapper {
    background: var(--gray-bg);
    overflow: hidden;
}

.spgb-hero__content {
    position: relative;
    z-index: 2;
    padding: calc(20px + 50 * (100vw / 1920)) 0 calc(28px + 22 * (100vw / 1920)) calc(16px + 24 * (100vw / 1920));
}

.spgb-hero__shape {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background: var(--red);
}

.spgb-hero__shape--red-bottom {
    left: 0;
    bottom: calc(-120px - 100 * (100vw / 1920));
    width: 100%;
    height: calc(80px + 64 * (100vw / 1920));
    transform: skewY(-49deg);
    transform-origin: left bottom;
}

.spgb-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.20fr) minmax(0, 0.80fr);
    gap: calc(16px + 16 * (100vw / 1920));
    align-items: center;
}

.spgb-hero__title {
    margin: 0 0 calc(12px + 8 * (100vw / 1920));
    font-size: calc(22px + 30 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--blue);

}
.spgb-hero__title__red {
    color: var(--red);
}

.spgb-hero__subtitle {
    margin: 0 0 calc(16px + 12 * (100vw / 1920));
    max-width: calc(420px + 360 * (100vw / 1920));
    font-size: calc(16px + 8 * (100vw / 1920));
    line-height: 1.55;
    font-weight: 400;
    color: var(--txt);
}

.spgb-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: calc(10px + 10 * (100vw / 1920));
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    padding: 0;
    list-style: none;
}

.spgb-hero__tag {
    display: flex;
    align-items: center;
    gap: calc(6px + 4 * (100vw / 1920));
    min-height: calc(40px + 8 * (100vw / 1920));
    padding: calc(8px + 5 * (100vw / 1920)) calc(12px + 8 * (100vw / 1920));
    border: 1px solid var(--blue);
    border-radius: 60px;
    background: transparent;
    font-size: calc(12px + 6 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--blue);
}

.spgb-hero__tag-icon {
    flex: 0 0 15px;
    width: 15px;
    height: 12px;
}

.spgb-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: calc(10px + 6 * (100vw / 1920));
}

.spgb-hero__media {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    @media (max-width: 992px) {
        overflow: hidden;
    }
}

.spgb-hero__img {
    position: relative;
    z-index: 1;
    max-height: calc(280px + 180 * (100vw / 1920));
    width: 100%;
    object-fit: contain;
}

/* Battery */
.spgb-battery {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
    color: var(--white);
}

.spgb-battery__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(12px + 12 * (100vw / 1920));
    margin-bottom: calc(20px + 20 * (100vw / 1920));
}

.spgb-battery__wrapper {
    display: flex;
    align-items: center;
    gap: calc(24px + 46 * (100vw / 1920));
}

.spgb-battery__title {
    margin: 0;
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.spgb-battery__title-blue {
    color: var(--blue);
}

.spgb-battery__title-red {
    color: var(--red);
}

.spgb-battery__divider {
    position: relative;
    width: calc(100px + 90 * (100vw / 1920));
    height: calc(12px + 5 * (100vw / 1920));
}

.spgb-battery__divider svg {
    width: 100%;
    height: 100%;
}

.spgb-battery__subtitle {
    margin-bottom: 0;
    font-size: calc(14px + 8 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: right;
    color: var(--txt);
    font-family: "Manrope", sans-serif;
}

.spgb-battery__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(12px + 8 * (100vw / 1920));
}

.spgb-battery__step {
    min-width: 0;
    background: #f5f5f5;
    padding: calc(16px + 14 * (100vw / 1920)) calc(16px + 14 * (100vw / 1920)) calc(12px + 8 * (100vw / 1920));
}

.spgb-battery__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.spgb-battery__step--accent {
    background: var(--red);
}

.spgb-battery__media img {
    width: 100%;
    object-fit: contain;
}

.spgb-battery__tag {
    display: inline-block;
    margin: calc(10px + 8 * (100vw / 1920)) 0 calc(12px + 8 * (100vw / 1920));
    padding: calc(6px + 2 * (100vw / 1920)) calc(12px + 10 * (100vw / 1920));
    background: var(--red);
    color: var(--white);
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.06em;
    transform: skewX(-14deg);
}

.spgb-battery__tag span {
    display: inline-block;
    transform: skewX(14deg);
}

.spgb-battery__tag--inverse {
    background: var(--white);
    color: var(--red);
}

.spgb-battery__text {
    margin: 0;
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.45;
    color: var(--blue);
}

.spgb-battery__step--accent .spgb-battery__text {
    color: var(--white);
}

/* Problems */
.spgb-problems {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
    background: #023969;
    color: var(--white);
}

.spgb-problems__inner {
    display: flex;
    justify-content: space-between;
    gap: calc(24px + 24 * (100vw / 1920)) calc(32px + 32 * (100vw / 1920));
}

.spgb-problems__left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: calc(12px + 8 * (100vw / 1920));
    width: 50%;
    min-height: 100%;
}

.spgb-problems__right {
    width: 40%;
}

.spgb-problems__copy {
    margin-bottom: calc(24px + 26 * (100vw / 1920));
}

.spgb-problems__copy-row {
    display: flex;
    align-items: flex-start;
    gap: calc(12px + 12 * (100vw / 1920));
}

.spgb-problems__copy-row + .spgb-problems__copy-row {
    margin-top: calc(16px + 12 * (100vw / 1920));
}

.spgb-problems__copy-text {
    margin: 0;
    font-weight: 500;
    font-size: calc(18px + 12 * (100vw / 1920));
    line-height: 1.4;
}

.spgb-problems__copy-accent {
    color: #dd1f29;
}

.spgb-problems__title {
    margin: 0 0 calc(20px + 16 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-problems__note {
    display: flex;
    align-items: center;
    gap: calc(10px + 6 * (100vw / 1920));
    margin-bottom: calc(24px + 26 * (100vw / 1920));
}

.spgb-problems__note-icon {
    flex: 0 0 calc(48px + 32 * (100vw / 1920));
    width: calc(48px + 32 * (100vw / 1920));
    height: calc(48px + 32 * (100vw / 1920));
}

.spgb-problems__note-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.spgb-problems__note-text {
    margin: 0;
    font-size: calc(16px + 8 * (100vw / 1920));
    line-height: 120%;
    max-width: calc(280px + 238 * (100vw / 1920));
}

.spgb-problems__intro {
    margin: 0 0 calc(16px + 12 * (100vw / 1920));
    font-size: calc(15px + 7 * (100vw / 1920));
    line-height: 1.6;
    max-width: calc(360px + 340 * (100vw / 1920));
}

.spgb-problems__label {
    margin: 0 0 calc(12px + 8 * (100vw / 1920));
    font-size: calc(18px + 10 * (100vw / 1920));
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.spgb-problems__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.spgb-problems__item {
    display: flex;
    gap: calc(20px + 30 * (100vw / 1920));
    align-items: center;
    padding: calc(12px + 8 * (100vw / 1920)) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.spgb-problems__check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(20px + 16 * (100vw / 1920));
}

.spgb-problems__check-icon {
    display: block;
    flex: 0 0 calc(20px + 16 * (100vw / 1920));
    width: calc(20px + 16 * (100vw / 1920));
    height: calc(20px + 16 * (100vw / 1920));
}

.spgb-problems__thumb {
    width: calc(96px + 84 * (100vw / 1920));
    min-width: calc(96px + 84 * (100vw / 1920));
    height: calc(96px + 84 * (100vw / 1920));
    border-radius: 50%;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12);
}

.spgb-problems__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spgb-problems__text {
    margin: 0;
    font-size: calc(14px + 10 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.45;
    text-transform: uppercase;
}

/* Cert */
.spgb-cert {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
    color: var(--white);
}

.spgb-cert__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    margin-bottom: calc(20px + 20 * (100vw / 1920));
    gap: calc(16px + 24 * (100vw / 1920));
}

.spgb-cert__title {
    margin: 0;
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    max-width: calc(400px + 360 * (100vw / 1920));
}

.spgb-cert__title-blue {
    color: var(--blue);
}

.spgb-cert__title-red {
    color: var(--red);
}

.spgb-cert__intro {
    margin: 0;
    font-size: calc(15px + 7 * (100vw / 1920));
    line-height: 1.6;
    color: #8a8f98;
}

.spgb-cert__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(16px + 24 * (100vw / 1920));
    margin-bottom: calc(24px + 26 * (100vw / 1920));
}

.spgb-cert__item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(180px + 100 * (100vw / 1920));
    padding: calc(14px + 6 * (100vw / 1920));
    background: #f0f0f0;
    color: var(--txt);
}

.spgb-cert__num {
    display: block;
    font-size: calc(16px + 6 * (100vw / 1920));
    font-weight: 500;
    line-height: 1;
    color: var(--red);
}

.spgb-cert__num::before {
    content: "/";
}

.spgb-cert__text {
    margin: 0;
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.45;
}

.spgb-cert__summary {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: calc(32px + 58 * (100vw / 1920));
    margin: 0 auto;
}

.spgb-cert__summary-mark {
    flex: 0 0 auto;
}

.spgb-cert__summary-mark svg {
    width: calc(100px + 90 * (100vw / 1920));
    height: calc(12px + 5 * (100vw / 1920));
}

.spgb-cert__summary-text {
    max-width: calc(360px + 280 * (100vw / 1920));
    margin: 0;
    font-size: calc(15px + 7 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.5;
    text-transform: uppercase;
}

.spgb-cert__summary-muted {
    color: var(--txt);
}

.spgb-cert__summary-accent {
    color: var(--red);
}

/* Advantages */
.spgb-advantages {
    padding-bottom: calc(48px + 52 * (100vw / 1920));
}

.spgb-advantages__title {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-advantages__title-red {
    color: var(--red);
}

.spgb-advantages__title-blue {
    color: var(--blue);
}

.spgb-advantages__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.spgb-advantages__item {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: calc(12px + 8 * (100vw / 1920));
    align-items: center;
    padding: calc(20px + 20 * (100vw / 1920)) 0;
    border-bottom: 1px solid var(--blue);
}

.spgb-advantages__item:first-child {
    padding-top: 0;
}

.spgb-advantages__num {
    font-size: calc(16px + 6 * (100vw / 1920));
    font-weight: 500;
    line-height: 1;
    color: var(--red);
}

.spgb-advantages__num::before {
    content: "/";
}

.spgb-advantages__name {
    margin: 0;
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--blue);
}

.spgb-advantages__desc {
    margin: 0;
    font-size: calc(14px + 6 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.55;
    color: #8a8f98;
}

/* Grid mosaic */
.spgb-grid {
    padding-bottom: calc(48px + 52 * (100vw / 1920));
}

.spgb-grid__mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(16px + 24 * (100vw / 1920));
}

.spgb-grid__cell {
    min-height: calc(280px + 200 * (100vw / 1920));
    max-width: 100%;
}

.spgb-grid__cell--title,
.spgb-grid__cell--light,
.spgb-grid__cell--blue,
.spgb-grid__cell--red {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: calc(18px + 12 * (100vw / 1920)) calc(12px + 8 * (100vw / 1920)) calc(12px + 8 * (100vw / 1920));
}

.spgb-grid__title {
    margin: 0;
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-grid__title-red {
    display: block;
    color: var(--red);
}

.spgb-grid__title-blue {
    display: block;
    color: var(--blue);
}

.spgb-grid__cell--light {
    background: #f5f5f5;
}

.spgb-grid__cell--blue {
    background: var(--blue);
    color: var(--white);
}

.spgb-grid__cell--blue .spgb-grid__meter--light svg path {
    stroke: rgba(255, 255, 255, 0.6);
}

.spgb-grid__cell--red .spgb-grid__meter--pale svg path {
    stroke: rgba(255, 255, 255, 0.6);
}

.spgb-grid__cell--red {
    background: var(--red);
    color: var(--white);
}

.spgb-grid__label {
    margin: 0;
    font-size: calc(14px + 10 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.spgb-grid__cell--light .spgb-grid__label {
    color: var(--txt);
}

.spgb-grid__meter {
    display: block;
    margin-top: auto;
    width: calc(48px + 24 * (100vw / 1920));
    height: calc(48px + 24 * (100vw / 1920));
}

.spgb-grid__meter svg {
    display: block;
    width: 100%;
    height: 100%;
}

.spgb-grid__meter--blue {
    color: var(--blue);
}

.spgb-grid__meter--light {
    color: rgba(255, 255, 255, 0.72);
}

.spgb-grid__meter--pale {
    color: rgba(255, 255, 255, 0.45);
}

.spgb-grid__cell--photo {
    padding: 0;
    overflow: hidden;
}

.spgb-grid__cell--photo img {
    width: 100%;
    height: 100%;
    min-height: calc(180px + 100 * (100vw / 1920));
    object-fit: cover;
}

/* Compare */
.spgb-compare {
    padding-bottom: calc(48px + 52 * (100vw / 1920));
    background: var(--white);
}

.spgb-compare__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: calc(16px + 24 * (100vw / 1920));
    align-items: center;
    margin-bottom: calc(20px + 20 * (100vw / 1920));
}

.spgb-compare__title {
    margin: 0;
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-compare__title-blue {
    color: var(--blue);
}

.spgb-compare__title-red {
    color: var(--red);
}

.spgb-compare__subtitle {
    max-width: calc(220px + 140 * (100vw / 1920));
    font-size: calc(13px + 5 * (100vw / 1920));
    line-height: 1.6;
    color: #8a8f98;
}

.spgb-compare__table-wrap {
    overflow-x: auto;
    margin-bottom: calc(48px + 52 * (100vw / 1920));
}

.spgb-compare__table {
    width: 100%;
    min-width: 640px;
    table-layout: fixed;
    border-collapse: collapse;
    background: transparent;
}

.spgb-compare__table th,
.spgb-compare__table td {
    padding: calc(14px + 8 * (100vw / 1920)) calc(12px + 12 * (100vw / 1920)) calc(14px + 8 * (100vw / 1920)) 0;
    border-bottom: 1px solid var(--blue);
    vertical-align: middle;
    text-align: left;
}

.spgb-compare__table thead tr th {
    border-bottom: 0;
}

.spgb-compare__col {
    width: 33.333%;
}

.spgb-compare__table tr > *:last-child {
    padding-right: 0;
}

.spgb-compare__param-label {
    font-size: calc(16px + 6 * (100vw / 1920));
    font-weight: 500;
    color: var(--red);
}

.spgb-compare__param-label::before {
    content: "/";
}

.spgb-compare__param-name {
    display: block;
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    line-height: 1.45;
    color: #000;
}

.spgb-compare__product {
    display: inline-flex;
    align-items: center;
    gap: calc(16px + 24 * (100vw / 1920));
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    color: var(--txt);
}

.spgb-compare__meter {
    width: calc(72px + 58 * (100vw / 1920));
    min-width: calc(72px + 58 * (100vw / 1920));
    height: calc(72px + 58 * (100vw / 1920)) !important;
    border-radius: 50%;
    object-fit: cover;
    background: #f3f4f6;
}

.spgb-compare__value {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(6px + 4 * (100vw / 1920));
    font-size: calc(13px + 7 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--blue);
}

.spgb-compare__check-icon {
    flex: 0 0 15px;
    width: 15px;
    height: 12px;
}

.spgb-compare__buy {
    max-width: calc(420px + 320 * (100vw / 1920));
    margin: 0 auto;
}

.spgb-compare__buy-title {
    margin-bottom: calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-compare__buy-red {
    color: var(--red);
}

.spgb-compare__buy-blue {
    color: var(--blue);
}

.spgb-compare__buy-text {
    margin-bottom: calc(20px + 20 * (100vw / 1920));
    font-size: calc(15px + 7 * (100vw / 1920));
    line-height: 1.6;
    color: var(--txt);
}

/* Dealer form */
.spgb-dealer {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
    background: #f5f5f5;
    scroll-margin-top: calc(80px + 20 * (100vw / 1920));
}

.spgb-dealer__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: calc(24px + 24 * (100vw / 1920)) calc(32px + 32 * (100vw / 1920));
    align-items: start;
}

.spgb-dealer__title {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.spgb-dealer__title-red {
    display: block;
    color: var(--red);
}

.spgb-dealer__title-blue {
    display: block;
    color: var(--blue);
}

.spgb-dealer__lead {
    margin: 0;
    max-width: calc(300px + 250 * (100vw / 1920));
    font-size: calc(15px + 7 * (100vw / 1920));
    line-height: 1.6;
    color: var(--txt);
}

.spgb-dealer__form {
    display: flex;
    flex-direction: column;
    gap: calc(10px + 6 * (100vw / 1920));
    max-width: calc(320px + 240 * (100vw / 1920));
}

.spgb-dealer__field {
    display: block;
}

.spgb-dealer__input {
    width: 100%;
    min-height: calc(48px + 8 * (100vw / 1920));
    padding: calc(12px + 4 * (100vw / 1920)) calc(14px + 6 * (100vw / 1920));
    border: 1px solid #d9dee5;
    background: var(--white);
    font-family: inherit;
    font-size: calc(14px + 2 * (100vw / 1920));
    color: var(--txt);
}

.spgb-dealer__input::placeholder {
    color: #8a8f98;
}

.spgb-dealer__input:focus {
    outline: none;
    border-color: var(--blue);
}

.spgb-dealer__consent {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: calc(8px + 4 * (100vw / 1920));
    align-items: start;
    margin-top: 4px;
    cursor: pointer;
}

.spgb-dealer__consent input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.spgb-dealer__consent-box {
    position: relative;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    border: 1px solid var(--red);
    background: var(--white);
}

.spgb-dealer__consent-box::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

.spgb-dealer__consent input:checked + .spgb-dealer__consent-box {
    background: var(--red);
}

.spgb-dealer__consent input:checked + .spgb-dealer__consent-box::after {
    opacity: 1;
}

.spgb-dealer__consent-text {
    font-size: calc(13px + 3 * (100vw / 1920));
    line-height: 1.5;
    color: var(--txt);
}

.spgb-dealer__consent-text a {
    color: var(--red);
    text-decoration: none;
}

.spgb-dealer__consent-text a:hover {
    text-decoration: underline;
}

.spgb-dealer__submit {
    align-self: flex-start;
    min-width: calc(200px + 80 * (100vw / 1920));
    margin-top: calc(4px + 4 * (100vw / 1920));
}

/* Pricing / Characteristics */
.spgb-pricing {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
}

.spgb-pricing__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
    gap: calc(20px + 20 * (100vw / 1920)) calc(32px + 38 * (100vw / 1920));
    align-items: start;
}

.spgb-pricing__head {
    padding-top: 4px;
}

.spgb-pricing__title {
    margin: 0 0 calc(16px + 14 * (100vw / 1920));
    max-width: calc(220px + 120 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--blue);
}

.spgb-pricing__mark {
    display: inline-block;
    width: calc(100px + 90 * (100vw / 1920));
    height: calc(12px + 5 * (100vw / 1920));
}

.spgb-pricing__mark svg {
    width: 100%;
    height: 100%;
}

.spgb-pricing__table-wrap {
    padding-top: 4px;
}

.spgb-pricing__label {
    margin: 0 0 calc(10px + 6 * (100vw / 1920));
    font-size: calc(16px + 6 * (100vw / 1920));
    font-weight: 500;
    text-transform: uppercase;
    color: var(--red);
}

.spgb-pricing__list {
    margin: 0;
}

.spgb-pricing__row {
    display: flex;
    align-items: center;
    gap: calc(12px + 12 * (100vw / 1920));
    padding: calc(12px + 6 * (100vw / 1920)) 0;
    border-bottom: 1px solid var(--blue);
}

.spgb-pricing__row dt {
    margin: 0;
    flex: 1;
    font-size: calc(14px + 6 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.3;
    color: var(--blue);
}

.spgb-pricing__row dd {
    margin: 0;
    min-width: calc(80px + 60 * (100vw / 1920));
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 500;
    white-space: nowrap;
    color: var(--txt);
}

/* FAQ */
.spgb-faq {
    padding: calc(48px + 52 * (100vw / 1920)) 0;
    background: #023969;
}

.spgb-faq__list {
    display: flex;
    flex-direction: column;
    gap: calc(12px + 8 * (100vw / 1920));
}

.spgb-faq__item {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    overflow: hidden;
    position: relative;
    padding: calc(20px + 20 * (100vw / 1920)) calc(16px + 14 * (100vw / 1920));
    cursor: pointer;
}

.spgb-faq__trigger {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 32px;
    gap: calc(10px + 6 * (100vw / 1920));
    align-items: center;
    border: 0;
    background: transparent;
    color: var(--white);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    padding: 0;
}

.spgb-faq__trigger:focus {
    outline: none;
}

.spgb-faq__marker {
    width: calc(10px + 6 * (100vw / 1920));
    height: calc(16px + 8 * (100vw / 1920));
    background: var(--red);
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.spgb-faq__question {
    font-size: calc(16px + 8 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
}

.spgb-faq__icon {
    position: relative;
    width: 20px;
    height: 20px;
    justify-self: end;
}

.spgb-faq__icon::before,
.spgb-faq__icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    background: var(--white);
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.spgb-faq__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.spgb-faq__item.is-open .spgb-faq__icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
}

.spgb-faq__body {
    display: grid;
    grid-template-rows: 0fr;
    color: rgba(255, 255, 255, 0.9);
    transition: grid-template-rows 0.35s ease;
}

.spgb-faq__item.is-open .spgb-faq__body {
    grid-template-rows: 1fr;
}

.spgb-faq__body-inner {
    overflow: hidden;
    min-height: 0;
    font-size: calc(14px + 6 * (100vw / 1920));
}

.spgb-faq__body p {
    margin: calc(8px + 2 * (100vw / 1920)) 0 0;
    line-height: 1.6;
    font-size: calc(14px + 4 * (100vw / 1920));
}

/* About */
.spgb-about {
    padding: calc(48px + 52 * (100vw / 1920)) 0 calc(40px + 40 * (100vw / 1920));
}

.spgb-about__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr);
    gap: calc(16px + 24 * (100vw / 1920));
    align-items: start;
}

.spgb-about__title {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--blue);
}

.spgb-about__text {
    margin: 0;
    font-size: calc(15px + 6 * (100vw / 1920));
    line-height: 1.55;
    color: var(--txt);
}

.spgb-about__photo {
    overflow: hidden;
}

.spgb-about__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.spgb-about__photo--tall {
    min-height: calc(320px + 200 * (100vw / 1920));
}

.spgb-about__photo--tall img {
    min-height: calc(320px + 200 * (100vw / 1920));
}

.spgb-about__aside {
    display: flex;
    flex-direction: column;
    gap: calc(16px + 12 * (100vw / 1920));
    min-height: calc(320px + 200 * (100vw / 1920));
}

.spgb-about__photo--wide {
    flex: 1 1 auto;
    min-height: calc(160px + 100 * (100vw / 1920));
}

.spgb-about__aside .spgb-about__text {
    margin-top: auto;
}

/* CTA */
.spgb-cta {
    padding: 0;
    text-align: center;
}

.spgb-cta__inner {
    max-width: calc(560px + 360 * (100vw / 1920));
    margin: 0 auto;
}

.spgb-cta__title {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    font-size: calc(22px + 12 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
    text-align: start;
}

.spgb-cta__title-blue {
    color: var(--blue);
}

.spgb-cta__title-red {
    color: var(--red);
}

.spgb-cta__text {
    margin: 0 0 calc(20px + 20 * (100vw / 1920));
    max-width: calc(560px + 360 * (100vw / 1920));
    font-size: calc(15px + 7 * (100vw / 1920));
    line-height: 1.55;
    color: var(--txt);
    text-align: start;
}

.spgb-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: calc(10px + 10 * (100vw / 1920));
}

/* Consultation modal */
.spgb-consult {
    --txt: #191919;
    --red: #dd1f29;
    --blue: #004a8b;
    --white: #fff;
    --font-family: "Manrope", sans-serif;
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(16px + 8 * (100vw / 1920));
    font-family: var(--font-family);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.spgb-consult *,
.spgb-consult *::before,
.spgb-consult *::after {
    box-sizing: border-box;
}

.spgb-consult.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.spgb-consult__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.spgb-consult__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: calc(360px + 200 * (100vw / 1920));
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: calc(28px + 20 * (100vw / 1920)) calc(24px + 24 * (100vw / 1920)) calc(28px + 20 * (100vw / 1920));
    background: var(--blue);
    color: var(--white);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    transform: translateY(12px);
    transition: transform 0.25s ease;
}

.spgb-consult.is-open .spgb-consult__dialog {
    transform: translateY(0);
}

.spgb-consult__close {
    position: absolute;
    top: calc(14px + 6 * (100vw / 1920));
    right: calc(14px + 6 * (100vw / 1920));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(28px + 8 * (100vw / 1920));
    height: calc(28px + 8 * (100vw / 1920));
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--white);
    cursor: pointer;
}

.spgb-consult__close:hover {
    opacity: 0.75;
}

.spgb-consult__title {
    margin: 0 0 calc(10px + 14 * (100vw / 1920));
    font-size: calc(18px + 8 * (100vw / 1920));
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--white);
    text-align: center;
}

.spgb-consult__lead {
    margin: 0 0 calc(10px + 14 * (100vw / 1920));
    font-size: calc(13px + 3 * (100vw / 1920));
    line-height: 1.5;
    font-weight: 400;
    text-align: center;
    color: var(--white);
}

.spgb-consult__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.spgb-consult__field {
    display: block;
}

.spgb-consult__input {
    width: 100%;
    min-height: calc(44px + 8 * (100vw / 1920));
    padding: calc(12px + 4 * (100vw / 1920)) calc(14px + 6 * (100vw / 1920));
    border: 0;
    background: var(--white);
    font-family: inherit;
    font-size: calc(14px + 2 * (100vw / 1920));
    color: var(--txt);
    resize: vertical;
}

.spgb-consult__input::placeholder {
    color: #8a8f98;
}

.spgb-consult__input:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.spgb-consult__textarea {
    min-height: calc(110px + 30 * (100vw / 1920));
}

.spgb-consult__consent {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: calc(8px + 4 * (100vw / 1920));
    align-items: start;
    margin: calc(4px + 4 * (100vw / 1920)) 0;
    cursor: pointer;
}

.spgb-consult__consent input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.spgb-consult__consent-box {
    position: relative;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    border: 1px solid var(--red);
    background: var(--white);
}

.spgb-consult__consent-box::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

.spgb-consult__consent input:checked + .spgb-consult__consent-box {
    background: var(--red);
}

.spgb-consult__consent input:checked + .spgb-consult__consent-box::after {
    opacity: 1;
}

.spgb-consult__consent-text {
    font-size: calc(12px + 4 * (100vw / 1920));
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.7);
}

.spgb-consult__consent-text a {
    color: var(--white);
    text-decoration: none;
}

.spgb-consult__consent-text a:hover {
    opacity: 0.85;
}

.spgb-consult__submit {
    width: 100%;
    margin-top: calc(4px + 4 * (100vw / 1920));
}

body.spgb-consult-open {
    overflow: hidden;
}


/* Lock design sizes from 1920px and up */
@media (min-width: 1920px) {
    .spgb-page {
        margin-bottom: 100px;
    }

    .spgb-section-title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-btn {
        min-height: 52px;
        padding: 24px 46px;
        font-size: 22px;
    }

    .spgb-hero__content {
        padding: 70px 0 50px 40px;
    }

    .spgb-hero__shape--red-bottom {
        bottom: -220px;
        height: 144px;
    }

    .spgb-hero__inner {
        gap: 32px;
    }

    .spgb-hero__title {
        margin-bottom: 20px;
        font-size: 52px;
    }

    .spgb-hero__subtitle {
        margin-bottom: 28px;
        max-width: 780px;
        font-size: 24px;
    }

    .spgb-hero__tags {
        gap: 20px;
        margin-bottom: 40px;
    }

    .spgb-hero__tag {
        gap: 10px;
        min-height: 48px;
        padding: 13px 20px;
        font-size: 18px;
    }

    .spgb-hero__actions {
        gap: 16px;
    }

    .spgb-hero__img {
        max-height: 460px;
    }

    .spgb-battery {
        padding: 100px 0;
    }

    .spgb-battery__header {
        gap: 24px;
        margin-bottom: 40px;
    }

    .spgb-battery__wrapper {
        gap: 70px;
    }

    .spgb-battery__title {
        font-size: 34px;
    }

    .spgb-battery__divider {
        width: 190px;
        height: 17px;
    }

    .spgb-battery__subtitle {
        font-size: 22px;
    }

    .spgb-battery__grid {
        gap: 20px;
    }

    .spgb-battery__step {
        padding: 30px 30px 20px;
    }

    .spgb-battery__tag {
        margin: 18px 0 20px;
        padding: 8px 22px;
        font-size: 24px;
    }

    .spgb-battery__text {
        font-size: 24px;
    }

    .spgb-problems {
        padding: 100px 0;
    }

    .spgb-problems__inner {
        gap: 48px 64px;
    }

    .spgb-problems__left {
        gap: 20px;
    }

    .spgb-problems__title {
        font-size: 34px;
        margin-bottom: 36px;
    }

    .spgb-problems__copy-text {
        font-size: 30px;
    }

    .spgb-problems__copy-row {
        gap: 24px;
    }

    .spgb-problems__copy-row + .spgb-problems__copy-row {
        margin-top: 28px;
    }

    .spgb-problems__copy {
        margin-bottom: 50px;
    }

    .spgb-problems__note {
        gap: 16px;
        margin-bottom: 50px;
    }

    .spgb-problems__note-icon {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
    }

    .spgb-problems__note-text {
        font-size: 24px;
        max-width: 518px;
    }

    .spgb-problems__intro {
        margin-bottom: 28px;
        font-size: 22px;
        max-width: 700px;
    }

    .spgb-problems__label {
        margin-bottom: 20px;
        font-size: 28px;
    }

    .spgb-problems__item {
        gap: 50px;
        padding: 20px 0;
    }

    .spgb-problems__check {
        width: 36px;
    }

    .spgb-problems__check-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
    }

    .spgb-problems__thumb {
        width: 180px;
        min-width: 180px;
        height: 180px;
    }

    .spgb-problems__text {
        font-size: 24px;
    }

    .spgb-cert {
        padding: 100px 0;
    }

    .spgb-cert__header {
        margin-bottom: 40px;
        gap: 40px;
    }

    .spgb-cert__title {
        font-size: 34px;
        max-width: 760px;
    }

    .spgb-cert__intro {
        font-size: 22px;
    }

    .spgb-cert__grid {
        gap: 40px;
        margin-bottom: 50px;
    }

    .spgb-cert__item {
        min-height: 280px;
        padding: 20px;
    }

    .spgb-cert__num {
        font-size: 22px;
    }

    .spgb-cert__text {
        font-size: 24px;
    }

    .spgb-cert__summary {
        gap: 90px;
    }

    .spgb-cert__summary-mark svg {
        width: 190px;
        height: 17px;
    }

    .spgb-cert__summary-text {
        max-width: 640px;
        font-size: 22px;
    }

    .spgb-advantages {
        padding-bottom: 100px;
    }

    .spgb-advantages__title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-advantages__item {
        gap: 20px;
        padding: 40px 0;
    }

    .spgb-advantages__num {
        font-size: 22px;
    }

    .spgb-advantages__name {
        font-size: 24px;
    }

    .spgb-advantages__desc {
        font-size: 20px;
    }

    .spgb-grid {
        padding-bottom: 100px;
    }

    .spgb-grid__mosaic {
        gap: 40px;
    }

    .spgb-grid__cell {
        min-height: 480px;
    }

    .spgb-grid__cell--title,
    .spgb-grid__cell--light,
    .spgb-grid__cell--blue,
    .spgb-grid__cell--red {
        padding: 30px 20px 20px;
    }

    .spgb-grid__title {
        font-size: 34px;
    }

    .spgb-grid__label {
        font-size: 24px;
    }

    .spgb-grid__meter {
        width: 72px;
        height: 72px;
    }

    .spgb-grid__cell--photo img {
        min-height: 280px;
    }

    .spgb-compare {
        padding-bottom: 100px;
    }

    .spgb-compare__header {
        gap: 40px;
        margin-bottom: 40px;
    }

    .spgb-compare__title {
        font-size: 34px;
    }

    .spgb-compare__subtitle {
        max-width: 360px;
        font-size: 15px;
    }

    .spgb-compare__table-wrap {
        margin-bottom: 100px;
    }

    .spgb-compare__table th,
    .spgb-compare__table td {
        padding: 22px 24px 22px 0;
    }

    .spgb-compare__param-label {
        font-size: 22px;
    }

    .spgb-compare__param-name {
        font-size: 24px;
    }

    .spgb-compare__product {
        gap: 40px;
        font-size: 24px;
    }

    .spgb-compare__meter {
        width: 130px;
        min-width: 130px;
        height: 130px !important;
    }

    .spgb-compare__value {
        gap: 10px;
        font-size: 20px;
    }

    .spgb-compare__buy {
        max-width: 740px;
    }

    .spgb-compare__buy-title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-compare__buy-text {
        margin-bottom: 40px;
        font-size: 22px;
    }

    .spgb-dealer {
        padding: 100px 0;
        scroll-margin-top: 100px;
    }

    .spgb-dealer__inner {
        gap: 48px 64px;
    }

    .spgb-dealer__title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-dealer__lead {
        max-width: 550px;
        font-size: 22px;
    }

    .spgb-dealer__form {
        gap: 16px;
        max-width: 560px;
    }

    .spgb-dealer__input {
        min-height: 56px;
        padding: 16px 20px;
        font-size: 16px;
    }

    .spgb-dealer__consent {
        gap: 12px;
    }

    .spgb-dealer__consent-text {
        font-size: 16px;
    }

    .spgb-dealer__submit {
        min-width: 280px;
        margin-top: 8px;
    }

    .spgb-pricing {
        padding: 100px 0;
    }

    .spgb-pricing__inner {
        gap: 40px 70px;
    }

    .spgb-pricing__title {
        margin-bottom: 30px;
        max-width: 340px;
        font-size: 34px;
    }

    .spgb-pricing__mark {
        width: 190px;
        height: 17px;
    }

    .spgb-pricing__label {
        margin-bottom: 16px;
        font-size: 22px;
    }

    .spgb-pricing__row {
        gap: 24px;
        padding: 18px 0;
    }

    .spgb-pricing__row dt {
        font-size: 20px;
    }

    .spgb-pricing__row dd {
        min-width: 140px;
        font-size: 24px;
    }

    .spgb-faq {
        padding: 100px 0;
    }

    .spgb-faq__list {
        gap: 20px;
    }

    .spgb-faq__item {
        padding: 40px 30px;
    }

    .spgb-faq__trigger {
        gap: 16px;
    }

    .spgb-faq__marker {
        width: 16px;
        height: 24px;
    }

    .spgb-faq__question {
        font-size: 24px;
    }

    .spgb-faq__body-inner {
        font-size: 20px;
    }

    .spgb-faq__body p {
        margin-top: 10px;
        font-size: 18px;
    }

    .spgb-about {
        padding: 100px 0 80px;
    }

    .spgb-about__inner {
        gap: 40px;
    }

    .spgb-about__title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-about__text {
        font-size: 21px;
    }

    .spgb-about__photo--tall,
    .spgb-about__photo--tall img,
    .spgb-about__aside {
        min-height: 520px;
    }

    .spgb-about__aside {
        gap: 28px;
    }

    .spgb-about__photo--wide {
        min-height: 260px;
    }

    .spgb-cta__inner,
    .spgb-cta__text {
        max-width: 920px;
    }

    .spgb-cta__title {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .spgb-cta__text {
        margin-bottom: 40px;
        font-size: 22px;
    }

    .spgb-cta__actions {
        gap: 20px;
    }

    .spgb-consult {
        padding: 24px;
    }

    .spgb-consult__dialog {
        max-width: 560px;
        padding: 48px;
    }

    .spgb-consult__close {
        top: 20px;
        right: 20px;
        width: 36px;
        height: 36px;
    }

    .spgb-consult__title {
        margin-bottom: 24px;
        font-size: 26px;
    }

    .spgb-consult__lead {
        margin-bottom: 24px;
        font-size: 16px;
    }

    .spgb-consult__form {
        gap: 10px;
    }

    .spgb-consult__input {
        min-height: 52px;
        padding: 16px 20px;
        font-size: 16px;
    }

    .spgb-consult__textarea {
        min-height: 140px;
    }

    .spgb-consult__consent {
        gap: 12px;
        margin: 8px 0;
    }

    .spgb-consult__consent-text {
        font-size: 16px;
    }

    .spgb-consult__submit {
        margin-top: 8px;
    }
}

/* Tablet / layout rearrangements */
@media (max-width: 1199px) {
    .spgb-grid__mosaic {
        grid-template-columns: repeat(2, 1fr);
    }

    .spgb-grid__cell--empty {
        display: none;
    }

    .spgb-cert__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .spgb-battery__title {
        white-space: normal;
    }
}

@media (max-width: 991px) {
    .spgb-hero__inner,
    .spgb-dealer__inner,
    .spgb-pricing__inner,
    .spgb-about__inner,
    .spgb-compare__header,
    .spgb-cert__header {
        grid-template-columns: 1fr;
    }

    .spgb-problems__inner {
        flex-direction: column;
    }

    .spgb-problems__left,
    .spgb-problems__right {
        width: 100%;
    }

    .spgb-battery__header,
    .spgb-battery__wrapper {
        flex-wrap: wrap;
    }

    .spgb-battery__divider {
        display: none;
    }

    .spgb-battery__subtitle {
        text-align: left;
    }

    .spgb-battery__grid {
        grid-template-columns: 1fr;
    }

    .spgb-advantages__item {
        grid-template-columns: auto 1fr;
        gap: 12px 20px;
    }

    .spgb-advantages__desc {
        grid-column: 1 / -1;
    }

    .spgb-cert__summary {
        flex-wrap: wrap;
    }

    .spgb-about__photo--tall img,
    .spgb-about__aside {
        min-height: 0;
    }

    .spgb-about__photo--tall img {
        min-height: 360px;
    }

    .spgb-hero__media {
        order: -1;
    }

    .spgb-hero__content {
        padding-left: 0;
        padding-right: 0;
    }

    .spgb-dealer__form {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .spgb-cert__grid,
    .spgb-grid__mosaic {
        grid-template-columns: 1fr;
    }

    .spgb-hero__actions,
    .spgb-cta__actions {
        flex-direction: column;
    }

    .spgb-hero__actions .spgb-btn,
    .spgb-cta__actions .spgb-btn,
    .spgb-dealer__submit {
        width: 100%;
        min-width: 0;
    }

    .spgb-problems__item {
        gap: 16px;
    }

    .spgb-problems__thumb {
        width: 96px;
        min-width: 96px;
        height: 96px;
    }

    .spgb-cta__title,
    .spgb-cta__text {
        text-align: center;
    }

    .spgb-cta__actions {
        justify-content: center;
    }

    .spgb-compare__product {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}
