@charset "UTF-8";

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-1.woff2) format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1
}

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-2.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F
}

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-3.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
}

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-4.woff2) format('woff2');
    unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F
}

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-5.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Rubik;
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-6.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
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-7.woff2) format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-8.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-9.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-10.woff2) format('woff2');
    unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-11.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Rubik;
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(fonts/rubik-variable-12.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
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

:root {
    --header-top: #00498B;
    --header-bottom: #fbfaf8;
    --cert-text: #1A293F;
    --cert-white: #ffffff;
    --cert-blue: #0060C2;
    --cert-line: #dfd3ca;
    --well-blue: #006bc9;
    --well-speed: 550ms;
    --reviews-gap: 24px;
    --section-background: #ffffff;
    --section-background-muted: #f5f7fa
}

body {
    font-family: Rubik, sans-serif;
    font-size: 16px;
    color: var(--cert-text)
}

.container {
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 15px
}

h1,
h2,
h3,
h4,
p {
    margin: 0;
    padding: 0;
    line-height: 1.4
}

@media (max-width:767px) {
    h1 {
        font-size: calc(28px + 27.2 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    h1 {
        font-size: calc(28px + 16 * 100vw / 1920)
    }
}

h1 {
    color: #0e1e3b;
    font-weight: 600
}

@media (max-width:767px) {
    h2 {
        font-size: calc(26px + 13.6 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    h2 {
        font-size: calc(26px + 8 * 100vw / 1920)
    }
}

h2 {
    line-height: 1.2;
    font-weight: 700;
    color: #0e1e3b
}

h2 span {
    color: var(--cert-blue)
}

@media (max-width:767px) {
    h3 {
        font-size: calc(18px + 13.6 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    h3 {
        font-size: calc(18px + 8 * 100vw / 1920)
    }
}

h3 {
    font-weight: 500
}

@media (max-width:767px) {
    h4 {
        font-size: calc(18px + 3.4 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    h4 {
        font-size: calc(18px + 2 * 100vw / 1920)
    }
}

h4 {
    font-weight: 400
}

@media (max-width:767px) {
    h5 {
        font-size: calc(16px + 3.4 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    h5 {
        font-size: calc(16px + 2 * 100vw / 1920)
    }
}

p:not(:last-child) {
    margin: 0 0 10px 0
}

strong {
    font-weight: 500
}

a {
    text-decoration: none;
    color: #1a293f
}

.btn {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    margin: 0;
    padding: 14px 30px;
    border-radius: 12px;
    border: 1px solid var(--cert-blue);
    background: var(--cert-blue);
    color: #fff;
    font-weight: 400;
    letter-spacing: 2px;
    transition: color .3s ease, background .3s ease
}

.btn:hover {
    color: var(--cert-blue);
    background: #fff
}

.btn:focus-visible {
    outline: 2px solid var(--cocertlor-blue);
    outline-offset: 4px
}

.header-contacts {
    background-image: linear-gradient(90deg, #00498a 13%, #00488a 40%, #014788 100%);
    padding: 12px 0
}

.header-contacts__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--cert-white)
}

.header-contacts__inner {
    display: flex;
    align-items: center
}

.topbar-btn {
    background-image: linear-gradient(90deg, #0061c3 13%, #2692ff 100%);
    color: var(--cert-white);
    border: none;
    box-sizing: border-box;
    padding: 6px 20px;
    border-radius: 10px 10px;
    cursor: pointer
}

.topbar-btn[data-open-map-popup] {
    font: inherit;
}

.topbar-email {
    display: flex;
    align-items: center;
    color: var(--cert-white)
}

.topbar-email svg {
    width: 22px;
    margin: 0 6px 0 18px
}

.btn-copy {
    background-color: transparent;
    border: none;
    width: 35px;
    cursor: pointer
}

.btn-copy__icon {
    height: auto;
    width: 100%
}

.header-contacts__requisit {
    display: flex;
    align-items: center
}

.btn-outline {
    background-color: transparent;
    border: 1px solid hsla(0, 0%, 100%, .3);
    background-image: none;
    margin: 0 20px
}

.btn-outline:hover {
    color: rgba(255, 255, 255, .7)
}

.requisite {
    color: rgba(255, 255, 255, .7)
}

#inn-copy {
    margin: 0 10px 0 0
}

.header-nav {
    padding: 15px 0;
    background-image: linear-gradient(90deg, #0060c2 13%, #005fc0 40%, #015ebf 100%)
}

.header-nav--active {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 8px 0;
    z-index: 150
}

.header-nav__content {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.logo {
    display: flex;
    align-items: center
}

.logo__inner {
    display: flex;
    align-items: center;
    margin: 0 10px 0 0;
    padding: 0 6px 0 0
}

.logo__icon {
    height: auto;
    width: 60px;
    margin: 0 6px 0 0
}

.header-nav--active .logo__icon {
    width: 46px
}

.logo__brend {
    color: var(--cert-white)
}

@media (max-width:767px) {
    .logo__title {
        font-size: calc(30px + 23.8 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .logo__title {
        font-size: calc(30px + 14 * 100vw / 1920)
    }
}

.logo__title {
    text-transform: uppercase;
    font-weight: 600
}

@media (max-width:767px) {
    .header-nav--active .logo__title {
        font-size: calc(24px + 6.8 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .header-nav--active .logo__title {
        font-size: calc(24px + 4 * 100vw / 1920)
    }
}

.logo__text {
    font-size: 11px
}

.logo__slogan {
    width: 250px;
    color: var(--cert-white);
    margin: 0 0 0 8px
}

.menu {
    width: 60%
}

.menu-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.menu-list__item {
    box-sizing: border-box;
    padding: 6px 12px;
    border-radius: 10px
}

.menu-list__item--active {
    background-color: var(--cert-white)
}

.menu-list__item:hover {
    background-color: var(--cert-white)
}

.menu-list__link {
    color: var(--cert-white)
}

.header-phone {
    display: flex;
    align-items: center
}

.header-phone__link {
    color: var(--cert-white)
}

.menu-list__item--active .menu-list__link {
    color: var(--cert-text)
}

.menu-list__item:hover .menu-list__link {
    color: var(--cert-text)
}

.hero {
    margin: 20px 0 40px
}

.hero__container {
    position: relative
}

.hero__card {
    position: relative;
    background-color: #f3f8fc;
    background-image: url("../img/optimized/bg-hero.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border: 1px solid #d0e3f5;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 73, 139, .05)
}

.hero__slider {
    position: relative;
    width: 100%;
    outline: 0
}

.hero__slides {
    display: grid;
    width: 100%;
    min-height: 640px
}

.hero__slide {
    grid-area: 1 / 1;
    position: relative;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .5s ease-in-out, visibility .5s ease-in-out;
    z-index: 1
}

.hero__slide--active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2
}

.hero__slide-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 640px;
    box-sizing: border-box;
    padding: 60px 40px 60px 70px;
    position: relative
}

.hero__content {
    position: relative;
    z-index: 2;
    max-width: 602px
}

.hero__title {
    color: #1a293f;
    font-weight: 600;
    line-height: 1.18;
    margin: 0 0 30px 0
}

@media (max-width:767px) {
    .hero__title {
        font-size: calc(26px + 30.6 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .hero__title {
        font-size: calc(26px + 18 * 100vw / 1920)
    }
}

.hero__descr {
    color: #5f6e82;
    font-size: 18px;
    line-height: 1.45;
    margin: 0 0 32px 0;
    max-width: 518px
}

.hero__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 30px 0 36px 0
}

.hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all .25s ease;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap
}

.hero__btn--primary {
    background-color: #0060c2;
    color: #fff;
    border: 1px solid #0060c2
}

.hero__btn--primary:hover {
    background-color: #004d9e;
    border-color: #004d9e;
    box-shadow: 0 4px 14px rgba(0, 96, 194, .3)
}

.hero__btn--outline {
    background-color: transparent;
    color: #0060c2;
    border: 1px solid #0060c2
}

.hero__btn--outline:hover {
    background-color: #0060c2;
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 96, 194, .2)
}

.hero__feature {
    padding-left: 14px;
    border-left: 2px solid #cbd5e1
}

.hero__feature-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a293f;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease
}

.hero__feature-link svg {
    transition: transform .25s ease
}

.hero__feature-link:hover {
    color: #0060c2
}

.hero__feature-link:hover svg {
    transform: translateX(4px)
}

.hero__feature-text {
    color: #7a8b9e;
    font-size: 14px;
    margin: 6px 0 0 0
}

.hero__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    clip-path: url(#hero-media-clip);
    -webkit-clip-path: url(#hero-media-clip)
}

.hero__slide--1 .hero__media {
    clip-path: none;
    -webkit-clip-path: none;
    width: 56%
}

.hero__slide--1 .hero__media-inner {
    background: url("../img/optimized/hero-poster.webp") center / cover no-repeat;
    -webkit-mask-image: radial-gradient(ellipse 105% 115% at 100% 50%, #000 58%, rgba(0, 0, 0, 0.8) 70%, rgba(0, 0, 0, 0.32) 83%, transparent 95%);
    mask-image: radial-gradient(ellipse 105% 115% at 100% 50%, #000 58%, rgba(0, 0, 0, 0.8) 70%, rgba(0, 0, 0, 0.32) 83%, transparent 95%)
}

.hero__slide--1 .hero__media-inner::before {
    display: none
}

.hero__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative
}

.hero__media-inner::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .15);
    backdrop-filter: blur(0px)
}

.hero__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .35s ease
}

.hero__video--ready {
    opacity: 1;
}

.hero__badge,
.hero__trust-card {
    position: absolute;
    right: 32px;
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 18px;
    background-color: #fff;
    border-radius: 16px;
    padding: 16px 20px;
    box-shadow: 0 10px 30px rgba(0, 40, 80, .12);
    text-align: left;
    z-index: 3
}

.hero__badge-experience,
.hero__trust-stat {
    display: flex;
    align-items: center;
    gap: 8px
}

.hero__badge-num,
.hero__trust-num {
    font-size: 34px;
    font-weight: 700;
    color: #0060c2;
    line-height: 1
}

.hero__badge-text,
.hero__trust-text {
    font-size: 13px;
    font-weight: 500;
    color: #1a293f;
    white-space: nowrap
}

.hero__badge-price {
    color: #0060c2;
    font-size: 15px;
    font-weight: 600;
    padding-left: 18px;
    border-left: 1px solid #ddeaf5;
    white-space: nowrap
}

.hero__badge-benefit {
    color: #5f6e82;
    font-size: 12px;
    padding-left: 18px;
    border-left: 1px solid #ddeaf5;
    white-space: nowrap
}

.hero__slide--2 .hero__media {
    clip-path: none;
    -webkit-clip-path: none;
    width: 72%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.04) 20%, rgba(0, 0, 0, 0.4) 48%, #000 75%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.04) 20%, rgba(0, 0, 0, 0.4) 48%, #000 75%)
}

.hero__slide--2 .hero__media-inner::before {
    display: none
}

.hero__slide--2 .hero__media-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 68%, rgba(247, 251, 255, .9) 100%);
    pointer-events: none
}

.hero__trust-card {
    z-index: 4
}

.hero__trust-divider {
    align-self: stretch;
    width: 1px;
    background-color: #ddeaf5
}

.hero__trust-partner {
    display: flex;
    align-items: center;
    gap: 10px
}

.hero__trust-label {
    color: #5f6e82;
    font-size: 12px;
    white-space: nowrap
}

.hero__avito {
    display: flex;
    align-items: center;
    gap: 6px
}

.img-avito {
    width: 40px
}

.hero__avito-name {
    font-size: 25px;
    font-weight: 700;
    color: #111820;
    letter-spacing: -.04em;
    line-height: 1
}

.hero__media--placeholder {
    background: 0 0
}

.hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none
}

.hero__image[src]:not([src=""]) {
    display: block
}

.hero__image[src]:not([src=""])+.hero__placeholder {
    display: none
}

.hero__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 40px;
    box-sizing: border-box;
    border: 2px dashed rgba(0, 96, 194, .3);
    border-radius: inherit
}

.hero__placeholder-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 73, 139, .08)
}

.hero__placeholder-text {
    font-size: 16px;
    font-weight: 500;
    color: #5f6e82;
    text-align: center;
    margin: 0
}

.hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background-color: #fff;
    border: 1px solid rgba(0, 73, 139, .12);
    box-shadow: 0 4px 14px rgba(0, 40, 80, .08);
    color: #1a293f;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all .25s ease
}

.hero__arrow:hover {
    background-color: #0060c2;
    color: #fff;
    box-shadow: 0 6px 18px rgba(0, 96, 194, .25);
    border-color: #0060c2
}

.hero__arrow--prev {
    left: 15px;
    transform: translate(-50%, -50%)
}

.hero__arrow--next {
    right: 15px;
    transform: translate(50%, -50%)
}

.hero__dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 10
}

.hero__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background-color: #f8f8f8;
    cursor: pointer;
    transition: all .3s ease
}

.hero__dot:hover {
    background-color: #94a3b8
}

.hero__dot--active {
    background-color: #0060c2;
    transform: scale(1.15)
}

@media (max-width:1200px) {
    .hero__slide-body {
        padding: 50px 30px 60px 40px;
        min-height: 580px
    }

    .hero__slides {
        min-height: 580px
    }

    .hero__content {
        max-width: 480px
    }

    .hero__media {
        width: 50%;
        border-radius: 200px 0 0 200px/50% 0 0 50%
    }
}

@media (max-width:991px) {
    .hero__slide-body {
        padding: 40px 24px 60px 24px;
        min-height: 520px
    }

    .hero__slides {
        min-height: 520px
    }

    .hero__content {
        max-width: 420px
    }

    .hero__media {
        width: 46%;
        border-radius: 140px 0 0 140px/50% 0 0 50%
    }

    .hero__arrow--prev {
        left: 8px;
        transform: translateY(-50%)
    }

    .hero__arrow--next {
        right: 8px;
        transform: translateY(-50%)
    }
}

@media (max-width:767px) {
    .hero {
        margin: 12px 0 30px
    }

    .hero__card {
        border-radius: 20px
    }

    .hero__slides {
        min-height: auto
    }

    .hero__slide-body {
        flex-direction: column;
        align-items: stretch;
        padding: 30px 18px 50px;
        min-height: auto;
        gap: 28px
    }

    .hero__content {
        max-width: 100%
    }

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

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 24px
    }

    .hero__btn {
        width: 100%
    }

    .hero__media {
        position: relative;
        width: 100%;
        height: 260px;
        border-radius: 16px;
        clip-path: none;
        -webkit-clip-path: none;
        order: 2
    }

    .hero__slide--1 .hero__media {
        width: 100%
    }

    .hero__slide--2 .hero__media {
        width: 100%;
        -webkit-mask-image: none;
        mask-image: none
    }

    .hero__slide--1 .hero__media-inner {
        -webkit-mask-image: none;
        mask-image: none
    }

    .hero__trust-card {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        box-sizing: border-box;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px;
        padding: 10px 12px;
        order: 3
    }

    .hero__trust-divider {
        display: none
    }

    .hero__arrow {
        display: none
    }

    .hero__badge {
        left: 12px;
        right: 12px;
        bottom: 12px;
        justify-content: space-between;
        gap: 6px;
        padding: 10px 12px
    }

    .hero__badge-experience,
    .hero__trust-stat {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px
    }

    .hero__badge-num,
    .hero__trust-num {
        font-size: 26px
    }

    .hero__badge-text,
    .hero__trust-text {
        font-size: 11px
    }

    .hero__badge-price {
        font-size: 12px;
        padding-left: 8px;
        white-space: normal
    }

    .hero__badge-benefit {
        font-size: 10px;
        padding-left: 8px;
        white-space: normal
    }
}

.services {
    padding: 80px 0 140px;
    background: var(--section-background)
}

.services__header {
    margin-bottom: 50px
}

.services__eyebrow {
    display: block;
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #8b8b8b
}

.services__title {
    margin: 0;
    line-height: 1.04;
    letter-spacing: -.035em
}

.services__text p strong {
    font-weight: 600
}

.services__text h4 {
    font-weight: 500;
    margin: 0 0 10px 0
}

.services__nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 72px;
    border-bottom: 1px solid #dedede
}

.services__tab {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-height: 52px;
    padding: 0 0 0;
    border: 0;
    background: 0 0;
    color: #7a8b9e;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color .25s ease, opacity .25s ease
}

.services__tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #0060c2;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s ease
}

.services__tab:hover {
    color: #0060c2
}

.services__tab--active {
    color: #0060c2
}

.services__tab--active::after {
    transform: scaleX(1)
}

.services__tab-number {
    flex: 0 0 auto;
    padding-top: 4px;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    color: #a4a4a4
}

.services__tab-title {
    font-size: 18px;
    max-width: 280px;
    line-height: 1.35;
    font-weight: 400
}

.services__panel {
    animation: serviceFade .4s ease
}

.services__panel[hidden] {
    display: none
}

@keyframes serviceFade {
    from {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.services__layout {
    display: grid;
    grid-template-columns: minmax(420px, 0.92fr) minmax(600px, 1fr);
    gap: clamp(80px, 4vw, 180px);
    align-items: center
}

.services__info {
    max-width: 650px
}

.services__heading {
    max-width: 620px;
    margin: 0 0 36px;
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -.03em
}

.services__contact {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 10px;
    margin-top: 42px;
    padding-bottom: 7px;
    border-bottom: 1px solid #005fc0;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.4;
    transition: border-color .25s ease
}

.services__contact strong {
    font-weight: 500
}

.services__contact-arrow {
    margin-left: 4px;
    font-size: 18px;
    transition: transform .25s ease
}

.services__contact:hover {
    border-color: #161616
}

.services__contact:hover .services__contact-arrow {
    transform: translate(3px, -3px)
}

.services__media {
    position: relative;
    min-height: 550px;
    margin: 0;
    overflow: hidden;
    background: #f3f3f3
}

.services__image {
    position: absolute;
    inset: 0;
    display: block;
    border-radius: 6px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.003);
    transition: transform .8s ease
}

.services__panel:hover .services__image {
    transform: scale(1.025)
}

.services__mobile-trigger {
    display: none
}

.services__mobile-content {
    display: block
}

@media (max-width:1200px) {
    .services {
        padding: 90px 0 110px
    }

    .services__nav {
        gap: 24px
    }

    .services__layout {
        grid-template-columns: minmax(340px, 0.9fr) minmax(480px, 1.1fr);
        gap: 60px
    }

    .services__media {
        min-height: 560px
    }
}

@media (max-width:768px) {
    .services {
        padding: 72px 0 80px
    }

    .container {
        width: min(100% - 32px, 1680px)
    }

    .services__header {
        margin-bottom: 46px
    }

    .services__eyebrow {
        margin-bottom: 14px;
        font-size: 12px
    }

    .services__title {
        font-size: 38px;
        line-height: 1.08
    }

    .services__nav {
        display: none
    }

    .services__content {
        border-top: 1px solid #ddd
    }

    .services__panel,
    .services__panel[hidden] {
        display: block;
        animation: none
    }

    .services__panel {
        border-bottom: 1px solid #ddd
    }

    .services__mobile-trigger {
        display: grid;
        grid-template-columns: 34px 1fr 24px;
        align-items: center;
        gap: 8px;
        width: 100%;
        min-height: 84px;
        padding: 20px 0;
        border: 0;
        background: 0 0;
        color: #161616;
        font: inherit;
        text-align: left;
        cursor: pointer
    }

    .services__mobile-number {
        font-size: 11px;
        font-weight: 500;
        color: #999
    }

    .services__mobile-name {
        font-size: 18px;
        line-height: 1.35;
        font-weight: 400
    }

    .services__mobile-icon {
        position: relative;
        display: block;
        width: 20px;
        height: 20px
    }

    .services__mobile-icon::after,
    .services__mobile-icon::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 14px;
        height: 1px;
        background: #161616;
        transform: translate(-50%, -50%);
        transition: transform .25s ease
    }

    .services__mobile-icon::after {
        transform: translate(-50%, -50%) rotate(90deg)
    }

    .services__mobile-trigger--active .services__mobile-icon::after {
        transform: translate(-50%, -50%) rotate(0)
    }

    .services__mobile-content {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        transition: grid-template-rows .4s ease, opacity .3s ease
    }

    .services__mobile-content>.services__layout {
        overflow: hidden
    }

    .services__mobile-trigger--active+.services__mobile-content {
        grid-template-rows: 1fr;
        opacity: 1
    }

    .services__layout {
        display: flex;
        flex-direction: column;
        gap: 42px;
        padding-bottom: 48px
    }

    .services__info {
        max-width: none;
        width: 100%
    }

    .services__heading {
        margin-bottom: 28px;
        line-height: 1.12
    }

    .services__text {
        max-width: none
    }

    .services__contact {
        margin-top: 32px;
        font-size: 15px
    }

    .services__media {
        order: 2;
        width: 100%;
        min-height: auto;
        aspect-ratio: 4/3
    }
}

@media (max-width:480px) {
    .container {
        width: calc(100% - 24px)
    }

    .services__title {
        font-size: 32px
    }

    .services__mobile-trigger {
        grid-template-columns: 28px 1fr 22px;
        min-height: 78px
    }

    .services__mobile-name {
        font-size: 16px
    }

    .services__media {
        aspect-ratio: 1/0.82
    }

    .services__contact {
        align-items: flex-start
    }
}

.services__contact:focus-visible,
.services__mobile-trigger:focus-visible,
.services__tab:focus-visible {
    outline: 2px solid #161616;
    outline-offset: 5px
}

@media (prefers-reduced-motion:reduce) {

    .services__contact-arrow,
    .services__image,
    .services__mobile-content,
    .services__mobile-icon::after,
    .services__panel,
    .services__tab,
    .services__tab::after {
        animation: none;
        transition: none
    }
}

@media (max-width:1023px) {
    .header-contacts__content {
        flex-direction: column;
        align-items: stretch;
        gap: 12px
    }

    .header-contacts__inner {
        justify-content: center
    }

    .header-contacts__requisit {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 0;
        font-size: 14px
    }

    .header-nav__content {
        flex-wrap: wrap;
        gap: 16px
    }

    .menu {
        order: 3;
        width: 100%
    }

    .menu-list {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 6px
    }

    .menu-list__link {
        display: flex;
        align-items: center;
        min-height: 32px
    }

    .header-phone__link {
        white-space: nowrap
    }

    .btn-copy {
        flex: 0 0 40px;
        width: 40px;
        height: 44px;
        padding: 8px
    }

    .services__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 28px
    }

    .services__nav {
        gap: 18px
    }

    .services__tab {
        gap: 8px
    }
}

@media (min-width:769px) and (max-width:1023px) {
    .hero__content {
        max-width: 52%
    }

    .hero__btn {
        max-width: 100%;
        white-space: normal;
        text-align: center
    }

    .hero__badge,
    .hero__trust-card {
        right: 16px;
        bottom: 60px;
        max-width: 40%;
        flex-wrap: wrap;
        gap: 10px;
        padding: 12px
    }

    .hero__badge-benefit {
        padding-left: 0;
        border-left: 0
    }

    .hero__trust-partner {
        flex-wrap: wrap
    }
}

@media (max-width:768px) {
    .container {
        width: 100%;
        padding-inline: 16px
    }

    .header-contacts__inner {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) 36px;
        gap: 4px
    }

    .topbar-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 8px 10px;
        font-size: 13px
    }

    .topbar-email {
        justify-content: center;
        min-height: 44px;
        font-size: 13px;
        white-space: nowrap
    }

    .topbar-email svg {
        flex-shrink: 0;
        width: 18px;
        margin: 0 5px 0 0
    }

    .header-contacts__requisit {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr) 36px;
        gap: 4px;
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, .18);
        padding-top: 10px;
        font-size: 12px
    }

    .header-slogan {
        grid-column: 1/3;
        line-height: 1.4
    }

    .header-contacts__requisit .btn-outline {
        grid-column: 3/5;
        margin: 0
    }

    .requisite {
        white-space: nowrap
    }

    .header-contacts .btn-copy {
        width: 36px;
        padding: 9px 7px;
        margin: 0
    }

    .header-nav__content {
        gap: 12px
    }

    .logo__inner {
        margin: 0;
        padding: 0
    }

    .logo__icon {
        width: 44px
    }

    .logo__title {
        font-size: 28px
    }

    .logo__text {
        font-size: 10px
    }

    .header-phone {
        margin-left: auto
    }

    .header-phone__link {
        font-size: 15px
    }

    .menu-list {
        gap: 4px;
        padding-top: 12px;
        border-top: 1px solid rgba(255, 255, 255, .2)
    }

    .menu-list__item {
        padding: 6px 10px;
        font-size: 14px
    }

    .hero {
        margin: 80px 0 24px
    }

    .hero__card {
        border-radius: 20px
    }

    .hero__slides {
        min-height: 0
    }

    .hero__slide {
        display: flex
    }

    .hero__slide-body {
        flex: 1;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding: 24px 18px 76px;
        gap: 24px
    }

    .hero__content {
        max-width: none;
        min-width: 0
    }

    .hero__title {
        font-size: clamp(26px, 5vw, 36px);
        margin-bottom: 20px;
        overflow-wrap: anywhere
    }

    .hero__descr {
        max-width: none;
        font-size: 16px
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin: 24px 0
    }

    .hero__btn {
        width: 100%;
        min-height: 48px;
        padding: 13px 16px;
        white-space: normal;
        text-align: center
    }

    .hero__feature-link svg {
        flex-shrink: 0
    }

    .hero__media,
    .hero__slide--1 .hero__media,
    .hero__slide--2 .hero__media {
        position: relative;
        width: 100%;
        height: auto;
        min-height: clamp(240px, 52vw, 360px);
        flex: 1;
        border-radius: 14px;
        clip-path: none;
        -webkit-clip-path: none;
        mask-image: none;
        -webkit-mask-image: none;
        order: 2
    }

    .hero__media-inner {
        position: absolute;
        inset: 0;
        width: auto;
        height: auto
    }

    .hero__slide--1 .hero__media-inner {
        mask-image: none;
        -webkit-mask-image: none
    }

    .hero__badge {
        left: auto;
        right: 10px;
        bottom: 10px;
        width: max-content;
        max-width: calc(100% - 20px);
        flex-wrap: wrap;
        gap: 10px;
        padding: 12px
    }

    .hero__badge-price,
    .hero__badge-benefit {
        display: none
    }

    .hero__badge-benefit {
        flex-basis: 100%;
        border-left: 0;
        border-top: 1px solid #ddeaf5;
        padding: 8px 0 0;
        font-size: 12px
    }

    .hero__trust-card {
        position: absolute;
        right: 30px;
        bottom: 88px;
        width: max-content;
        max-width: calc(100% - 60px);
        box-sizing: border-box;
        flex-wrap: wrap;
        gap: 12px;
        padding: 12px;
        justify-content: flex-start
    }

    .hero__trust-partner {
        flex-wrap: wrap;
        gap: 8px
    }

    .hero__trust-divider {
        display: none
    }

    .hero__arrow {
        display: flex;
        top: auto;
        bottom: 16px;
        width: 44px;
        height: 44px;
        transform: none
    }

    .hero__arrow--prev {
        left: 34px
    }

    .hero__arrow--next {
        right: 34px
    }

    .hero__dots {
        bottom: 16px;
        gap: 4px
    }

    .hero__dot {
        width: 44px;
        height: 44px;
        border: 16px solid transparent;
        background-clip: content-box;
        background-color: #b7c9db;
        box-sizing: border-box
    }

    .hero__dot--active {
        background-color: #0060c2;
        transform: none
    }

    .services {
        padding: 32px 0 50px
    }

    .services__header {
        margin-bottom: 28px
    }

    .services__title {
        font-size: clamp(28px, 5vw, 36px);
        line-height: 1.15
    }

    .services__layout {
        min-height: 0;
        gap: 24px;
        padding-bottom: 0
    }

    .services__mobile-content {
        visibility: hidden
    }

    .services__mobile-trigger--active+.services__mobile-content {
        visibility: visible;
        padding-bottom: 28px
    }

    .services__heading {
        margin-bottom: 20px;
        line-height: 1.3
    }

    .services__contact {
        margin-top: 24px;
        min-height: 44px;
        box-sizing: border-box
    }

    .services__media {
        border-radius: 12px;
        aspect-ratio: 4/3
    }
}

@media (min-width:769px) and (max-width:1023px) {
    .hero__arrow--prev {
        left: 8px;
        transform: translateY(-50%)
    }

    .hero__arrow--next {
        right: 8px;
        transform: translateY(-50%)
    }
}

.menu-toggle,
.mobile-menu[hidden] {
    display: none
}

@media (max-width:1023px) {
    .header-nav--mobile>.container {
        position: relative;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 30px);
        max-height: calc(100dvh - 30px)
    }

    .header-nav--mobile .header-nav__content {
        flex-shrink: 0;
        padding-right: 60px;
        min-height: 48px
    }

    .header-nav--mobile .menu-toggle {
        position: absolute;
        top: 0;
        right: 16px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, .35);
        border-radius: 10px;
        background: rgba(255, 255, 255, .1);
        color: #fff;
        cursor: pointer
    }

    .menu-toggle span {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 2px;
        background: currentColor
    }

    .menu-toggle[aria-expanded=true] span:first-child {
        transform: translateY(7px) rotate(45deg)
    }

    .menu-toggle[aria-expanded=true] span:nth-child(2) {
        opacity: 0
    }

    .menu-toggle[aria-expanded=true] span:last-child {
        transform: translateY(-7px) rotate(-45deg)
    }

    .menu-toggle:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 3px
    }

    .mobile-menu:not([hidden]) {
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior-y: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.55) rgba(255, 255, 255, 0.1);
        grid-auto-rows: max-content;
        display: grid;
        gap: 20px;
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid rgba(255, 255, 255, .25)
    }

    .mobile-menu::-webkit-scrollbar {
        width: 5px
    }

    .mobile-menu::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, .1);
        border-radius: 10px
    }

    .mobile-menu::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, .55);
        border-radius: 10px
    }

    .mobile-menu .header-phone {
        margin: 0;
        padding-inline: 14px;
        height: auto;
        line-height: 1.2
    }

    .mobile-menu .menu {
        order: 0
    }

    .mobile-menu .menu-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        padding: 0;
        border: 0
    }

    .mobile-menu .menu-list__item {
        padding: 0
    }

    .mobile-menu .menu-list__link {
        min-height: 32px;
        padding: 0 14px;
        font-size: 16px
    }

    .mobile-menu .header-contacts {
        border-radius: 12px;
        padding: 12px
    }

    .mobile-menu .header-contacts>.container {
        padding: 0;
        width: 100%
    }
}

@media (max-width:480px) {
    .header-nav--mobile .header-nav__content {
        gap: 8px;
        padding-right: 0
    }

    .header-nav--mobile .logo {
        flex-basis: calc(100% - 60px);
        margin-right: 60px;
        min-height: 44px
    }

    .header-nav--mobile .header-phone {
        margin-left: 0
    }

    .mobile-menu .header-contacts__inner {
        grid-template-columns: minmax(0, 1fr) 36px
    }

    .mobile-menu .header-contacts__inner>.topbar-btn {
        grid-column: 1/-1;
        margin-bottom: 4px
    }

    .mobile-menu .topbar-email {
        justify-content: flex-start
    }

    .mobile-menu .header-contacts__requisit {
        grid-template-columns: minmax(0, 1fr) 36px
    }

    .mobile-menu .header-contacts__requisit .btn-outline,
    .mobile-menu .header-slogan {
        grid-column: 1/-1;
        margin-bottom: 8px
    }
}

@media (max-width:768px) {

    .mobile-menu .header-contacts__inner,
    .mobile-menu .header-contacts__requisit {
        display: grid;
        grid-template-columns: max-content 36px minmax(0, 1fr);
        gap: 4px;
        justify-content: stretch
    }

    .mobile-menu .header-contacts__inner>.topbar-btn,
    .mobile-menu .header-contacts__requisit .btn-outline,
    .mobile-menu .header-slogan {
        grid-column: 1/-1
    }

    .mobile-menu .requisite,
    .mobile-menu .topbar-email {
        grid-column: 1;
        justify-content: flex-start
    }

    .mobile-menu .header-contacts .btn-copy {
        grid-column: 2
    }
}

@media (max-width:768px) {

    body:has(.mobile-menu:not([hidden])),
    html:has(.mobile-menu:not([hidden])) {
        overflow: hidden
    }

    .header-nav--mobile:has(.mobile-menu:not([hidden])) {
        position: fixed;
        inset: 0;
        z-index: 1000;
        box-sizing: border-box;
        height: 100vh;
        height: 100dvh;
        padding: max(8px, env(safe-area-inset-top)) 0 max(8px, env(safe-area-inset-bottom))
    }

    .header-nav--mobile:has(.mobile-menu:not([hidden]))>.container {
        height: 100%;
        max-height: none
    }

    .mobile-menu:not([hidden]) {
        flex: 1;
        align-content: start
    }
}

.industrial-well {
    padding: 0
}

.industrial-well h3 {
    margin: 0 0 20px 0
}

.wrapper-industrial-well {
    margin: 40px 0 0 0
}

.wrapper-industrial-well__content {
    width: 60%
}

.order {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 14px 14px;
    border-radius: 6px 6px;
    border: 1px solid #d0e3f5;
    border-left: 4px solid var(--cert-blue);
    box-shadow: rgba(0, 0, 0, .1) -4px 9px 25px -6px;
    background-color: rgba(244, 250, 254, .5764705882);
    margin: 16px 0 20px 0
}

.order__icon {
    height: auto;
    width: 46px;
    margin: 0 10px 0 0
}

.wrapper-industrial-well__tech {
    float: right;
    width: 34%;
    box-sizing: border-box;
    padding: 18px 0 18px 18px;
    background-color: #f4fafe;
    box-shadow: rgba(0, 0, 0, .05) 0 0 0 1px;
    margin: 0 0 0 80px
}

.wrapper-industrial-well__icon {
    width: 180px;
    height: 250px;
    object-position: top;
    object-fit: cover;
    float: right;
    margin: 0 0 0 20px
}

.wrapper-industrial-well__subtitle {
    display: inline-block
}

@media (max-width:767px) {
    .wrapper-industrial-well__subtitle {
        font-size: calc(30px + 0 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .wrapper-industrial-well__subtitle {
        font-size: calc(30px + 0 * 100vw / 1920)
    }
}

.wrapper-industrial-well__subtitle {
    color: var(--cert-blue);
    font-weight: 600;
    padding: 0 0 24px 0;
    border-bottom: 1px solid #e1e1e1;
    margin: 0 0 24px 0
}

.clarifications-industrial {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    margin: 40px 0 40px 0
}

.clarifications-industrial__item {
    width: calc(25% - 16px);
    box-sizing: border-box;
    padding: 12px 12px;
    border: 1px solid #d0e3f5;
    background-color: var(--cert-white);
    border-radius: 8px 8px;
    box-shadow: rgba(0, 0, 0, .1) -4px 9px 25px -6px
}

.clarifications-industrial__bg {
    width: 60px;
    height: 60px;
    background-color: #f4fafe;
    border: 1px solid rgba(208, 227, 245, .3882352941);
    border-radius: 100%;
    box-sizing: border-box;
    padding: 10px
}

.clarifications-industrial__icon {
    height: auto;
    width: 100%
}

.clarifications-industrial__title {
    font-weight: 500;
    margin: 8px 0 4px 0
}

.proect {
    padding: 70px 0;
    background: var(--section-background)
}

@media (max-width:767px) {
    .proect {
        padding: 30px 0 70px 0
    }
}

.wrapper-proect {
    background: radial-gradient(ellipse at bottom left, #edf7fe 0, transparent 48%), #fff;
    border: 1px solid #e0eaf2;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(22, 69, 104, .0392156863);
    box-sizing: border-box;
    padding: 30px 30px;
    border-radius: 10px 10px
}

.wrapper-proect--info {
    background: 0 0;
    box-shadow: none;
    border: none;
    padding: 0
}

@media (max-width:767px) {
    .wrapper-proect--pd {
        padding: 15px;
        border: none
    }
}

.wrapper-proect h2 {
    margin: 0 0 20px 0
}

.attention {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 14px 14px;
    border-radius: 6px 6px;
    border: 1px solid #d0e3f5;
    border-left: 4px solid var(--cert-blue);
    box-shadow: rgba(0, 0, 0, .1) -4px 9px 25px -6px;
    background-color: #f4fafe;
    margin: 30px 0 0 0
}

.attention__icon {
    height: auto;
    width: 40px;
    margin: 0 10px 0 0;
    padding-right: 10px;
    border-right: 1px solid #e1e1e1
}

.well-equipment {
    padding: 30px 0
}

.well-equipment * {
    box-sizing: border-box
}

.well-equipment__inner {
    margin: auto;
    display: grid;
    grid-template-columns: 53% 47%;
    min-height: 520px;
    background: radial-gradient(ellipse at bottom left, #edf7fe 0, transparent 48%), #fff;
    border: 1px solid #e0eaf2;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(22, 69, 104, .0392156863);
    overflow: hidden;
    isolation: isolate
}

@media (max-width:767px) {
    .well-equipment__inner {
        background: 0 0;
        box-shadow: none;
        border: none
    }
}

.well-equipment__intro {
    padding: 44px 100px 44px 30px;
    align-self: center
}

.well-equipment__title {
    margin: 0 0 30px;
    line-height: 1.2;
    letter-spacing: -.8px
}

.well-equipment__footer {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 36px
}

.well-equipment__caption {
    margin: 0;
    line-height: 1.5
}

@media (max-width:767px) {
    .well-equipment__caption {
        margin: 0 0 20px 0
    }
}

.well-equipment__caption span,
.well-equipment__caption strong {
    display: block
}

.well-equipment__caption span {
    color: #70869b
}

.well-equipment__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    min-width: 0
}

.well-equipment__navigation {
    display: none
}

.well-equipment__item {
    position: relative;
    min-width: 0;
    min-height: 520px;
    overflow: hidden;
    background: #244d6d;
    isolation: isolate
}

.well-equipment__item:first-child {
    margin-left: -70px;
    clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
    border-radius: 12px 0 0 12px;
    transition: clip-path var(--well-speed) ease
}

@media (max-width:767px) {
    .well-equipment__item:first-child {
        border-radius: 12px
    }
}

.well-equipment__item:first-child.well-equipment__item--open {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.well-equipment__item:last-child {
    border-radius: 0 12px 12px 0
}

.well-equipment__trigger {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    font: inherit;
    color: #fff;
    text-align: left;
    background: 0 0;
    cursor: pointer
}

.well-equipment__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--well-speed) ease
}

.well-equipment__item--open .well-equipment__image {
    transform: scale(1.045)
}

.well-equipment__trigger:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 30, 52, .2196078431) 0, rgba(6, 30, 52, .4) 45%, rgba(3, 26, 43, .9215686275) 100%);
    transition: background var(--well-speed) ease
}

.well-equipment__label {
    position: absolute;
    z-index: 1;
    left: 20px;
    right: 14px;
    bottom: 28px;
    transition: opacity 180ms ease, transform var(--well-speed) ease
}

.well-equipment__name {
    display: block;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 400;
    overflow-wrap: break-word
}

.well-equipment__item--open .well-equipment__label {
    opacity: 0;
    transform: translateY(-20px)
}

.well-equipment__panel {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 32, 52, .94), rgba(4, 22, 38, .99));
    color: #fff;
    transform: translateY(101%);
    visibility: hidden;
    pointer-events: none;
    transition: transform var(--well-speed) cubic-bezier(.22, .61, .36, 1), visibility 0s var(--well-speed);
    overflow-y: auto;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .1411764706)
}

.well-equipment__item--open .well-equipment__panel {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s
}

.well-equipment__panel-content {
    padding: 26px 20px
}

.well-equipment__panel-title {
    margin: 0 0 18px;
    line-height: 1.2;
    overflow-wrap: anywhere
}

.well-equipment__description {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.5
}

.well-equipment__list {
    margin: 0 0 20px;
    padding-left: 17px;
    font-size: 15px;
    line-height: 1.45
}

.well-equipment__list-item {
    margin-bottom: 10px
}

.well-equipment__list-item::marker {
    color: #78c7ff
}

.well-equipment__contact {
    color: #fff;
    line-height: 1.4;
    text-underline-offset: 4px
}

.well-equipment__close {
    display: block;
    position: relative;
    z-index: 3;
    margin: 0 0 18px auto;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, .3333333333);
    border-radius: 50%;
    background: rgba(255, 255, 255, .0705882353);
    color: #fff;
    cursor: pointer;
    font-size: 24px;
    line-height: 1
}

.well-equipment__trigger:focus-visible {
    outline: 3px solid var(--well-blue);
    outline-offset: -4px
}

@media (min-width:901px) and (max-width:1200px) {
    .well-equipment__intro {
        padding: 30px 55px 30px 0
    }

    .well-equipment__title {
        font-size: 28px
    }

    .well-equipment__text {
        font-size: 16px
    }

    .well-equipment__name {
        font-size: 16px
    }

    .well-equipment__label {
        left: 14px
    }

    .well-equipment__panel-content {
        padding: 18px 12px
    }

    .well-equipment__description,
    .well-equipment__list {
        font-size: 14px
    }
}

@media (max-width:900px) {
    .well-equipment {
        padding: 30px 20px 10px 20px
    }

    .well-equipment__inner {
        display: block
    }

    .well-equipment__intro {
        padding: 0
    }

    .well-equipment__title {
        font-size: 30px
    }

    .well-equipment__text {
        font-size: 16px
    }

    .well-equipment__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 0 16px 16px
    }

    .well-equipment__item {
        min-height: 480px
    }

    .well-equipment__item:first-child {
        margin-left: 0;
        clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%)
    }

    .well-equipment__name {
        font-size: 17px
    }

    .well-equipment__panel-content {
        padding: 18px 14px
    }

    .well-equipment__description,
    .well-equipment__list {
        font-size: 15px
    }
}

@media (max-width:620px) {
    .well-equipment__cards {
        display: flex;
        gap: 12px;
        padding: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none
    }

    .well-equipment__cards::-webkit-scrollbar {
        display: none
    }

    .well-equipment__item {
        flex: 0 0 100%;
        min-height: 430px;
        border-radius: 12px;
        scroll-snap-align: start
    }

    .well-equipment__item:first-child {
        clip-path: none
    }

    .well-equipment__item:last-child {
        border-radius: 12px
    }

    .well-equipment__image {
        object-position: center 45%
    }

    .well-equipment__panel-content {
        padding: 24px
    }

    .well-equipment__description,
    .well-equipment__list {
        font-size: 16px
    }

    .well-equipment__name {
        font-size: 22px
    }

    .well-equipment__label {
        left: 26px
    }

    .well-equipment__navigation {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 18px;
        padding: 16px 16px 20px
    }

    .well-equipment__arrow {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid #d0e3f5;
        border-radius: 50%;
        background: #fff;
        color: var(--well-blue);
        font: inherit;
        font-size: 20px;
        cursor: pointer
    }

    .well-equipment__arrow--next {
        border-color: var(--well-blue);
        background: var(--well-blue);
        color: #fff
    }

    .well-equipment__counter {
        min-width: 58px;
        color: #70869b;
        text-align: center;
        font-variant-numeric: tabular-nums
    }

    .well-equipment__current {
        color: var(--well-blue);
        font-weight: 700
    }
}

@media (prefers-reduced-motion:reduce) {

    .well-equipment__image,
    .well-equipment__item,
    .well-equipment__label,
    .well-equipment__panel {
        transition: none
    }
}

.company-video {
    position: fixed;
    left: 24px;
    bottom: 24px;
    width: 250px;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 10px;
    overflow: visible;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px) scale(.95);
    transition: width .4s ease, height .4s ease, right .4s ease, bottom .4s ease, transform .45s ease, opacity .45s ease, border-radius .4s ease
}

.company-video.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1)
}

.company-video__media {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    overflow: hidden;
    cursor: pointer;
    background: #000
}

.company-video__player {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit
}

.company-video__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 16px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .62) 100%);
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease
}

.company-video__play {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 14px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    background: rgba(0, 0, 0, .55);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px)
}

.company-video__play-icon {
    display: flex;
    align-items: center;
    justify-content: center
}

.company-video__close {
    position: absolute;
    top: -12px;
    right: -12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    color: #222;
    background: #fff;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    z-index: 20;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .18);
    transition: transform .2s ease, background-color .2s ease
}

.company-video__close:hover {
    transform: scale(1.08);
    background: #f2f2f2
}

.company-video__collapse {
    position: absolute;
    top: 18px;
    right: 18px;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #fff;
    background: rgba(0, 0, 0, .55);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    backdrop-filter: blur(8px);
    cursor: pointer;
    z-index: 20;
    transition: background-color .2s ease, transform .2s ease
}

.company-video__collapse:hover {
    background: rgba(0, 0, 0, .8);
    transform: scale(1.05)
}

.company-video.is-expanded {
    right: 50%;
    bottom: 50%;
    width: min(1100px, 100vw - 80px);
    height: auto;
    aspect-ratio: 16/9;
    border-radius: 20px;
    transform: translate(35%, 50%);
    z-index: 10001
}

.company-video.is-expanded .company-video__overlay {
    opacity: 0;
    visibility: hidden
}

.company-video.is-expanded .company-video__close {
    display: none
}

.company-video.is-expanded .company-video__collapse {
    display: flex
}

.company-video-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(10, 15, 20, .75);
    backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    z-index: 10000;
    transition: opacity .3s ease, visibility .3s ease
}

.company-video-backdrop.is-visible {
    opacity: 1;
    visibility: visible
}

@media (max-width:767px) {
    .company-video {
        left: 12px;
        right: auto;
        bottom: 16px;
        width: 210px;
        border-radius: 12px
    }

    .company-video__overlay {
        padding: 10px
    }

    .company-video__play {
        padding: 7px 10px;
        font-size: 11px
    }

    .company-video__close {
        top: -10px;
        right: -8px;
        width: 30px;
        height: 30px
    }

    .company-video.is-expanded {
        right: 12px;
        bottom: 50%;
        width: calc(100vw - 24px);
        border-radius: 14px;
        transform: translateY(50%)
    }

    .company-video__collapse {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px
    }
}

.drilling-errors {
    padding: 70px 0;
    background: var(--section-background-muted)
}

.drilling-errors__header {
    margin-bottom: 42px;
    text-align: left
}

.drilling-errors__eyebrow::before {
    content: "";
    display: block;
    width: 33px;
    height: 2px;
    flex-shrink: 0;
    background: #168bd4
}

.drilling-errors__title {
    margin: 0 0 22px;
    line-height: 1.03;
    letter-spacing: -.035em
}

.drilling-errors__title span {
    color: var(--cert-blue)
}

.drilling-errors__lead {
    margin: 0 0 13px;
    font-size: 18px
}

.drilling-errors__description {
    margin: 0;
    color: #6b7d96;
    font-size: 16px;
    line-height: 1.55
}

.drilling-errors__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 24px
}

.drilling-errors__card {
    min-width: 0;
    padding: 28px 26px 26px;
    border: 1px solid #edf2f7;
    border-radius: 18px;
    background: linear-gradient(145deg, #fff 0, rgba(252, 253, 255, .98) 100%);
    box-shadow: 0 8px 32px rgba(14, 45, 86, .035)
}

.drilling-errors__card-header {
    display: grid;
    grid-template-columns: auto 1px minmax(0, 1fr);
    align-items: center;
    gap: 27px;
    margin-bottom: 25px
}

.drilling-errors__card-header::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    width: 1px;
    height: 61px;
    background: #bcc9d8
}

.drilling-errors__number {
    grid-column: 1;
    grid-row: 1;
    color: var(--cert-blue);
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.06em
}

.drilling-errors__card-title {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.17
}

.drilling-errors__info {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 18px;
    min-height: 133px;
    padding: 21px 20px;
    border-radius: 15px
}

.drilling-errors__info+.drilling-errors__info {
    margin-top: 12px
}

.drilling-errors__info--warning {
    background: linear-gradient(135deg, rgba(241, 245, 249, .98), rgba(235, 241, 247, .88))
}

.drilling-errors__info--success {
    background: linear-gradient(135deg, #eef8ff 0, #e2f2ff 100%)
}

.drilling-errors__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0
}

.drilling-errors__icon--warning {
    color: #0d2447
}

.drilling-errors__icon--success {
    border-radius: 50%;
    background: #006bc9;
    color: #fff
}

.drilling-errors__info-content {
    min-width: 0
}

.drilling-errors__info-title {
    display: block;
    margin-bottom: 8px;
    color: var(--cert-blue);
    font-weight: 600;
    line-height: 1.3
}

.drilling-errors__info--success .drilling-errors__info-title {
    color: var(--cert-blue)
}

.drilling-errors__info-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.47
}

.drilling-errors__approach {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    overflow: hidden;
    border: 1px solid #e9f0f7;
    border-radius: 18px;
    background: linear-gradient(110deg, #fff 0, rgba(255, 255, 255, .95) 100%)
}

.drilling-errors__approach-main {
    padding: 27px 31px 23px
}

.drilling-errors__approach-title {
    position: relative;
    margin: 0 0 25px;
    padding-left: 53px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2
}

.drilling-errors__approach-title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 38px;
    height: 3px;
    background: var(--cert-blue);
    transform: translateY(-50%)
}

.drilling-errors__steps {
    display: grid;
    grid-template-columns: minmax(145px, 1fr) minmax(190px, 1.2fr) minmax(190px, 1.2fr) minmax(160px, 1fr) minmax(120px, 0.85fr);
    gap: 26px;
    margin: 0;
    padding: 0 0 20px;
    border-bottom: 1px solid #cfdbe7;
    list-style: none
}

.drilling-errors__step {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-width: 0
}

.drilling-errors__step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -16px;
    width: 10px;
    height: 10px;
    border-top: 1.5px solid #2197dc;
    border-right: 1.5px solid #2197dc;
    transform: translateY(-50%) rotate(45deg)
}

.drilling-errors__step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1.5px solid var(--cert-blue);
    border-radius: 50%;
    background: #fff;
    color: var(--cert-blue);
    font-size: 18px;
    font-weight: 800
}

.drilling-errors__step-text {
    font-size: 14px;
    line-height: 1.32
}

.drilling-errors__approach-description {
    margin: 14px 0 0;
    color: #6d7f97;
    font-size: 14px;
    line-height: 1.55
}

.drilling-errors__cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border-left: 1px solid #cfdae6;
    text-align: center
}

.drilling-errors__logo {
    position: relative;
    display: inline-flex;
    align-self: flex-end;
    margin-bottom: 27px;
    padding-bottom: 7px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1
}

.drilling-errors__logo::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--cert-blue)
}

.drilling-errors__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 15px 22px;
    border-radius: 12px;
    background: #0060c2;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease
}

.drilling-errors__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(13, 142, 216, .23)
}

.drilling-errors__button svg {
    flex-shrink: 0
}

.drilling-errors__cta-text {
    margin: 15px 0 0;
    color: #4d7099;
    font-size: 13px;
    line-height: 1.4
}

.drilling-errors__cta-text strong {
    font-weight: 600
}

@media (max-width:1280px) {
    .drilling-errors__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .drilling-errors__card:last-child {
        grid-column: 1/-1
    }

    .drilling-errors__steps {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 24px
    }

    .drilling-errors__step:not(:last-child)::after {
        display: none
    }
}

@media (max-width:1024px) {
    .drilling-errors {
        padding: 70px 0
    }

    .drilling-errors__approach {
        grid-template-columns: 1fr
    }

    .drilling-errors__cta {
        border-top: 1px solid #cfdae6;
        border-left: 0
    }

    .drilling-errors__logo {
        align-self: center
    }

    .drilling-errors__button {
        max-width: 340px;
        width: 100%;
        margin: 0 auto
    }
}

@media (max-width:767px) {
    .drilling-errors {
        padding: 50px 0
    }

    .drilling-errors__header {
        margin-bottom: 30px
    }

    .drilling-errors__eyebrow {
        gap: 10px;
        font-size: 10px;
        letter-spacing: .18em
    }

    .drilling-errors__eyebrow::before {
        width: 25px
    }

    .drilling-errors__title br {
        display: none
    }

    .drilling-errors__description {
        font-size: 14px
    }

    .drilling-errors__grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .drilling-errors__card:last-child {
        grid-column: auto
    }

    .drilling-errors__card {
        padding: 21px 17px
    }

    .drilling-errors__card-header {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 18px
    }

    .drilling-errors__card-header::before {
        display: none
    }

    .drilling-errors__number {
        grid-column: 1;
        font-size: 45px
    }

    .drilling-errors__card-title {
        grid-column: 2;
        font-size: 19px
    }

    .drilling-errors__card-title br {
        display: none
    }

    .drilling-errors__info {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        min-height: 0;
        padding: 17px 15px
    }

    .drilling-errors__icon {
        width: 32px;
        height: 32px
    }

    .drilling-errors__icon svg {
        max-width: 23px;
        max-height: 23px
    }

    .drilling-errors__info-title {
        font-size: 15px
    }

    .drilling-errors__info-text {
        font-size: 14px
    }

    .drilling-errors__approach-main {
        padding: 23px 18px
    }

    .drilling-errors__approach-title {
        padding-left: 38px;
        font-size: 23px
    }

    .drilling-errors__approach-title::before {
        width: 27px
    }

    .drilling-errors__steps {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .drilling-errors__step {
        grid-template-columns: 42px minmax(0, 1fr)
    }

    .drilling-errors__step-number {
        width: 40px;
        height: 40px
    }

    .drilling-errors__step-text br {
        display: none
    }

    .drilling-errors__cta {
        padding: 24px 18px
    }
}

.comerc {
    padding: 0 0 70px 0;
    background: var(--section-background)
}

.wrapper-comerc {
    background-image: url(../img/optimized/bg-kp-2.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
    box-sizing: border-box;
    padding: 30px 30px;
    border-radius: 10px 10px
}

.wrapper-comerc h2 {
    margin: 0 0 30px 0
}

@media (max-width:767px) {
    .wrapper-comerc h2 {
        order: 1
    }
}

.wrapper-comerc__load {
    display: flex;
    align-items: center;
    float: right;
    width: 350px;
    margin: 0 0 20px 50px;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(250, 252, 255, .98) 0, rgba(244, 248, 252, .98) 100%);
    box-sizing: border-box;
    padding: 20px 20px;
    border: 2px dashed var(--cert-blue)
}

.wrapper-comerc__load .btn {
    background-color: var(--cert-blue);
    width: 100%;
    padding: 14px 20px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 12px 12px;
    margin: 6px 0 0 0;
    justify-content: center
}

.wrapper-comerc__icon {
    width: 50px;
    margin: 0 20px 0 0
}

.wrapper-comerc__content {
    width: calc(100% - 70px)
}

.footer {
    background-image: url(../img/optimized/bg-footer.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 60px 0
}

.wrap-footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    color: var(--cert-white)
}

.wrap-footer .btn {
    background: var(--cert-white);
    color: var(--cert-text);
    text-transform: none;
    padding: 16px 30px;
    margin: 10px 0 0 0
}

.footer-brend {
    width: 28%
}

.footer-logo {
    display: flex;
    align-items: center;
    margin: 0 0 20px 0
}

.footer-logo__icon {
    height: auto;
    width: 60px;
    margin: 0 6px 0 0
}

@media (max-width:767px) {
    .footer-logo__title {
        font-size: calc(30px + 23.8 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .footer-logo__title {
        font-size: calc(30px + 14 * 100vw / 1920)
    }
}

.footer-logo__title {
    text-transform: uppercase;
    font-weight: 600
}

.footer-logo__text {
    font-size: 14px;
    color: rgba(255, 255, 255, .75)
}

.menu-footer {
    width: 40%;
    display: flex;
    justify-content: space-between
}

.menu-footer__item {
    width: 40%
}

.menu-footer__title {
    font-weight: 500;
    margin: 18px 0 14px 0;
    text-transform: uppercase
}

.menu-footer-list {
    margin: 0;
    padding: 0;
    list-style: none
}

.menu-footer-list__item {
    line-height: 1.7;
    padding: 0 0 6px 0
}

.menu-footer-list__item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, .25);
    margin: 0 0 6px 0
}

.menu-footer-list__link {
    color: var(--cert-white)
}

.contact-footer {
    width: 25%;
    background-color: #083c6b;
    backdrop-filter: blur(15px);
    box-sizing: border-box;
    padding: 18px 18px;
    border-radius: 10px 10px
}

.contact-footer__title {
    font-weight: 500;
    margin: 0 0 14px 0;
    text-transform: uppercase
}

.contact-footer__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 16px 0
}

.contact-footer__bg {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 10px 10px;
    background-color: #004795
}

.contact-footer__icon {
    width: 100%
}

.contact-footer__content {
    width: calc(100% - 50px)
}

.contact-footer__link {
    color: var(--cert-white)
}

.contact-footer__text {
    color: rgba(255, 255, 255, .75);
    margin: 4px 0 0 0
}

.contact-footer__text span {
    color: var(--cert-white)
}

.footer-social {
    border-top: 1px solid rgba(255, 255, 255, .25);
    padding: 14px 0 0 0
}

.footer-social__text {
    margin: 0 0 10px 0
}

.footer-social__link {
    width: 30px
}

.footer-social__link:not(:last-child) {
    margin: 0 5px 0 0
}

.footer-social__link .footer__social-bg,
.footer-social__link .footer__social-color {
    transition: fill .3s ease, fill-opacity .3s ease
}

.footer-social__link[aria-label=youtube]:hover .footer__social-bg {
    fill: #FF0000;
    fill-opacity: 1
}

.footer-social__link[aria-label=youtube]:hover .footer__social-color {
    fill: #FFFFFF
}

.footer-social__link[aria-label=rutube]:hover .footer__social-bg {
    fill: #000000;
    fill-opacity: 1
}

.footer-social__link[aria-label=rutube]:hover .footer__social-color {
    fill: #FFFFFF
}

.footer-social__link[aria-label=Vkontakte]:hover .footer__social-bg {
    fill: #08c;
    fill-opacity: 1
}

.footer-social__link[aria-label=Vkontakte]:hover .footer__social-color {
    fill: #FFFFFF
}

.footer-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--cert-white);
    margin: 40px 0 0 0;
    border-top: 1px solid rgba(255, 255, 255, .25);
    padding: 30px 0 0 0
}

.footer-info__link {
    color: var(--cert-white)
}

.contact {
    padding: 70px 0;
    background: var(--section-background)
}

@media (max-width:767px) {
    .contact {
        padding: 20px 0 50px 0
    }
}

.wrapper-contact {
    display: flex;
    justify-content: space-between
}

.wrapper-contact__content {
    width: 47%
}

.wrapper-contact__content h2 {
    margin: 0 0 30px 0
}

.wrapper-contact__content p {
    margin: 0 0 30px 0
}

.wrapper-contact__map {
    width: 50%
}

.map-contact {
    width: 100%;
    height: 540px;
    box-shadow: rgba(0, 0, 0, .02) 0 1px 3px 0, rgba(27, 31, 35, .15) 0 0 0 1px
}

#map [class*=ground-pane] {
    filter: saturate(.4) brightness(1.06)
}

.map-marker {
    position: relative;
    width: 218px;
    height: 143px;
    transform: translate(-109px, -143px)
}

.map-marker__card {
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 218px;
    min-height: 96px;
    padding: 15px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(30, 56, 82, .2);
    font-family: Arial, sans-serif
}

.map-marker__logo {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    object-fit: contain
}

.map-marker__title {
    margin: 0 0 5px;
    color: #102342;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1
}

.map-marker__address {
    margin: 0;
    color: #405576;
    font-size: 11px;
    line-height: 1.35
}

.map-marker__pin {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 30px;
    height: 38px;
    transform: translateX(-50%);
    filter: drop-shadow(0 4px 3px rgba(0, 75, 160, .25))
}

.map-marker__pin::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 50% 50% 50% 0;
    background: #0874d1;
    transform: rotate(-45deg)
}

.map-marker__pin::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 9px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff
}

.contact-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px 0;
    border-bottom: 1px solid #e1e1e1;
    padding: 0 0 20px 0
}

.contact-group__bg {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background-color: #f4fafe;
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
    padding: 10px 10px
}

.contact-group__icon {
    height: auto;
    width: 100%
}

.contact-group__content {
    width: calc(100% - 65px)
}

.contact-group__text {
    color: #70869b
}

.contact-text {
    font-weight: 500;
    margin: 0 0 10px 0
}

.contact-social {
    display: flex
}

.contact-social__link {
    display: flex;
    align-items: center;
    border-radius: 12px 12px;
    box-sizing: border-box;
    padding: 8px 20px;
    color: var(--cert-white)
}

.contact-social__link:not(:last-child) {
    margin: 0 16px 0 0
}

.contact-social__link:first-child {
    background: linear-gradient(135deg, #9e1aff 0, #6e1aff 20%, #4731ff 40%, #3141ff 58%, #0078fc 78%, #01b6f5 100%)
}

.contact-social__link:last-child {
    background: linear-gradient(135deg, #00bfff 0, #229ed9 45%, #168acd 100%)
}

.contact-social__icon {
    width: 24px;
    margin: 0 8px 0 0
}

.faq {
    padding: 50px 0
}

.faq__header {
    margin-bottom: 42px
}

.faq__title {
    margin: 0 0 30px 0
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none
}

.faq__item {
    position: relative;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: flex-start;
    gap: 20px
}

.faq__item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 52px;
    bottom: -16px;
    left: 33px;
    width: 1px;
    background: color-mix(in srgb, var(--cert-blue) 22%, var(--cert-white))
}

.faq__number {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto;
    border: 1px solid color-mix(in srgb, var(--cert-blue) 20%, var(--cert-white));
    border-radius: 50%;
    background: color-mix(in srgb, var(--cert-blue) 8%, var(--cert-white));
    color: var(--cert-blue);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transition: background var(--well-speed), color var(--well-speed), border-color var(--well-speed)
}

.faq__item--active .faq__number {
    background: var(--cert-blue);
    border-color: var(--cert-blue);
    color: var(--cert-white)
}

.faq__card {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cert-blue) 16%, var(--cert-white));
    border-radius: 14px;
    background: var(--cert-white);
    transition: border-color var(--well-speed), background var(--well-speed)
}

.faq__item--active .faq__card {
    border-color: color-mix(in srgb, var(--cert-blue) 22%, var(--cert-white));
    background: color-mix(in srgb, var(--cert-blue) 3%, var(--cert-white))
}

.faq__question {
    margin: 0;
    font-size: 18px
}

.faq__button {
    width: 100%;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 16px 28px;
    border: 0;
    background: 0 0;
    color: var(--cert-text);
    font: inherit;
    text-align: left;
    cursor: pointer
}

.faq__question-text {
    font-weight: 500;
    line-height: 1.3
}

.faq__icon {
    flex: 0 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--cert-text);
    transition: color var(--well-speed), transform var(--well-speed)
}

.faq__icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.faq__item--active .faq__icon {
    color: var(--cert-blue)
}

.faq__answer {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows var(--well-speed), opacity var(--well-speed)
}

.faq__answer[hidden] {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0
}

.faq__answer-inner {
    overflow: hidden
}

.faq__answer-inner p {
    max-width: 940px;
    margin: 0;
    padding: 4px 28px 30px
}

@media (hover:hover) {
    .faq__button:hover .faq__question-text {
        color: var(--cert-blue)
    }

    .faq__button:hover .faq__icon {
        color: var(--cert-blue)
    }
}

@media (max-width:1024px) {
    .faq {
        padding: 80px 0
    }

    .faq__item {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 16px
    }

    .faq__number {
        width: 48px;
        height: 48px;
        font-size: 15px
    }

    .faq__item:not(:last-child)::before {
        top: 47px;
        left: 28px
    }

    .faq__button {
        min-height: 70px;
        padding: 18px 24px
    }

    .faq__answer-inner p {
        padding: 3px 24px 26px;
        font-size: 16px
    }
}

@media (max-width:640px) {
    .faq {
        padding: 50px 0
    }

    .faq__header {
        margin-bottom: 28px
    }

    .faq__list {
        gap: 12px
    }

    .faq__item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px
    }

    .faq__number {
        width: 38px;
        height: 38px;
        font-size: 12px
    }

    .faq__item:not(:last-child)::before {
        top: 38px;
        bottom: -12px;
        left: 20px
    }

    .faq__card {
        border-radius: 12px
    }

    .faq__button {
        min-height: 60px;
        gap: 15px;
        padding: 15px 16px
    }

    .faq__icon {
        flex-basis: 20px;
        width: 20px;
        height: 20px
    }

    .faq__icon svg {
        width: 15px;
        height: 15px
    }

    .faq__answer-inner p {
        padding: 0 16px 20px;
        font-size: 14px;
        line-height: 1.55
    }
}

.portfolio {
    --portfolio-gap: 24px;
    padding: 64px 0;
    color: var(--cert-text, #1a293f);
    background: var(--section-background-muted)
}

.portfolio *,
.portfolio ::after,
.portfolio ::before {
    box-sizing: border-box
}

.portfolio__header {
    margin-bottom: 30px
}

.portfolio__title {
    margin: 0 0 12px
}

.portfolio__subtitle {
    margin: 0
}

.portfolio__viewport {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none
}

.portfolio__viewport::-webkit-scrollbar {
    display: none
}

.portfolio__track {
    display: flex;
    align-items: stretch;
    gap: var(--portfolio-gap);
    margin: 0;
    padding: 0;
    list-style: none
}

.portfolio__slide {
    display: flex;
    flex: 0 0 calc((100% - var(--portfolio-gap))/ 2);
    min-width: 0;
    scroll-snap-align: start
}

.portfolio-card {
    position: relative;
    width: 100%;
    min-height: 500px;
    overflow: hidden;
    border-radius: 24px;
    background: #13283c;
    color: #fff;
    isolation: isolate
}

.portfolio-card__image,
.portfolio-card__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.portfolio-card__image {
    object-fit: cover;
    transition: transform .5s ease;
    z-index: -2
}

.portfolio-card__overlay {
    background: linear-gradient(180deg, rgba(5, 25, 43, .04) 22%, rgba(4, 25, 43, .92) 100%);
    z-index: -1
}

.portfolio-card__content {
    display: flex;
    flex-direction: column;
    min-height: 500px;
    padding: 22px 26px 24px
}

.portfolio-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px
}

.portfolio-card__category,
.portfolio-card__year {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 600
}

.portfolio-card__category {
    color: var(--header-top, #00498b);
    background: rgba(255, 255, 255, .94)
}

.portfolio-card__year {
    color: #fff;
    background: rgba(43, 65, 88, .76)
}

.portfolio-card__body {
    margin-top: auto
}

.portfolio-card__location {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px
}

.portfolio-card__location svg {
    flex-shrink: 0
}

.portfolio-card__title {
    max-width: 500px;
    margin: 0 0 16px;
    color: inherit
}

.portfolio-card__features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none
}

.portfolio-card__features li {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(47, 62, 78, .72);
    font-weight: 500
}

.portfolio-card__footer {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .2)
}

.portfolio-card__open {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    color: inherit;
    background: 0 0;
    font: inherit;
    font-weight: 600;
    cursor: pointer
}

.portfolio-card__arrow {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: var(--cert-blue, #0060c2);
    transition: background-color .2s, transform .2s
}

.portfolio__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 26px
}

.portfolio__navigation {
    display: flex;
    align-items: center;
    gap: 18px
}

.portfolio__arrow {
    display: grid;
    width: 52px;
    height: 52px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--header-top, #00498b);
    font: inherit;
    cursor: pointer;
    transition: background-color .2s, color .2s
}

.portfolio__arrow_next {
    background: var(--cert-blue, #0060c2);
    color: #fff
}

.portfolio__arrow:disabled {
    opacity: .45;
    cursor: default
}

.portfolio__counter {
    min-width: 66px;
    color: #8a94a3;
    text-align: center;
    font-variant-numeric: tabular-nums;
    white-space: nowrap
}

.portfolio__current {
    color: var(--cert-blue, #0060c2);
    font-weight: 600
}

.portfolio :is(button, [tabindex]):focus-visible {
    outline: 3px solid #51aaff;
    outline-offset: 3px
}

.portfolio-modal {
    width: min(920px, 100% - 32px);
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: auto;
    border: 0;
    border-radius: 20px;
    background: #fff;
    color: var(--cert-text, #1a293f)
}

.portfolio-modal::backdrop {
    background: rgba(8, 22, 36, .78);
    backdrop-filter: blur(3px)
}

.portfolio-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #17344f;
    font: inherit;
    font-size: 28px;
    line-height: 1;
    cursor: pointer
}

.portfolio-modal__layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
    min-height: 500px
}

.portfolio-modal__image {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover
}

.portfolio-modal__content {
    align-self: center;
    padding: 64px 48px 48px
}

.portfolio-modal__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    color: var(--cert-blue, #0060c2);
    font-weight: 600
}

.portfolio-modal__location {
    margin: 0 0 10px;
    color: #697689
}

.portfolio-modal__title {
    margin: 0 0 18px
}

.portfolio-modal__description {
    margin: 0 0 24px;
    color: #4f5e72
}

.portfolio-modal__features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none
}

.portfolio-modal__features li {
    padding: 8px 12px;
    border-radius: 8px;
    background: #eef4fa;
    color: #24445f
}

@media (hover:hover) {
    .portfolio-card:hover .portfolio-card__image {
        transform: scale(1.035)
    }

    .portfolio-card__open:hover .portfolio-card__arrow {
        background: #0088ec;
        transform: translateX(3px)
    }

    .portfolio__arrow:hover {
        background: var(--header-top, #00498b);
        color: #fff
    }
}

@media (max-width:900px) {
    .portfolio__slide {
        flex-basis: calc((100% - var(--portfolio-gap))/ 1.35)
    }

    .portfolio-modal__layout {
        grid-template-columns: 1fr
    }

    .portfolio-modal__image {
        height: 300px;
        min-height: 0
    }

    .portfolio-modal__content {
        padding: 32px
    }
}

@media (max-width:639px) {
    .portfolio {
        --portfolio-gap: 16px;
        padding: 40px 0
    }

    .portfolio__slide {
        flex-basis: 100%
    }

    .portfolio-card,
    .portfolio-card__content {
        min-height: 470px
    }

    .portfolio-card {
        border-radius: 18px
    }

    .portfolio-card__content {
        padding: 18px
    }

    .portfolio-card__category,
    .portfolio-card__year {
        min-height: 32px;
        padding: 6px 10px
    }

    .portfolio__footer {
        justify-content: center
    }

    .portfolio-modal__image {
        height: 230px
    }

    .portfolio-modal__content {
        padding: 28px 20px
    }
}

.reviews {
    padding: 48px 0;
    color: var(--cert-text, #1a293f);
    background: var(--section-background);
}

.reviews *,
.reviews ::after,
.reviews ::before {
    box-sizing: border-box
}

.reviews__header {
    margin-bottom: 28px
}

.reviews__title {
    margin: 0 0 12px
}

.reviews__viewport {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 2px;
    scrollbar-width: none
}

.reviews__viewport::-webkit-scrollbar {
    display: none
}

.reviews__track {
    display: flex;
    align-items: stretch;
    gap: var(--reviews-gap);
    padding: 0 2px;
    margin: 0;
    list-style: none
}

.reviews__track::after {
    content: "";
    flex: 0 0 2px;
    margin-left: calc(-1 * var(--reviews-gap))
}

.reviews__slide {
    display: flex;
    flex: 0 0 calc((100% - 2 * var(--reviews-gap))/ 3);
    min-width: 0;
    scroll-snap-align: start
}

.reviews-card {
    position: relative;
    width: 100%;
    min-height: 330px;
    padding: 26px 26px 70px;
    border: 1px solid #dfe4ec;
    border-radius: 12px;
    background: linear-gradient(145deg, #fff 65%, #f6f8fa)
}

.reviews-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px
}

.reviews-card__avatar {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #eef0f3;
    color: #c6ccd4
}

.reviews-card__author {
    min-width: 0
}

.reviews-card__level {
    margin: 0;
    font-size: 14px;
    color: #8992a2
}

.reviews-card__date {
    display: grid;
    flex-shrink: 0;
    gap: 4px;
    margin-left: auto;
    text-align: right;
    color: #8992a2;
    font-size: .8em
}

.reviews-card__rating {
    margin-bottom: 12px;
    color: #ffb21b;
    font-size: 28px;
    letter-spacing: 2px;
    line-height: 1
}

.reviews-card__quote {
    margin: 0;
    overflow-wrap: anywhere
}

.reviews-card__quote p {
    margin: 0
}

.reviews-card__open {
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    color: var(--cert-text, #1a293f);
    background: #f0f2f5;
    transition: background-color .2s, color .2s
}

.reviews__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 26px
}

.reviews__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 14px 28px;
    border-radius: 12px;
    color: var(--cert-white, #fff);
    background: var(--cert-blue, #0060c2);
    font-weight: 500;
    text-decoration: none;
    transition: background-color .2s
}

.reviews__all svg {
    flex-shrink: 0
}

.reviews__navigation {
    display: flex;
    align-items: center;
    gap: 20px
}

.reviews__arrow {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    font: inherit
}

.reviews__arrow_prev {
    color: var(--header-top, #00498b);
    background: #f0f2f5
}

.reviews__arrow_next {
    color: #fff;
    background: var(--cert-blue, #0060c2)
}

.reviews__counter {
    min-width: 65px;
    text-align: center;
    color: #929aaa;
    font-variant-numeric: tabular-nums;
    white-space: nowrap
}

.reviews__current {
    color: var(--cert-blue, #0060c2);
    font-weight: 600
}

.reviews :is(a, button, [tabindex]):focus-visible {
    outline: 3px solid var(--well-blue, #006bc9);
    outline-offset: -3px
}

.reviews__arrow:disabled {
    opacity: .4;
    cursor: default
}

.reviews-modal {
    max-width: min(1000px, 100vw - 32px);
    max-height: calc(100dvh - 32px);
    padding: 58px 16px 16px;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: var(--cert-text, #1a293f)
}

.reviews-modal::backdrop {
    background: rgba(12, 22, 38, .78)
}

.reviews-modal__close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f0f2f5;
    color: inherit;
    font: inherit;
    font-size: 28px;
    cursor: pointer
}

.reviews-modal__image {
    display: block;
    max-width: 100%;
    height: auto;
    margin: auto
}

.reviews-modal [hidden] {
    display: none
}

.reviews-modal__status {
    margin: 12px
}

@media (hover:hover) {

    .reviews-card__open:hover,
    .reviews__arrow_prev:hover {
        background: var(--cert-blue, #0060c2);
        color: #fff
    }

    .reviews__all:hover,
    .reviews__arrow_next:hover {
        background: var(--header-top, #00498b)
    }
}

@media (max-width:1200px) {
    .reviews-card__header {
        flex-wrap: wrap
    }

    .reviews-card__date {
        flex-basis: 100%;
        margin-left: 60px;
        text-align: left
    }
}

@media (max-width:1023px) {
    .reviews__slide {
        flex-basis: calc((100% - var(--reviews-gap))/ 2)
    }
}

@media (max-width:639px) {
    .reviews {
        padding: 32px 0;
        --reviews-gap: 16px
    }

    .reviews__slide {
        flex-basis: 100%
    }

    .reviews-card {
        padding: 22px 20px 72px
    }

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

    .reviews__all {
        padding: 18px 20px
    }

    .reviews__navigation {
        justify-content: center
    }
}

@media (min-width:769px) and (max-width:1023px) {
    .wrapper-industrial-well__content {
        width: 100%
    }

    .wrapper-industrial-well__tech {
        width: 42%;
        margin-left: 32px
    }

    .clarifications-industrial {
        flex-wrap: wrap
    }

    .clarifications-industrial__item {
        width: calc(50% - 10px)
    }

    .wrapper-contact {
        gap: 32px
    }

    .wrapper-contact__content,
    .wrapper-contact__map {
        width: calc(50% - 16px)
    }

    .contact-social {
        flex-wrap: wrap;
        gap: 10px
    }

    .contact-social__link:not(:last-child) {
        margin-right: 0
    }

    .wrap-footer {
        flex-wrap: wrap;
        gap: 32px
    }

    .contact-footer,
    .footer-brend {
        width: calc(50% - 16px)
    }

    .menu-footer {
        order: 3;
        width: 100%
    }
}

@media (max-width:768px) {

    .comerc,
    .industrial-well,
    .proect {
        padding-bottom: 40px
    }

    .wrapper-industrial-well {
        margin-top: 24px
    }

    .wrapper-industrial-well__content {
        width: 100%
    }

    .wrapper-industrial-well__tech {
        float: none;
        width: 100%;
        margin: 0 0 24px;
        padding: 16px;
        overflow: hidden
    }

    .wrapper-industrial-well__icon {
        width: 110px;
        height: 170px;
        margin-left: 16px
    }

    .wrapper-industrial-well__subtitle {
        font-size: 26px
    }

    .attention,
    .order {
        align-items: flex-start
    }

    .clarifications-industrial {
        flex-wrap: wrap;
        gap: 12px;
        margin: 28px 0
    }

    .clarifications-industrial__item {
        width: calc(50% - 6px)
    }

    .wrapper-comerc,
    .wrapper-proect {
        padding: 0
    }

    .well-equipment {
        padding-right: 0;
        padding-left: 0
    }

    .wrapper-comerc {
        background-position: 64% center
    }

    .wrapper-comerc__load {
        float: none;
        width: calc(100% - 36px);
        margin: 0 18px 24px;
        padding: 16px
    }

    .wrapper-comerc>h2 {
        margin-right: 18px;
        margin-left: 18px
    }

    .wrapper-comerc>p {
        margin-right: 18px;
        margin-bottom: 18px;
        margin-left: 18px
    }

    .wrapper-comerc__icon {
        flex: 0 0 42px;
        width: 42px;
        margin-right: 14px
    }

    .wrapper-comerc__content {
        min-width: 0;
        width: calc(100% - 56px)
    }

    .drilling-errors__button {
        box-sizing: border-box
    }

    .wrapper-contact {
        flex-direction: column;
        gap: 32px
    }

    .wrapper-contact__content,
    .wrapper-contact__map {
        width: 100%
    }

    .map-contact {
        height: 270px
    }

    .contact-social {
        flex-wrap: wrap;
        gap: 10px
    }

    .contact-social__link {
        justify-content: center;
        min-height: 44px
    }

    .contact-social__link:not(:last-child) {
        margin-right: 0
    }

    .footer {
        padding: 44px 0 30px
    }

    .wrap-footer {
        flex-direction: column;
        gap: 30px
    }

    .contact-footer,
    .footer-brend,
    .menu-footer {
        width: 100%
    }

    .menu-footer {
        gap: 24px
    }

    .menu-footer__item {
        width: calc(50% - 12px)
    }

    .footer-info {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-top: 30px;
        padding-top: 24px
    }
}

@media (max-width:639px) {
    .reviews .reviews-card__date {
        flex-basis: 100%;
        margin-left: 0;
        padding-left: 60px
    }
}

@media (max-width:420px) {
    .clarifications-industrial__item {
        width: 100%
    }

    .attention,
    .order {
        padding: 12px
    }

    .wrapper-proect {
        padding: 0
    }

    .wrapper-comerc {
        display: flex;
        flex-direction: column-reverse;
        padding: 15px 0 0 0
    }

    .wrapper-comerc__load {
        align-items: center;
        padding: 14px
    }

    .contact-group {
        align-items: flex-start
    }

    .contact-social {
        flex-direction: column
    }

    .contact-social__link {
        width: 100%
    }

    .menu-footer {
        flex-direction: column
    }

    .menu-footer__item {
        width: 100%
    }
}

.company {
    padding: 70px 0;
    background: var(--section-background)
}

.company h2 {
    margin: 0 0 24px 0
}

.wrapper-company {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    align-items: center;
    gap: 80px
}

.wrapper-company__content {
    min-width: 0
}

.wrapper-company__grid {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    grid-template-rows: repeat(6, 1fr);
    gap: 10px;
    width: 100%;
    height: 650px
}

.wrapper-company__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px
}

.wrapper-company__img:first-child {
    grid-column: 1;
    grid-row: 1/3
}

.wrapper-company__img:nth-child(2) {
    grid-column: 1;
    grid-row: 3/5
}

.wrapper-company__img:nth-child(3) {
    grid-column: 1;
    grid-row: 5/7
}

.wrapper-company__img:nth-child(4) {
    grid-column: 2;
    grid-row: 1/4
}

.wrapper-company__img:nth-child(5) {
    grid-column: 2;
    grid-row: 4/7
}

@media (max-width:1200px) {
    .wrapper-company {
        gap: 40px
    }

    .wrapper-company__grid {
        height: 550px
    }
}

@media (max-width:900px) {
    .wrapper-company {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .wrapper-company__grid {
        height: 550px
    }
}

@media (max-width:600px) {
    .company {
        padding: 40px 0 50px 0
    }

    .wrapper-company__grid {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        height: 430px
    }

    .wrapper-company__img {
        border-radius: 7px
    }
}

.certificates {
    width: 100%;
    margin-top: 20px
}

.certificates h4 {
    margin: 0 0 16px;
    font-weight: 600
}

.certificates__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none
}

.certificates__item {
    width: 100%
}

.certificates__link {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 14px;
    border: 1px solid #e2e7ec;
    border-radius: 10px;
    background: #fff;
    text-decoration: none;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background-color .25s ease
}

.certificates__link:hover {
    border-color: #0060c2;
    background: #f8fbff;
    box-shadow: 0 8px 24px rgba(0, 73, 139, .08);
    transform: translateY(-2px)
}

.certificates__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef6ff
}

.certificates__icon svg {
    width: 22px;
    height: 22px;
    stroke: #0060C2
}

.certificates__content {
    min-width: 0;
    flex: 1
}

.certificates__name {
    display: block;
    margin-bottom: 4px;
    line-height: 1.35;
    font-weight: 500
}

.certificates__meta {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    color: #7d8996
}

.certificates__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f3f7fb;
    transition: background-color .25s ease, transform .25s ease
}

.certificates__arrow svg {
    width: 17px;
    height: 17px;
    stroke: #0060C2
}

.certificates__link:hover .certificates__arrow {
    background: #0060c2;
    transform: translateX(2px)
}

.certificates__link:hover .certificates__arrow svg {
    stroke: #ffffff
}

@media (max-width:768px) {
    .certificates {
        max-width: 100%;
        margin-top: 28px
    }

    .certificates__link {
        box-sizing: border-box;
        padding: 11px 12px
    }

    .certificates__name {
        font-size: 14px
    }

    .certificates__arrow {
        display: none
    }
}

.popupcookies {
    width: min(780px, 100% - 32px);
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    box-sizing: border-box;
    padding: 14px 14px;
    border-radius: 10px 10px;
    box-shadow: rgba(0, 0, 0, .16) 0 10px 36px 0, rgba(0, 0, 0, .06) 0 0 0 1px;
    background-color: var(--cert-white);
    z-index: 100
}

.popupcookies[hidden] {
    display: none
}

.popupcookies__text {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 10px 0
}

.popupcookies__text span {
    color: var(--cert-blue);
    cursor: pointer
}

.popupcookies__group {
    display: flex;
    justify-content: center
}

.popupcookies__group .btn:first-child {
    margin: 0 16px 0 0;
    background: #323a42;
    border: 1px solid #323a42
}

.popupcookies__group .btn:first-child:hover {
    color: var(--cert-white)
}

.popupcookies__group .btn:last-child:hover {
    background: var(--cert-blue);
    color: var(--cert-white)
}

.popupcookies__group .btn {
    padding: 10px 30px;
    cursor: pointer;
    font-size: 14px
}

.privacy-modal {
    width: min(920px, 100% - 32px);
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background: var(--cert-white, #fff);
    color: var(--cert-text, #1a293f);
    box-shadow: 0 24px 80px rgba(8, 22, 36, .28)
}

.privacy-modal::backdrop {
    background: rgba(8, 22, 36, .78);
    backdrop-filter: blur(3px)
}

.privacy-modal__document {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 32px)
}

.privacy-modal__header {
    position: relative;
    padding: 28px 76px 24px 32px;
    border-bottom: 1px solid #dce5ec;
    background: #f5f8fb
}

.privacy-modal__title {
    margin: 0;
    line-height: 1.2
}

.privacy-modal__content {
    padding: 28px 32px 36px;
    overflow-y: auto;
    overscroll-behavior: contain;
    font-size: 16px;
    line-height: 1.65;
    scrollbar-gutter: stable
}

.privacy-modal__content p {
    margin: 0 0 18px
}

.privacy-modal__content ul {
    margin: -4px 0 20px;
    padding-left: 24px
}

.privacy-modal__content li+li {
    margin-top: 6px
}

.privacy-modal__content a {
    color: var(--cert-blue, #0060c2);
    text-underline-offset: 3px
}

.privacy-modal :focus-visible {
    outline: 3px solid #51aaff;
    outline-offset: 3px
}

@media (max-width:600px) {
    .privacy-modal {
        width: calc(100% - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 14px
    }

    .privacy-modal__document {
        max-height: calc(100dvh - 16px)
    }

    .privacy-modal__header {
        padding: 22px 62px 20px 20px
    }

    .privacy-modal__content {
        padding: 22px 20px 28px;
        font-size: 15px;
        line-height: 1.55
    }
}

body:has(dialog.wells-map[open]),
html:has(dialog.wells-map[open]) {
    overflow: hidden
}

dialog.wells-map {
    box-sizing: border-box;
    width: min(1200px, 100% - 48px);
    max-width: none;
    height: min(820px, 100vh - 48px);
    height: min(820px, 100dvh - 48px);
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 20px;
    color: var(--cert-text);
    background: #fff;
    overflow: hidden
}

dialog.wells-map[open] {
    display: flex;
    flex-direction: column
}

dialog.wells-map::backdrop {
    background: rgba(14, 30, 59, .65)
}

dialog.wells-map .wells-map__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 24px 12px
}

dialog.wells-map .wells-map__header h2 {
    font-size: 26px
}

dialog.wells-map .wells-map__header p {
    margin-top: 8px;
}

dialog.wells-map .wells-map__toolbar {
    display: flex;
    gap: 8px;
    padding: 0 24px 16px
}

dialog.wells-map .wells-map__toolbar button {
    padding: 10px 14px;
    min-height: 44px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #fff;
    color: #0060c2;
    cursor: pointer
}

dialog.wells-map .wells-map__toolbar button[aria-pressed=true] {
    background: #0060c2;
    border-color: #0060c2;
    color: #fff
}

dialog.wells-map button:focus-visible {
    outline: 2px solid #0060c2;
    outline-offset: 2px
}

dialog.wells-map .wells-map__body {
    position: relative;
    flex: 1;
    min-height: 0;
    background: #eef3f7
}

dialog.wells-map .wells-map__canvas {
    width: 100%;
    height: 100%
}

dialog.wells-map .wells-map__status {
    position: absolute;
    inset: 24px;
    margin: auto;
    height: fit-content;
    text-align: center;
    padding: 16px;
    border-radius: 12px;
    background: #fff
}

dialog.wells-map .wells-map__dot {
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #3f86bf;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15)
}

@media (max-width:768px) {
    dialog.wells-map {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        margin: 0;
        border-radius: 0;
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom)
    }

    dialog.wells-map .wells-map__header {
        padding: 16px 16px 10px;
        gap: 8px
    }

    dialog.wells-map .wells-map__header h2 {
        font-size: 21px
    }

    dialog.wells-map .wells-map__header p {
        font-size: 12px
    }

    dialog.wells-map .wells-map__toolbar {
        padding: 0 16px 12px
    }

    dialog.wells-map .wells-map__toolbar button {
        font-size: 13px;
        padding: 8px 12px
    }
}

body:has(.popup-window[open]),
html:has(.popup-window[open]) {
    overflow: hidden
}

.popup-window {
    box-sizing: border-box;
    width: min(1200px, 100% - 48px);
    max-width: none;
    height: min(820px, 100vh - 48px);
    height: min(820px, 100dvh - 48px);
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: #fff;
    color: var(--cert-text);
    box-shadow: 0 24px 80px rgba(8, 22, 36, .28);
    overflow: hidden
}

.popup-window::backdrop {
    background: rgba(14, 30, 59, .65);
    backdrop-filter: blur(3px)
}

.popup-window__header {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 24px;
    border-bottom: 1px solid #dce5ec;
    background: #f5f8fb
}

.popup-window__title,
.wells-map__header .popup-window__title {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2
}

.popup-window__close,
.privacy-modal__close,
.wells-map__close {
    position: static;
    display: flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #eef6ff;
    color: #0060c2;
    box-shadow: none;
    cursor: pointer
}

.popup-window__close:hover {
    background: #d3e7fc
}

.popup-window .popup-window__close:focus-visible {
    outline: 2px solid #0060c2;
    outline-offset: 3px
}

.privacy-modal__document {
    height: 100%;
    max-height: none;
    min-height: 0
}

.privacy-modal__content {
    flex: 1;
    min-height: 0;
    padding: 24px;
    scrollbar-width: thin
}

dialog.wells-map .wells-map__toolbar {
    padding-top: 12px
}

@media (max-width:768px) {
    .popup-window {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        margin: 0;
        border-radius: 0;
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom)
    }

    .popup-window__header {
        padding: 16px;
        gap: 12px
    }

    .popup-window__title,
    .wells-map__header .popup-window__title {
        font-size: 21px
    }

    .privacy-modal__content {
        padding: 16px
    }
}

@media (min-width:769px) {
    .popup-window {
        margin: auto
    }

    .popup-window__header {
        box-sizing: border-box;
        height: 144px;
        align-items: center
    }

    .popup-window__header>div {
        min-width: 0
    }

    .popup-window__title,
    .wells-map__header .popup-window__title {
        color: var(--cert-text)
    }

    .popup-window__close {
        align-self: center
    }
}

@media (min-width:1100px) {
    .popup-window__header {
        height: 128px
    }
}

.privacy-modal[open] {
    display: flex;
    flex-direction: column
}

.privacy-modal__document {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    overflow: hidden
}

.privacy-modal__header {
    flex-shrink: 0
}

.privacy-modal__content {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #8fa9c3 #eef3f7
}

.privacy-modal__content::-webkit-scrollbar {
    width: 6px
}

.privacy-modal__content::-webkit-scrollbar-track {
    background: #eef3f7
}

.privacy-modal__content::-webkit-scrollbar-thumb {
    background: #8fa9c3;
    border-radius: 6px
}

.error {
    padding: 70px 0;
    text-align: center
}

@media (max-width:767px) {
    .error h1 {
        font-size: calc(34px + 112.2 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .error h1 {
        font-size: calc(34px + 66 * 100vw / 1920)
    }
}

.error h1 {
    color: var(--cert-blue)
}

.error .hero__actions {
    justify-content: center
}

@media (max-width:767px) {
    .subtitle-error {
        font-size: calc(18px + 13.6 * (100vw - 320px) / 1920)
    }
}

@media (min-width:767px) {
    .subtitle-error {
        font-size: calc(18px + 8 * 100vw / 1920)
    }
}

.subtitle-error {
    font-weight: 500;
    margin: 0 0 20px 0
}

.breadcrumbs__list {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 50px 0 0 0
}

.breadcrumbs__item {
    display: flex;
    align-items: center;
    gap: 10px
}

.breadcrumbs__item:not(:last-child)::after {
    content: "›"
}

.breadcrumbs__link {
    text-decoration: none;
    transition: color .2s ease;
    color: #7a8b9e
}

.breadcrumbs__link:hover {
    color: #006bc9
}

.services__eyebrow {
    color: #68778a
}

.certificates__meta,
.contact-group__text,
.drilling-errors__description,
.portfolio__total,
.reviews__total,
.services__tab:not(.services__tab--active) .services__tab-title {
    color: #596b80
}

.certificates__heading {
    font-size: calc(18px + .1041666667vw);
    font-weight: 500;
    margin: 0 0 10px 0
}

@media (max-width:767px) {
    .certificates__heading {
        font-size: calc(18px + 3.4 * (100vw - 320px) / 1920)
    }
}

.hero__dot {
    position: relative
}

@media (min-width:769px) {
    .hero__dots {
        gap: 16px
    }

    .hero__dot::after {
        content: "";
        position: absolute;
        inset: -6px
    }
}

@media (max-width:1023px) {

    .header-nav__content>.header-phone,
    .header-nav__content>.menu,
    body>.header-contacts {
        display: none
    }
}

.services__mobile-number,
.well-equipment__caption span,
.well-equipment__total {
    color: #596b80
}

@media (max-width:1023px) {
    .header-nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        padding: 8px 0;
        z-index: 150
    }

    .header-nav .logo__icon {
        width: 46px
    }
}

.service-complex {
    padding: 30px 0
}

.wrapper-complex {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 28px;
    margin: 40px 0 0 0
}

.wrapper-complex__card {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    min-width: 0;
    height: 270px;
    border-radius: 18px;
    overflow: hidden;
    background: #08172b;
    box-shadow: 0 10px 30px rgba(7, 24, 46, .12);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    cursor: pointer;
    transition: box-shadow .45s ease;
    outline: 0
}

.wrapper-complex__card:focus-visible,
.wrapper-complex__card:focus-within,
.wrapper-complex__card:hover {
    box-shadow: 0 18px 45px rgba(7, 24, 46, .28)
}

.wrapper-complex__image {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    pointer-events: none;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1)
}

.wrapper-complex__card:focus-visible .wrapper-complex__image,
.wrapper-complex__card:focus-within .wrapper-complex__image,
.wrapper-complex__card:hover .wrapper-complex__image {
    transform: scale(1.06)
}

.wrapper-complex__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(7, 24, 46, .05) 0, rgba(7, 24, 46, .35) 35%, rgba(7, 24, 46, .8) 68%, rgba(7, 24, 46, .96) 100%)
}

.wrapper-complex__content {
    position: absolute;
    bottom: 0;
    z-index: 3;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 22px 24px;
    width: 100%;
    max-height: 100%;
    overflow-y: auto;
    scrollbar-width: thin
}

.wrapper-complex__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    width: 100%
}

.wrapper-complex__info {
    flex: 1 1 auto;
    min-width: 0
}

.wrapper-complex__title {
    margin: 0 0 6px 0;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    text-shadow: 0 2px 6px rgba(0, 0, 0, .35)
}

.wrapper-complex__description {
    margin: 0;
    color: rgba(255, 255, 255, .85);
    font-size: 14px;
    line-height: 1.35;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .3)
}

.wrapper-complex__arrow {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-sizing: border-box;
    transition: background-color .3s ease, border-color .3s ease, transform .3s ease, color .3s ease
}

.wrapper-complex__arrow svg {
    display: block;
    width: 18px;
    height: 18px;
    stroke: currentColor;
    transition: transform .3s ease
}

.wrapper-complex__card:focus-visible .wrapper-complex__arrow,
.wrapper-complex__card:focus-within .wrapper-complex__arrow,
.wrapper-complex__card:hover .wrapper-complex__arrow {
    background: #087cff;
    border-color: #087cff;
    color: #fff;
    transform: scale(1.05)
}

.wrapper-complex__card:focus-visible .wrapper-complex__arrow svg,
.wrapper-complex__card:focus-within .wrapper-complex__arrow svg,
.wrapper-complex__card:hover .wrapper-complex__arrow svg {
    transform: translateX(2px)
}

.list-complex {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transform: translateY(12px);
    transition: opacity .55s ease, transform .65s cubic-bezier(.22, 1, .36, 1), visibility .65s
}

.wrapper-complex__card:focus-visible .list-complex,
.wrapper-complex__card:focus-within .list-complex,
.wrapper-complex__card:hover .list-complex {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.list-complex__item {
    position: relative;
    padding-left: 20px;
    color: rgba(255, 255, 255, .92);
    font-size: 13.5px;
    line-height: 1.35
}

.list-complex__item strong {
    color: #fff;
    font-weight: 600
}

.list-complex__item::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #087cff;
    box-shadow: 0 0 6px rgba(8, 124, 255, .6)
}

@media (max-width:1100px) {
    .wrapper-complex {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px
    }

    .wrapper-complex__card {
        height: 270px
    }
}

@media (max-width:680px) {
    .service-complex {
        padding: 36px 0
    }

    .wrapper-complex {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
        overscroll-behavior-x: contain;
        padding-bottom: 0;
        scrollbar-width: none;
        scrollbar-color: #087cff #e8eef5;
        grid-auto-rows: auto;
        gap: 18px;
        margin-top: 24px
    }

    .wrapper-complex__card {
        height: 270px;
        min-height: 0;
        scroll-snap-align: start;
        border-radius: 16px
    }

    .wrapper-complex__content {
        padding: 18px 20px
    }

    .wrapper-complex__title {
        font-size: 18px
    }

    .wrapper-complex__arrow {
        width: 36px;
        height: 36px;
        flex: 0 0 36px
    }
}

.wrapper-complex__details {
    display: grid;
    grid-template-rows: 0fr;
    padding-top: 0;
    transition: grid-template-rows .65s cubic-bezier(.22, 1, .36, 1), padding-top .65s cubic-bezier(.22, 1, .36, 1)
}

.wrapper-complex__card:is(:hover, :focus-visible, :focus-within) .wrapper-complex__details {
    grid-template-rows: 1fr;
    padding-top: 14px
}

.wrapper-complex__overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(6, 18, 36, .88);
    opacity: 0;
    transition: opacity .65s ease
}

.wrapper-complex__card:is(:hover, :focus-visible, :focus-within) .wrapper-complex__overlay::after {
    opacity: 1
}

@media (max-width:680px),
(hover:none) {
    .wrapper-complex__card {
        height: 270px;
        min-height: 0
    }

    .wrapper-complex__content {
        position: absolute;
        max-height: 100%;
        overflow-y: auto
    }

    .wrapper-complex__details {
        grid-template-rows: 1fr;
        padding-top: 14px
    }

    .list-complex {
        opacity: 1;
        visibility: visible;
        transform: none
    }

    .wrapper-complex__overlay::after {
        opacity: .65
    }

    .wrapper-complex__arrow {
        display: none
    }
}

@media (prefers-reduced-motion:reduce) {

    .service-complex *,
    .service-complex ::after {
        transition: none !important
    }
}

.wrapper-complex__details,
.wrapper-complex__header {
    flex-shrink: 0
}

.wrapper-complex__content {
    overscroll-behavior-y: contain
}

.service-complex__controls {
    display: none
}

@media (max-width:680px) {
    .wrapper-complex::-webkit-scrollbar {
        display: none
    }

    .service-complex__controls:not([hidden]) {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-top: 20px
    }

    .service-complex__button {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid #087cff;
        border-radius: 50%;
        background: #fff;
        color: #087cff;
        cursor: pointer
    }

    .service-complex__button:disabled {
        opacity: .35;
        cursor: default
    }

    .service-complex__button:focus-visible {
        outline: 2px solid #087cff;
        outline-offset: 3px
    }

    .service-complex__counter {
        min-width: 48px;
        text-align: center;
        font-variant-numeric: tabular-nums
    }
}

.messenger-widgets {
    position: fixed;
    right: 70px;
    bottom: 50px;
    width: 74px;
    height: 74px;
    background: linear-gradient(240deg, #0060c2, #11a5df);
    border: 1px solid #55bfdf;
    box-sizing: border-box;
    padding: 14px 14px;
    border-radius: 100%;
    transform: translate(-50%, -50%);
    z-index: 10;
    animation: messenger-pulse 1.5s infinite;
    transition: background-color .3s, color .3s, box-shadow .3s;
    cursor: pointer
}

@media (max-width:991px) {
    .messenger-widgets {
        right: 0;
        bottom: 35px;
        width: 55px;
        height: 55px;
        padding: 10px 10px
    }
}

.messenger-widgets--active {
    background: #646464;
    animation: none
}

@keyframes messenger-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(17, 187, 226, .6)
    }

    70% {
        box-shadow: 0 0 0 30px rgba(17, 187, 226, 0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(17, 187, 226, 0)
    }
}

.widgets-img {
    width: 100%
}

.widgets-img-close {
    width: 100%;
    display: none
}

.widgets-menu {
    display: none;
    position: absolute;
    bottom: 74px;
    right: 4px;
    width: 286px;
    background-color: #fff;
    box-shadow: rgba(9, 30, 66, .25) 0 4px 8px -2px, rgba(9, 30, 66, .08) 0 0 0 1px;
    box-sizing: border-box;
    padding: 16px 16px;
    border-radius: 6px 6px
}

.widgets-menu--active {
    display: block
}

.widgets-menu__header {
    font-weight: 600;
    box-sizing: border-box;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #e1e1e1;
    color: #333
}

.widgets-menu__body {
    padding: 12px 0 0 0
}

.widgets-text {
    font-size: 14px;
    line-height: 1.25;
    color: #696969
}

.widgets-text:not(:last-child) {
    margin: 0 0 6px 0
}

.group-widgets {
    display: flex;
    justify-content: space-between;
    margin: 12px 0 0 0
}

.messenger-widget__link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #fff;
    box-sizing: border-box;
    padding: 6px 17px;
    border-radius: 6px 6px
}

.messenger-widget__link--telegram {
    background-color: #2aabee
}

.widgets-icon {
    width: 20px;
    margin: 0 10px 0 0
}

.widgets-icon--mobile {
    margin: 0
}

.messenger-widget__link--max {
    background-color: #07f
}

.widgets-menu__footer {
    padding: 10px 0 0 0
}

@media (max-width:768px) {
    .messenger-widgets {
        right: 16px;
        bottom: max(16px, env(safe-area-inset-bottom));
        transform: none
    }

    .widgets-menu {
        right: 0;
        bottom: 68px;
        width: min(286px, calc(100vw - 32px));
        max-height: calc(100dvh - 110px);
        overflow-y: auto
    }
}

.biiks-workflow {
    margin-top: 30px;
    width: 100%;
    display: block;
    position: relative
}

.title-biiks-workflow {
    margin: 60px 0 0 0
}

.biiks-workflow__wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-height: 190px;
    transition: max-height .45s cubic-bezier(.25, 1, .5, 1);
    will-change: max-height
}

.biiks-workflow__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%
}

.biiks-workflow__step {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    column-gap: 20px;
    min-height: 44px;
    padding: 0 0 12px;
    margin: 0
}

.biiks-workflow__step:last-child {
    padding-bottom: 0
}

.biiks-workflow__step:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 20px;
    top: 44px;
    bottom: 0;
    width: 1px;
    background: #c7dcf4
}

.biiks-workflow__step-number {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #c7dcf4;
    background: #eaf2fb;
    color: #0061bf;
    font-weight: 700;
    position: relative;
    z-index: 1
}

.biiks-workflow__step:first-child .biiks-workflow__step-number {
    background: #0061bf;
    border-color: #0061bf;
    color: #fff
}

.biiks-workflow__step-text {
    font-size: inherit;
    color: #071d40;
    line-height: 1.5
}

.biiks-workflow__fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 95px;
    background: linear-gradient(180deg, rgba(245, 247, 250, 0) 0, rgba(245, 247, 250, .55) 35%, rgba(245, 247, 250, .92) 75%, #f5f7fa 100%);
    pointer-events: none;
    z-index: 2;
    transition: opacity .35s ease, visibility .35s ease
}

.biiks-workflow.is-expanded .biiks-workflow__fade {
    opacity: 0;
    visibility: hidden
}

.biiks-workflow__action {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    position: relative;
    z-index: 3
}

.biiks-workflow__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 32px;
    border-radius: 12px;
    border: 1px solid #0060c2;
    background: #0060c2;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 96, 194, .2);
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease
}

.biiks-workflow__toggle:hover {
    background: #004d9e;
    border-color: #004d9e;
    box-shadow: 0 6px 20px rgba(0, 96, 194, .32);
    transform: translateY(-1px)
}

.biiks-workflow__toggle:active {
    transform: translateY(0)
}

.biiks-workflow__toggle:focus-visible {
    outline: 2px solid #0060c2;
    outline-offset: 3px
}

.biiks-workflow__toggle-icon {
    display: block;
    width: 18px;
    height: 18px;
    transition: transform .3s ease;
    flex-shrink: 0
}

.biiks-workflow.is-expanded .biiks-workflow__toggle-icon {
    transform: rotate(180deg)
}

@media(max-width:767px) {
    .biiks-workflow__step {
        column-gap: 14px
    }

    .biiks-workflow__toggle {
        width: 100%;
        max-width: 320px;
        padding: 12px 20px;
        font-size: 15px
    }
}

@media(prefers-reduced-motion:reduce) {

    .biiks-workflow__fade,
    .biiks-workflow__toggle,
    .biiks-workflow__toggle-icon,
    .biiks-workflow__wrapper {
        transition: none !important
    }
}

/* Wells map section. */
.wells-map__viewport {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wells-map__svg {
    display: block;
    width: 100%;
    height: 100%;
}

.wells-map__svg path {
    pointer-events: none;
}

.wells-map__svg .wells-map__region {
    pointer-events: auto;
    fill: var(--cert-blue);
    stroke: #fff;
    stroke-width: 1.5;
    cursor: pointer;
    transition: fill 160ms ease;
}

.wells-map__svg .wells-map__region:focus {
    outline: none;
}

.wells-map__svg .wells-map__region:hover,
.wells-map__svg .wells-map__region:focus-visible {
    fill: var(--header-top);
    outline: none;
    stroke-width: 3;
}

.wells-map__svg .wells-map__region[aria-pressed="true"] {
    fill: #3b8edb;
    stroke-width: 2.5;
}

.wells-map__info {
    position: absolute;
    top: 20px;
    right: 20px;
    width: min(290px, 32%);
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px #00498b14;
    overflow-wrap: anywhere;
    max-height: 65%;
    overflow-y: auto;
}

.wells-map__info h3 {
    color: var(--header-top);
    margin-bottom: 16px;
    font-size: 20px;
}

.wells-map__info p+p {
    margin-top: 12px;
}

.wells-map__info p {
    font-size: 16px;
}

.wells-map__district-note {
    color: #596779;
    white-space: pre-line;
}

.wells-map__zoom {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 8px;
}

.wells-map__zoom button {
    width: 44px;
    height: 44px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #fff;
    color: var(--cert-blue);
    font: inherit;
    font-size: 20px;
    cursor: pointer;
}

.wells-map__zoom button:hover {
    background: #e7eff7;
}

.wells-map__zoom button:disabled {
    opacity: .45;
    cursor: default;
}

.wells-map__zoom button:focus-visible {
    outline: 2px solid var(--cert-blue);
    outline-offset: 2px;
}

.wells-map__canvas {
    width: 100%;
    height: 100%;
}

.wells-map__status {
    position: absolute;
    inset: 24px;
    height: fit-content;
    margin: auto;
    padding: 16px;
    border-radius: 12px;
    background: #fff;
    text-align: center;
}

@media (max-width: 767px) {
    .wells-map__body {
        display: flex;
        flex-direction: column;
    }

    .wells-map__viewport {
        flex: 1;
        min-height: 150px;
    }

    .wells-map__canvas {
        flex-shrink: 0;
    }

    .wells-map__info {
        position: static;
        width: auto;
        margin: 0 12px 12px;
        padding: 16px;
        max-height: none;
        overflow: visible;
        scroll-margin-top: 90px;
        flex-shrink: 0;
    }

    .wells-map__info h3 {
        margin-bottom: 8px;
    }

    .wells-map__info p+p {
        margin-top: 6px;
    }

    .wells-map__zoom {
        top: 8px;
        right: 8px;
        bottom: auto;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wells-map__svg .wells-map__region {
        transition: none;
    }
}

/* Map as a page section after the company introduction. */
html {
    scroll-behavior: smooth;
}

.wells-map {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 64px 0;
    border: 0;
    border-radius: 0;
    background: var(--section-background-muted);
    overflow: hidden;
    scroll-margin-top: 110px;
}

.wells-map>.container {
    width: 100%;
}

.wells-map__header {
    height: auto;
    padding: 0 0 20px;
    background: transparent;
}

.wells-map__header>div {
    width: 100%;
}

.wells-map__title {
    margin: 0 0 30px;
}

.wells-map__header a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.wells-map__header a:focus-visible {
    outline: 2px solid var(--cert-blue);
    outline-offset: 3px;
}

.wells-map__select {
    width: min(100%, 420px);
    margin-bottom: 20px;
}

.wells-map__select-field {
    position: relative;
}

.wells-map__select-field::after {
    content: '';
    position: absolute;
    top: 26px;
    right: 18px;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--cert-blue);
    border-bottom: 2px solid var(--cert-blue);
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

.wells-map__select-trigger {
    display: block;
    width: 100%;
    min-height: 52px;
    box-sizing: border-box;
    padding: 12px 44px 12px 16px;
    border: 1px solid #b8cfe2;
    border-radius: 12px;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.wells-map__select-trigger:hover {
    border-color: var(--cert-blue);
}

.wells-map__select-trigger:focus-visible {
    border: 2px solid var(--cert-blue);
    outline: none;
}

.wells-map__dropdown {
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    overflow: hidden;
    border: 1px solid #b8cfe2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgb(0 73 139 / 15%);
}

.wells-map__dropdown[hidden] {
    display: none;
}

.wells-map__dropdown select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    border: 0;
    background: #fff;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.wells-map__dropdown select:focus {
    outline: none;
}

.wells-map__dropdown option {
    padding: 6px 12px;
    color: var(--cert-text);
    background: #fff;
}

.wells-map__body {
    position: relative;
    height: 580px;
    flex: none;
    background: var(--section-background-muted);
}

.wells-map__viewport {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 7%, #000 93%, transparent);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
}

@media (max-width: 767px) {
    .wells-map {
        padding: 40px 0;
    }

    .wells-map__header {
        padding: 0 0 20px;
    }

    .wells-map__body {
        height: auto;
        min-height: 520px;
        scroll-margin-top: 80px;
    }

    .wells-map__viewport {
        height: 520px;
        flex: none;
    }
}

@media (max-width: 768px) {
    .wells-map {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 40px 0;
        border-radius: 0;
    }
}

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

html:has(.wells-map-dialog[open]),
body:has(.wells-map-dialog[open]) {
    overflow: hidden;
}

.wells-map-dialog {
    box-sizing: border-box;
    width: min(1400px, calc(100% - 32px));
    max-width: none;
    max-height: calc(100dvh - 32px);
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: var(--section-background-muted);
    overflow-y: auto;
}

.wells-map-dialog::backdrop {
    background: rgb(14 30 59 / 65%);
}

.wells-map-dialog .wells-map {
    padding: 36px 0 24px;
    scroll-margin-top: 0;
}

.wells-map-dialog .wells-map__title {
    font-size: 26px;
}

.wells-map-dialog .wells-map__header {
    padding-right: 56px;
}

.wells-map-dialog .wells-map__body {
    height: min(60vh, 580px);
}

.wells-map-dialog__close {
    position: sticky;
    z-index: 10;
    top: 12px;
    float: right;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 12px 12px -56px 0;
    padding: 0;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #fff;
    color: var(--cert-blue);
    font: inherit;
    font-size: 24px;
    cursor: pointer;
}

.wells-map-dialog__close:focus-visible {
    outline: 2px solid var(--cert-blue);
    outline-offset: 2px;
}

.wells-map-placeholder {
    width: 100%;
    background: var(--section-background-muted);
}

@media (max-width: 767px) {
    .wells-map-dialog {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border-radius: 0;
    }

    .wells-map-dialog .wells-map {
        padding: 28px 0 20px;
    }

    .wells-map-dialog .wells-map__title {
        font-size: 21px;
    }

    .wells-map-dialog .wells-map__body {
        height: min(50vh, 420px);
        min-height: 0;reviews
    }

    .wells-map-dialog .wells-map__viewport {
        height: auto;
        flex: 1;
    }

    .wells-map-dialog .wells-map__info {
        max-height: 38%;
        overflow-y: auto;
    }
}
