:root {
    /* brand */
    --color-navy: #1E2E8F;
    --color-navy-dark: #0e2ea0;
    --color-navy-grad-a: #2F3E98;
    --color-navy-grad-b: #29358A;
    --color-teal: #00AEC7;
    --color-teal-dark: #0098b0;
    --color-teal-light: #0FB6CD;
    --color-teal-deep: #009fb8;
    --color-teal-ink: #0090a8;
    --color-lime: #8CC63F;
    --color-lime-ink: #5f9010;
    --color-lime-light: #c5ee7f;
    --color-lime-dark: #77ad33;
    /* surfaces */
    --color-surface: #fff;
    --color-surface-muted: #f7f8fb;
    --color-surface-soft: #f4f6fb;
    --color-surface-placeholder: #eef1f8;
    --color-surface-frame: #2a3aa0;
    --color-surface-invert-hover: #e8eefc;
    /* text */
    --color-text: #1E2E8F;
    --color-text-strong: #2a3358;
    --color-text-muted: #5b6488;
    --color-text-soft: #8a92b2;
    --color-text-faint: #9aa2c0;
    --color-text-invert: #fff;
    /* lines */
    --color-border: #e9ecf5;
    --color-border-soft: #e6e9f3;
    --color-border-hair: #eef0f6;
    --color-border-dashed: #cfd5e6;
    /* tints */
    --tint-teal-04: rgba(0,174,199,.04);
    --tint-teal-05: rgba(0,174,199,.05);
    --tint-teal-08: rgba(0,174,199,.08);
    --tint-teal-10: rgba(0,174,199,.1);
    --tint-teal-12: rgba(0,174,199,.12);
    --tint-teal-13: rgba(0,174,199,.13);
    --tint-teal-16: rgba(0,174,199,.16);
    --tint-teal-22: rgba(0,174,199,.22);
    --tint-teal-25: rgba(0,174,199,.25);
    --tint-teal-28: rgba(0,174,199,.28);
    --tint-teal-30: rgba(0,174,199,.3);
    --tint-teal-40: rgba(0,174,199,.4);
    --tint-teal-50: rgba(0,174,199,.5);
    --tint-teal-70: rgba(0,174,199,.7);
    --tint-navy-04: rgba(16,26,69,.04);
    --tint-navy-10: rgba(30,46,143,.1);
    --tint-navy-25: rgba(30,46,143,.25);
    --tint-navy-28: rgba(30,46,143,.28);
    --tint-navy-30: rgba(30,46,143,.3);
    --tint-lime-12: rgba(140,198,63,.12);
    --tint-lime-16: rgba(140,198,63,.16);
    --tint-lime-18: rgba(140,198,63,.18);
    --tint-lime-20: rgba(140,198,63,.2);
    --tint-lime-22: rgba(140,198,63,.22);
    --tint-lime-70: rgba(140,198,63,.7);
    --tint-sky-04: rgba(120,190,255,.04);
    --tint-sky-05: rgba(120,190,255,.05);
    --tint-sky-08: rgba(120,190,255,.08);
    --tint-sky-09: rgba(120,190,255,.09);
    --tint-sky-10: rgba(120,190,255,.1);
    --tint-sky-22: rgba(120,190,255,.22);
    --tint-white-04: rgba(255,255,255,.04);
    --tint-white-05: rgba(255,255,255,.05);
    --tint-white-06: rgba(255,255,255,.06);
    --tint-white-08: rgba(255,255,255,.08);
    --tint-white-10: rgba(255,255,255,.1);
    --tint-white-12: rgba(255,255,255,.12);
    --tint-white-32: rgba(255,255,255,.32);
    --tint-white-50: rgba(255,255,255,.5);
    --tint-white-55: rgba(255,255,255,.55);
    --tint-white-60: rgba(255,255,255,.6);
    --tint-white-65: rgba(255,255,255,.65);
    --tint-white-70: rgba(255,255,255,.7);
    --tint-white-75: rgba(255,255,255,.75);
    --tint-white-80: rgba(255,255,255,.8);
    --tint-white-82: rgba(255,255,255,.82);
    --tint-white-85: rgba(255,255,255,.85);
    --tint-white-90: rgba(255,255,255,.9);
    --tint-white-92: rgba(255,255,255,.92);
    --tint-ink-25: rgba(16,26,69,.25);
    --tint-ink-85: rgba(16,26,69,.85);
    --tint-ink-94: rgba(16,26,69,.94);
    --tint-black-28: rgba(0,0,0,.28);
    /* gradients */
    --gradient-navy: linear-gradient(135deg,var(--color-navy-grad-a) 0%,var(--color-navy-grad-b) 100%);
    --gradient-teal: linear-gradient(180deg,var(--color-teal-light) 0%,var(--color-teal) 52%,var(--color-teal-deep) 100%);
    --gradient-hero: linear-gradient(135deg,#f2fbf6 0%,#f6fafc 42%,var(--color-surface) 100%);
    --gradient-accent: linear-gradient(90deg,var(--color-teal),var(--color-lime));
    --gradient-stat: linear-gradient(180deg,var(--color-lime-light),var(--color-lime) 62%,var(--color-lime-dark));
    --glow-teal:radial-gradient(circle,rgba(0,174,199,.14),transparent 68%);
    --glow-lime:radial-gradient(circle,rgba(140,198,63,.14),transparent 68%);
    /* shadows */
    --shadow-card: 0 1px 2px var(--tint-navy-04);
    --shadow-card-hover: 0 22px 40px -18px var(--tint-navy-30);
    --shadow-hover:0 22px 40px -18px rgba(30,46,143,.3);
    --shadow-soft: 0 22px 40px -18px var(--tint-navy-28);
    --shadow-frame: 0 22px 44px -22px var(--tint-black-28);
    --shadow-panel: 0 30px 60px -30px var(--tint-navy-25);
    --shadow-step: 0 10px 24px -12px rgba(0,174,199,.6);
    --shadow-btn-light: 0 10px 26px -8px rgba(4,60,80,.42),0 0 30px rgba(180,235,245,.32),inset 0 1px 0 var(--tint-white-90);
    /* layout */
    --container: 75rem;
    --container-narrow: 51.25rem;
    --gutter: clamp(1rem,4vw,1.75rem);
    --section-y: clamp(3.5rem,8vw,5.75rem);
    --section-y-sm: clamp(2.75rem,6vw,5rem);
    --section-y-xs: clamp(2.25rem,5vw,4rem);
    --gap-grid: clamp(1rem,2vw,1.5rem);
    --radius-xs: .375rem;
    --radius-sm: .5rem;
    --radius-md: .75rem;
    --radius-lg: 1.125rem;
    --radius-xl: 1.25rem;
    --radius-2xl: 1.75rem;
    --radius-pill: 999px;
    --font-base: 'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
    --transition: .25s ease;
}

*,*::before,*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-base);
    color: var(--color-text);
    background: var(--color-surface);
    -webkit-font-smoothing: antialiased;
}

img,svg,iframe {
    max-width: 100%;
}

h1,h2,h3,h4,p,ul,ol,dl,dd {
    margin: 0;
}

ul,ol {
    padding: 0;
}

a {
    color: var(--color-teal);
    text-decoration: none;
    -webkit-transition: color var(--transition);
    transition: color var(--transition);
}

a:hover {
    color: var(--color-teal);
}

::-moz-selection {
    background: var(--color-lime);
    color: var(--color-navy);
}

::selection {
    background: var(--color-lime);
    color: var(--color-navy);
}

@-webkit-keyframes fade-up {
    from {
        opacity: 0;
        -webkit-transform: translateY(1.5rem);
        transform: translateY(1.5rem);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fade-up {
    from {
        opacity: 0;
        -webkit-transform: translateY(1.5rem);
        transform: translateY(1.5rem);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

/* ---------- shared ---------- */
.page {
    min-height: 100vh;
    overflow-x: hidden;
}

.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
}

.container--narrow {
    max-width: var(--container-narrow);
}

.is-hidden {
    display: none;
}

.section {
    position: relative;
    padding-block: var(--section-y);
    padding-inline: var(--gutter);
    background: var(--color-surface);
}

.section--muted {
    background: var(--color-surface-muted);
}

.section--tight {
    padding-block: var(--section-y-xs);
}

.section--flush {
    padding: 0;
}

.section--clip {
    overflow: hidden;
}

.section__glow {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

.section__glow--approach {
    inset-block-start: -8.75rem;
    inset-inline-end: -6.25rem;
    width: min(26rem,70vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,var(--tint-teal-13),transparent 68%);
}

.section__glow--formats {
    inset-block-end: -10rem;
    inset-inline-start: -6.25rem;
    width: min(27.5rem,70vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,var(--tint-lime-12),transparent 68%);
}

.section__body {
    position: relative;
}

.section__head {
    max-width: 40rem;
    margin-inline: auto;
    -webkit-margin-after: clamp(2rem,4vw,3.5rem);
    margin-block-end: clamp(2rem,4vw,3.5rem);
    text-align: center;
}

.section__title {
    font-size: clamp(1.75rem,4vw,2.5rem);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: var(--color-text);
    -webkit-margin-after: .875rem;
    margin-block-end: .875rem;
    text-wrap: balance;
}

.section__subtitle {
    font-size: clamp(1rem,1.4vw,1.125rem);
    color: var(--color-text-muted);
    text-wrap: pretty;
}

.btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: .5rem;
    border: 1.5px solid transparent;
    border-radius: var(--radius-pill);
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    -webkit-transition: background var(--transition),color var(--transition),border-color var(--transition),-webkit-box-shadow var(--transition);
    transition: background var(--transition),color var(--transition),border-color var(--transition),-webkit-box-shadow var(--transition);
    transition: background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition);
    transition: background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition),-webkit-box-shadow var(--transition);
}

.btn--primary {
    background: var(--color-teal);
    color: var(--color-text-invert);
    font-size: clamp(1rem,1.2vw,1.0625rem);
    padding: .9375rem 2.125rem;
}

.btn--primary:hover {
    background: var(--color-teal-dark);
    color: var(--color-text-invert);
}

.btn--outline {
    background: transparent;
    border-color: var(--color-navy);
    color: var(--color-navy);
    font-size: clamp(1rem,1.2vw,1.0625rem);
    padding: .9375rem 2rem;
}

.btn--outline:hover {
    background: var(--color-navy);
    color: var(--color-text-invert);
}

.btn--navy {
    background: var(--color-navy);
    color: var(--color-text-invert);
    font-size: .875rem;
    padding: .6875rem 1.375rem;
    white-space: nowrap;
}

.btn--navy:hover {
    background: var(--color-navy-dark);
    color: var(--color-text-invert);
}

.btn--light {
    background: var(--color-surface);
    color: var(--color-navy-dark);
    font-size: clamp(1rem,1.2vw,1.0625rem);
    font-weight: 800;
    padding: 1rem 2.125rem;
    -webkit-box-shadow: var(--shadow-btn-light);
    box-shadow: var(--shadow-btn-light);
    white-space: nowrap;
}

.btn--light:hover {
    background: var(--color-surface-invert-hover);
    color: var(--color-navy-dark);
}

.btn--compact {
    font-size: .9375rem;
    padding: .8125rem 1.75rem;
}

.btn--block {
    width: 100%;
    height: 3.5rem;
    font-size: clamp(1rem,1.2vw,1.0625rem);
    font-weight: 800;
}

/* ---------- header ---------- */
.header {
    position: sticky;
    inset-block-start: 0;
    z-index: 50;
    background: var(--tint-white-92);
    backdrop-filter: blur(10px);
    -webkit-border-after: 1px solid var(--color-border-hair);
    border-block-end: 1px solid var(--color-border-hair);
}

.header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: clamp(.75rem,2vw,1.5rem);
    padding: .875rem var(--gutter);
}

.header__logo {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .6875rem;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
}

.header__logo-img {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
}

.header__logo-text {
    font-size: clamp(1.25rem,2.4vw,1.5rem);
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--color-navy);
}

.header__logo-accent {
    color: var(--color-lime);
}

.header__nav .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(1rem,2.4vw,1.875rem);
    font-size: .9375rem;
    font-weight: 600;
    list-style: none;
}

.header__nav .menu-item a {
    color: var(--color-navy);
}

.header__nav .menu-item:hover a {
    color: var(--color-teal);
}

.header__nav .header__actions .header__phone {
    display: none;
}

.header__nav .header__actions .btn {
    display: none;
}

.header__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(.75rem,1.6vw,1.125rem);
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.header__phone {
    font-weight: 700;
    font-size: .9375rem;
    color: var(--color-navy);
    white-space: nowrap;
}

.header__phone:hover {
    color: var(--color-teal);
}

.header__burger {
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .3125rem;
    background: none;
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-md);
    cursor: pointer;
}

.header__burger-line {
    display: block;
    width: 1.125rem;
    height: 2px;
    border-radius: 2px;
    background: var(--color-navy);
}

/* ---------- hero ---------- */
.hero {
    position: relative;
    overflow: hidden;
    padding-block: clamp(3rem,7vw,5.5rem) clamp(3rem,7vw,6rem);
    padding-inline: var(--gutter);
    background: var(--gradient-hero);
}

.hero__glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.hero__glow--teal {
    inset-block-start: -12.5rem;
    inset-inline-end: -10rem;
    width: min(40rem,90vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,var(--tint-teal-16),transparent 68%);
}

.hero__glow--lime {
    inset-block-end: -13.75rem;
    inset-inline-start: -8.75rem;
    width: min(35rem,85vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,var(--tint-lime-16),transparent 68%);
}

.hero__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(2rem,5vw,3.5rem);
}

.hero__content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 26rem;
    flex: 1 1 26rem;
    min-width: min(100%,17rem);
    -webkit-animation: fade-up .6s ease both;
    animation: fade-up .6s ease both;
}

.hero__badge {
    display: inline-block;
    -webkit-margin-after: 1.25rem;
    margin-block-end: 1.25rem;
    padding: .4375rem 1rem;
    border-radius: var(--radius-pill);
    background: var(--tint-teal-10);
    border: 1px solid var(--tint-teal-25);
    color: var(--color-teal-ink);
    font-weight: 600;
    font-size: .875rem;
}

.hero__title {
    font-size: clamp(2rem,5.4vw,3.5rem);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--color-navy);
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    text-wrap: balance;
}

.hero__title-accent {
    background: var(--gradient-accent);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero__subtitle {
    font-size: clamp(1.0625rem,1.9vw,1.25rem);
    line-height: 1.5;
    color: var(--color-text-muted);
    -webkit-margin-after: 1.75rem;
    margin-block-end: 1.75rem;
    max-width: 35rem;
    text-wrap: pretty;
}

.hero__dot {
    font-size: 1.4em;
    line-height: 0;
    vertical-align: -.08em;
    color: var(--color-teal);
}

.hero__list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .75rem;
    -webkit-margin-after: 2rem;
    margin-block-end: 2rem;
}

.hero__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .6875rem;
    font-size: clamp(.9375rem,1.2vw,1rem);
    font-weight: 600;
    color: var(--color-text-strong);
}

.hero__check {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 50%;
    background: var(--tint-lime-18);
    color: var(--color-lime-ink);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: .8125rem;
}

.hero__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: .875rem;
}

.hero__media {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 26rem;
    flex: 1 1 26rem;
    min-width: min(100%,17rem);
    position: relative;
    -webkit-animation: fade-up .8s ease both;
    animation: fade-up .8s ease both;
}

.hero__image {
    width: 126%;
    max-width: none;
    height: auto;
    display: block;
    margin: -7% -14% -9% -3%;
    mix-blend-mode: multiply;
    -webkit-mask-image: -webkit-gradient(linear,left top, right top,from(transparent),color-stop(13%, #000),color-stop(87%, #000),to(transparent)),-webkit-gradient(linear,left top, left bottom,from(transparent),color-stop(13%, #000),color-stop(87%, #000),to(transparent));
    -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 13%,#000 87%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 13%,#000 87%,transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image: -webkit-gradient(linear,left top, right top,from(transparent),color-stop(13%, #000),color-stop(87%, #000),to(transparent)),-webkit-gradient(linear,left top, left bottom,from(transparent),color-stop(13%, #000),color-stop(87%, #000),to(transparent));
    mask-image: linear-gradient(to right,transparent 0%,#000 13%,#000 87%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 13%,#000 87%,transparent 100%);
    -webkit-mask-composite: source-in, xor;
    mask-composite: intersect;
}

/* ---------- services ---------- */
.services__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,15.5rem),1fr));
    gap: var(--gap-grid);
}

.service {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--color-surface);
    padding: clamp(1.5rem,2.4vw,1.875rem) clamp(1.25rem,2vw,1.625rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    -webkit-box-shadow: var(--shadow-card);
    box-shadow: var(--shadow-card);
    -webkit-transition: border-color .3s,-webkit-box-shadow .3s,-webkit-transform .3s;
    transition: border-color .3s,-webkit-box-shadow .3s,-webkit-transform .3s;
    transition: box-shadow .3s,transform .3s,border-color .3s;
    transition: box-shadow .3s,transform .3s,border-color .3s,-webkit-box-shadow .3s,-webkit-transform .3s;
}

.service:hover {
    -webkit-box-shadow: var(--shadow-card-hover);
    box-shadow: var(--shadow-card-hover);
    -webkit-transform: translateY(-.25rem);
    -ms-transform: translateY(-.25rem);
    transform: translateY(-.25rem);
    border-color: var(--tint-teal-40);
}

.service__icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: .875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.375rem;
    font-weight: 800;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
}

.service__icon--teal {
    background: var(--tint-teal-12);
    color: var(--color-teal-ink);
}

.service__icon--navy {
    background: var(--tint-navy-10);
    color: var(--color-navy);
}

.service__icon--lime {
    background: var(--tint-lime-16);
    color: var(--color-lime-ink);
}

.service__title {
    font-size: clamp(1.0625rem,1.5vw,1.1875rem);
    font-weight: 700;
    color: var(--color-text);
    -webkit-margin-after: .75rem;
    margin-block-end: .75rem;
    line-height: 1.25;
}

.service__list {
    list-style: disc;
    -webkit-padding-start: 1.125rem;
    padding-inline-start: 1.125rem;
    color: var(--color-text-muted);
    font-size: .875rem;
    line-height: 1.6;
}

.service__item+.service__item {
    -webkit-margin-before: .3125rem;
    margin-block-start: .3125rem;
}

.service__more {
    -webkit-margin-before: auto;
    margin-block-start: auto;
    -webkit-padding-before: 1.125rem;
    padding-block-start: 1.125rem;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--color-teal);
}

/* ---------- tech ---------- */
.tech {
    text-align: center;
}

.tech__label {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-text-faint);
    -webkit-margin-after: 1.625rem;
    margin-block-end: 1.625rem;
}

.tech__list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: .75rem;
}

.tech__item {
    padding: .6875rem 1.375rem;
    border-radius: var(--radius-md);
    background: var(--color-surface-soft);
    border: 1px solid var(--color-border-soft);
    font-weight: 700;
    font-size: .9375rem;
    color: var(--color-text-strong);
}

/* ---------- cases ---------- */
.cases__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,19rem),1fr));
    gap: var(--gap-grid);
}

.case {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.case__media {
    height: clamp(9rem,16vw,11.875rem);
    background: var(--color-surface-placeholder);
}

.case__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.case__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: clamp(1.25rem,2vw,1.625rem);
}

.case__tags {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: .4375rem;
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.case__tag {
    font-size: .625rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .3125rem .5625rem;
    border-radius: var(--radius-xs);
}

.case__tag--industry {
    background: #eaf7fa;
    color: var(--color-teal-ink);
}

.case__tag--platform {
    background: #f0f2f8;
    color: var(--color-navy);
}

.case__title {
    font-size: clamp(1rem,1.4vw,1.125rem);
    font-weight: 700;
    color: var(--color-text);
    -webkit-margin-after: .875rem;
    margin-block-end: .875rem;
    line-height: 1.3;
    text-wrap: balance;
}

.case__text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: .875rem;
    line-height: 1.55;
    color: var(--color-text-muted);
    -webkit-padding-after: .625rem;
    padding-block-end: .625rem;
}

.case__text p+p {
    -webkit-margin-before: .5rem;
    margin-block-start: .5rem;
}

.case__lead {
    color: var(--color-text-strong);
    font-weight: 700;
}

.case__result {
    -webkit-padding-before: 1rem;
    padding-block-start: 1rem;
    -webkit-border-before: 1px solid var(--color-border-hair);
    border-block-start: 1px solid var(--color-border-hair);
}

.case__result-label {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-lime-ink);
    -webkit-margin-after: .5rem;
    margin-block-end: .5rem;
}

.case__result-list {
    list-style: disc;
    -webkit-padding-start: 1rem;
    padding-inline-start: 1rem;
    font-size: .8125rem;
    line-height: 1.5;
    color: var(--color-text-strong);
}

/* ---------- approach ---------- */
.approach__grid {
    list-style: none;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
    gap: clamp(1rem,2vw,1.125rem);
}

.step {
    text-align: center;
}

.step__num {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.125rem;
    border-radius: 50%;
    background: var(--color-surface);
    border: 2px solid var(--color-teal);
    color: var(--color-teal);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.375rem;
    font-weight: 800;
    -webkit-box-shadow: var(--shadow-step);
    box-shadow: var(--shadow-step);
}

.step__label {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-teal);
    -webkit-margin-after: .5rem;
    margin-block-end: .5rem;
}

.step__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.3;
    text-wrap: balance;
}

/* ---------- stats ---------- */
.stats {
    position: relative;
    overflow: hidden;
    padding-block: clamp(3rem,6vw,4.75rem);
    padding-inline: var(--gutter);
    background: var(--gradient-navy);
}

.stats__glow {
    position: absolute;
    inset-block-start: -10rem;
    inset-inline-end: -7.5rem;
    width: min(32.5rem,80vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle,var(--tint-teal-28),transparent 68%);
    pointer-events: none;
}

.stats__deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.stats__shape {
    position: absolute;
    border: 1px solid var(--tint-white-05);
}

.stats__shape--cube {
    inset-block-start: 1.875rem;
    inset-inline-start: 3%;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: var(--radius-xs);
    background: var(--tint-white-04);
    -webkit-transform: rotate(-14deg);
    -ms-transform: rotate(-14deg);
    transform: rotate(-14deg);
}

.stats__shape--sphere {
    inset-block-end: 2.125rem;
    inset-inline-end: 6%;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 50%;
    background: radial-gradient(circle at 34% 30%,rgba(255,255,255,.07),rgba(255,255,255,.02) 60%,transparent);
}

.stats__shape--plate {
    inset-block-start: 44%;
    inset-inline-end: 2.5%;
    width: 4.625rem;
    height: 1rem;
    border-radius: .3125rem;
    background: rgba(255,255,255,.035);
    -webkit-transform: rotate(-8deg);
    -ms-transform: rotate(-8deg);
    transform: rotate(-8deg);
}

.stats__grid {
    position: relative;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr));
    gap: clamp(1.5rem,3vw,2.5rem);
}

.stat {
    position: relative;
    -webkit-padding-start: 1.375rem;
    padding-inline-start: 1.375rem;
}

.stat__bar {
    position: absolute;
    inset-inline-start: 0;
    inset-block: .125rem;
    width: 2px;
    border-radius: 2px;
    background: linear-gradient(180deg,var(--tint-white-32),var(--tint-teal-50) 45%,var(--tint-white-08));
    -webkit-box-shadow: 0 0 10px var(--tint-teal-28);
    box-shadow: 0 0 10px var(--tint-teal-28);
}

.stat__num {
    font-size: clamp(2.25rem,4.4vw,2.75rem);
    font-weight: 800;
    line-height: 1;
    -webkit-margin-after: .75rem;
    margin-block-end: .75rem;
    background: var(--gradient-stat);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-filter: drop-shadow(0 1px 10px var(--tint-lime-22));
    filter: drop-shadow(0 1px 10px var(--tint-lime-22));
}

.stat__label {
    font-size: .9375rem;
    font-weight: 700;
    color: var(--color-text-invert);
    line-height: 1.35;
}

/* ---------- mid cta ---------- */
.cta {
    position: relative;
    overflow: hidden;
    padding-block: clamp(2.25rem,4vw,3.25rem);
    padding-inline: var(--gutter);
    background: var(--gradient-teal);
}

.cta__deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.cta__shape {
    position: absolute;
    border: 1px solid var(--tint-white-06);
}

.cta__shape--cube {
    inset-block-start: -.875rem;
    inset-inline-start: 8%;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .4375rem;
    background: var(--tint-white-05);
    -webkit-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    transform: rotate(18deg);
}

.cta__shape--sphere {
    inset-block-end: -1rem;
    inset-inline-end: 26%;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: radial-gradient(circle at 34% 30%,var(--tint-white-08),rgba(255,255,255,.02) 60%,transparent);
    border-color: var(--tint-white-05);
}

.cta__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1.5rem;
}

.cta__title {
    font-size: clamp(1.375rem,2.6vw,1.625rem);
    font-weight: 800;
    color: var(--color-text-invert);
    -webkit-margin-after: .375rem;
    margin-block-end: .375rem;
}

.cta__text {
    font-size: clamp(.9375rem,1.2vw,1rem);
    color: var(--tint-white-85);
}

/* ---------- trust ---------- */
.trust__inner {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,21rem),1fr));
    gap: clamp(2rem,4vw,3.5rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.trust__title {
    font-size: clamp(1.5rem,3vw,2rem);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--color-text);
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.trust__text {
    font-size: 1rem;
    color: var(--color-text-muted);
    line-height: 1.6;
    -webkit-margin-after: 1.5rem;
    margin-block-end: 1.5rem;
    text-wrap: pretty;
}

.trust__badges {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: .75rem;
}

.trust__badge {
    padding: .75rem 1.25rem;
    border-radius: .875rem;
    background: var(--color-surface-soft);
    border: 1px solid var(--color-border-soft);
    font-weight: 700;
    color: var(--color-navy);
}

.trust__card {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: clamp(1.25rem,2.5vw,2rem);
}

.trust__card-label {
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-text-faint);
    -webkit-margin-after: 1.125rem;
    margin-block-end: 1.125rem;
}

.trust__tags {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: .625rem;
}

.trust__tag {
    padding: .625rem 1.125rem;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    border: 1px solid var(--color-border-soft);
    font-weight: 600;
    font-size: .9375rem;
    color: var(--color-text-strong);
}

/* ---------- reviews ---------- */
.reviews__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,17.5rem),1fr));
    gap: var(--gap-grid);
}

.review {
    background: var(--color-surface);
    padding: clamp(1.5rem,2.4vw,1.875rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
}

.review__quote {
    font-size: 3.25rem;
    line-height: .6;
    color: var(--tint-teal-25);
    font-family: Georgia,serif;
    -webkit-margin-after: .5rem;
    margin-block-end: .5rem;
}

.review__text {
    font-size: .9375rem;
    line-height: 1.6;
    color: var(--color-text-soft);
    font-style: italic;
    -webkit-margin-after: 1.5rem;
    margin-block-end: 1.5rem;
}

.review__author {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .75rem;
}

.review__avatar {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--color-surface-placeholder);
    overflow: hidden;
}

.review__avatar img {
    -o-object-fit: cover;
    object-fit: cover;
    min-height: 100%;
    min-width: 100%;
}

.review__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.review__role {
    display: block;
    font-weight: 700;
    color: var(--color-text);
    font-size: .9375rem;
}

.review__company {
    display: block;
    font-size: .8125rem;
    color: var(--color-text-faint);
}

/* ---------- guarantees ---------- */
.guarantees__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr));
    gap: var(--gap-grid);
}

.guarantee {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: clamp(1.25rem,2vw,1.625rem);
}

.guarantee__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius-md);
    background: var(--tint-lime-16);
    color: var(--color-lime-ink);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.25rem;
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.guarantee__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    -webkit-margin-after: .5rem;
    margin-block-end: .5rem;
    line-height: 1.3;
}

.guarantee__text {
    font-size: .875rem;
    color: var(--color-text-muted);
    line-height: 1.5;
}

/* ---------- about ---------- */
.about {
    position: relative;
    overflow: hidden;
    padding-block: var(--section-y);
    padding-inline: var(--gutter);
    background: var(--gradient-navy);
}

.about__glow {
    position: absolute;
    inset-block-end: -11.25rem;
    inset-inline-start: -7.5rem;
    width: min(32.5rem,80vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle,var(--tint-lime-20),transparent 68%);
    pointer-events: none;
}

.about__inner {
    position: relative;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,21rem),1fr));
    gap: clamp(2rem,4vw,3.5rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.about__title {
    font-size: clamp(1.75rem,4vw,2.5rem);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--color-text-invert);
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
}

.about__text {
    font-size: clamp(1rem,1.4vw,1.0625rem);
    line-height: 1.7;
    color: var(--tint-white-82);
    text-wrap: pretty;
}

.about__text+.about__text {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
}

.about__media {
    position: relative;
}

.about__halo {
    position: absolute;
    inset: -5.625rem -4.375rem -5.625rem -3.125rem;
    border-radius: 50%;
    background: radial-gradient(ellipse at 58% 50%,var(--tint-sky-10),var(--tint-teal-05) 45%,transparent 72%);
    pointer-events: none;
}

.about__frame {
    position: relative;
    border-radius: var(--radius-2xl);
    overflow: hidden;
    -webkit-box-shadow: var(--shadow-frame);
    box-shadow: var(--shadow-frame);
    aspect-ratio: 4/3;
    background: var(--color-surface-frame);
}

.about__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

/* ---------- team ---------- */
.team__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,11rem),1fr));
    gap: var(--gap-grid);
}

.member {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 3/4;
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
}

.member__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.member__overlay {
    position: absolute;
    inset: 0;
    padding: clamp(1rem,2vw,1.5rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    background: linear-gradient(to top,var(--tint-ink-85) 0%,rgba(16,26,69,.25) 40%,rgba(16,26,69,0) 65%);
    pointer-events: none;
}

.member__overlay--hover {
    background: linear-gradient(to top,var(--tint-ink-94) 0%,rgba(16,26,69,.6) 50%,rgba(16,26,69,.1) 80%);
    opacity: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    pointer-events: auto;
}

.member:hover .member__overlay--hover {
    opacity: 1;
}

.member__role {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tint-white-65);
    -webkit-margin-after: .3125rem;
    margin-block-end: .3125rem;
}

.member__name {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-text-invert);
    line-height: 1.2;
}

.member__overlay--hover .member__name {
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.member__label {
    font-size: .75rem;
    color: var(--tint-white-55);
    -webkit-margin-after: .125rem;
    margin-block-end: .125rem;
}

.member__email {
    font-size: .9375rem;
    font-weight: 600;
    color: var(--color-text-invert);
    -webkit-margin-after: 1.125rem;
    margin-block-end: 1.125rem;
}

.member__link {
    -ms-flex-item-align: start;
    align-self: flex-start;
    background: var(--color-teal);
    color: var(--color-text-invert);
    font-weight: 700;
    font-size: .875rem;
    padding: .75rem 1.625rem;
    border-radius: var(--radius-pill);
}

.member__link:hover {
    background: var(--color-teal-dark);
    color: var(--color-text-invert);
}

/* ---------- formats ---------- */
.formats__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr));
    gap: var(--gap-grid);
}

.format {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: clamp(1.5rem,2.4vw,1.875rem);
    -webkit-transition: border-color .3s,-webkit-box-shadow .3s;
    transition: border-color .3s,-webkit-box-shadow .3s;
    transition: border-color .3s,box-shadow .3s;
    transition: border-color .3s,box-shadow .3s,-webkit-box-shadow .3s;
}

.format:hover {
    border-color: var(--tint-teal-40);
    -webkit-box-shadow: var(--shadow-soft);
    box-shadow: var(--shadow-soft);
}

.format__num {
    font-size: .8125rem;
    font-weight: 800;
    color: var(--color-teal);
    -webkit-margin-after: .875rem;
    margin-block-end: .875rem;
}

.format__title {
    font-size: clamp(1.0625rem,1.5vw,1.1875rem);
    font-weight: 700;
    color: var(--color-text);
    -webkit-margin-after: .75rem;
    margin-block-end: .75rem;
    line-height: 1.25;
}

.format__text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: .875rem;
    color: var(--color-text-muted);
    line-height: 1.55;
}

.format__link {
    -webkit-margin-before: 1.125rem;
    margin-block-start: 1.125rem;
    font-size: .875rem;
    font-weight: 700;
    color: var(--color-teal);
}

.format__link:hover {
    color: var(--color-teal-dark);
}

/* ---------- faq ---------- */
.faq__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .875rem;
}

.faq__item {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.faq__button {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1rem,2vw,1.375rem) clamp(1.125rem,2vw,1.625rem);
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    color: var(--color-text);
    -webkit-transition: color var(--transition);
    transition: color var(--transition);
}

.faq__button:hover {
    color: var(--color-teal);
}

.faq__question {
    font-size: clamp(1rem,1.4vw,1.0625rem);
    font-weight: 700;
    color: inherit;
}

.faq__sign {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    font-size: 1.5rem;
    font-weight: 400;
    color: inherit;
}

.faq__answer {
    padding: 0 clamp(1.125rem,2vw,1.625rem) 1.5rem;
    font-size: .9375rem;
    line-height: 1.65;
    color: var(--color-text-muted);
}

/* ---------- contacts ---------- */
.contacts__card {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,22rem),1fr));
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-2xl);
    -webkit-box-shadow: var(--shadow-panel);
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}

.contacts__aside {
    position: relative;
    overflow: hidden;
    padding: clamp(1.75rem,4vw,3.5rem);
    background: var(--color-navy);
    color: var(--color-text-invert);
}

.contacts__glow {
    position: absolute;
    inset-block-start: -8.75rem;
    inset-inline-end: -6.25rem;
    width: min(26rem,80vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle,var(--tint-teal-30),transparent 68%);
    pointer-events: none;
}

.contacts__texture {
    position: absolute;
    inset-block-start: 7.5rem;
    inset-inline-end: -8.75rem;
    width: 120%;
    height: 110%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 44% 44%;
    object-position: 44% 44%;
    opacity: .3;
    mix-blend-mode: screen;
    -webkit-filter: invert(1) hue-rotate(180deg) saturate(1.6);
    filter: invert(1) hue-rotate(180deg) saturate(1.6);
    -webkit-mask-image: -webkit-gradient(linear,left top, right top,from(transparent),color-stop(34%, rgba(0,0,0,.55)),color-stop(68%, #000));
    -webkit-mask-image: linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 34%,#000 68%);
    mask-image: -webkit-gradient(linear,left top, right top,from(transparent),color-stop(34%, rgba(0,0,0,.55)),color-stop(68%, #000));
    mask-image: linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 34%,#000 68%);
    pointer-events: none;
}

.contacts__body {
    position: relative;
}

.contacts__title {
    font-size: clamp(1.5rem,3.4vw,2.125rem);
    font-weight: 800;
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.contacts__text {
    font-size: 1rem;
    color: var(--tint-white-80);
    line-height: 1.6;
    -webkit-margin-after: 2.25rem;
    margin-block-end: 2.25rem;
    max-width: 25rem;
}

.contacts__list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.25rem;
}

.contacts__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .875rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.contacts__icon {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-navy);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.125rem;
}

.contacts__cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.contacts__label {
    display: block;
    font-size: .8125rem;
    color: var(--tint-white-55);
    -webkit-margin-after: .125rem;
    margin-block-end: .125rem;
}

.contacts__value {
    display: block;
    font-weight: 600;
    color: var(--color-text-invert);
    line-height: 1.5;
}

.contacts__value--link {
    display: inline-block;
}

.contacts__value--link:hover {
    color: var(--color-teal);
}

.contacts__note {
    font-size: .8125rem;
    color: var(--tint-white-55);
    -webkit-margin-before: .25rem;
    margin-block-start: .25rem;
}

.contacts__socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .75rem;
    -webkit-margin-before: 2.25rem;
    margin-block-start: 2.25rem;
}

.contacts__social {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-navy);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contacts__social:hover {
    color: var(--color-teal);
}

.contacts__map {
    -webkit-margin-before: 1.75rem;
    margin-block-start: 1.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    -webkit-box-shadow: 0 20px 40px -30px var(--tint-navy-25);
    box-shadow: 0 20px 40px -30px var(--tint-navy-25);
    line-height: 0;
}

.contacts__map-frame {
    width: 100%;
    height: clamp(15rem,40vw,22.5rem);
    border: 0;
    display: block;
}

.wpcf7-form, .form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.25rem;
    padding: clamp(1.75rem,4vw,3.5rem);
}

.form__label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    color: var(--color-text);
    -webkit-margin-after: .5rem;
    margin-block-end: .5rem;
}

.form__input,.form__textarea {
    width: 100%;
    padding: .875rem 1rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-soft);
    background: var(--color-surface-muted);
    font-size: .9375rem;
    font-family: inherit;
    color: var(--color-text);
}

.form__input {
    height: 3.25rem;
    padding-block: 0;
}

.form__textarea {
    min-height: 7.5rem;
    resize: vertical;
}

.form__input:focus,.form__textarea:focus {
    background: var(--color-surface);
    border-color: var(--color-teal);
    outline: none;
}

.form__input::-webkit-input-placeholder, .form__textarea::-webkit-input-placeholder {
    color: var(--color-text-faint);
}

.form__input::-moz-placeholder, .form__textarea::-moz-placeholder {
    color: var(--color-text-faint);
}

.form__input:-ms-input-placeholder, .form__textarea:-ms-input-placeholder {
    color: var(--color-text-faint);
}

.form__input::-ms-input-placeholder, .form__textarea::-ms-input-placeholder {
    color: var(--color-text-faint);
}

.form__input::placeholder,.form__textarea::placeholder {
    color: var(--color-text-faint);
}

.form__file {
    display: none;
}

.form__file-button, .codedropz-upload-inner {
    position: relative;
    width: 100%;
    height: 3.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .625rem;
    padding-inline: 1.125rem;
    border-radius: var(--radius-md);
    border: 1.5px dashed var(--color-border-dashed);
    background: var(--color-surface-muted);
    font-size: .9375rem;
    font-family: inherit;
    color: var(--color-text-faint);
    cursor: pointer;
    -webkit-transition: border-color var(--transition),color var(--transition);
    transition: border-color var(--transition),color var(--transition);
}

.codedropz-upload-inner a {
    color: var(--color-text-faint);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
}

.codedropz-btn-wrap {
    width: 100%;
    height: 100%;
}

.form__file-button:hover, .codedropz-upload-inner:hover, .codedropz-upload-inner:hover a {
    border-color: var(--color-teal);
    color: var(--color-teal);
}

.form__file-icon, .codedropz-upload-inner>span {
    font-size: 1.125rem;
}

.form__hint {
    font-size: .75rem;
    color: var(--color-text-faint);
    -webkit-margin-before: .375rem;
    margin-block-start: .375rem;
}

.form__consent, .wpcf7-acceptance label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .625rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    font-size: .8125rem;
    color: var(--color-text-muted);
    line-height: 1.5;
}

.form__checkbox {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    -webkit-margin-before: .1875rem;
    margin-block-start: .1875rem;
}

.form__success {
    text-align: center;
    color: var(--color-lime-ink);
    font-weight: 700;
    font-size: .9375rem;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.wpcf7-not-valid-tip {
    font-size: 0.8em;
}

.codedropz-upload-handler {
    border: none;
    margin-bottom: 20px;
}

.codedropz-upload-container {
    padding: 0;
}

.codedropz-upload-inner h3, .codedropz-upload-inner>span:first-child {
    display: none;
}

.codedropz-upload-handler:after {
    content: 'PDF, DOC, XLS, PNG, JPG — до 10 МБ';
    font-size: .75rem;
    color: var(--color-text-faint);
    -webkit-margin-before: .375rem;
    margin-block-start: .375rem;
    width: 100%;
    position: absolute;
    display: block;
    text-align: left;
    bottom: -20px;
}

.dnd-upload-counter {
    font-size: .75rem;
    color: var(--color-text-faint);
    bottom: -20px;
}

.wpcf7-not-valid {
    border-color: #dc3232;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
    border-radius: var(--radius-md);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background: #ffb900;
    color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #46b450;
    color: #fff;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    background: #dc3232;
    color: #fff;
}

.wpcf7 form.spam .wpcf7-response-output {
    background: #f56e28;
    color: #fff;
}

/* ---------- footer ---------- */
.footer {
    position: relative;
    overflow: hidden;
    background: var(--color-navy);
    padding: clamp(2.5rem,5vw,4rem) var(--gutter) 2.25rem;
}

.footer__hairline {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 1px;
    background: linear-gradient(90deg,transparent,var(--tint-teal-70),var(--tint-lime-70),transparent);
}

.footer__glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.footer__glow--teal {
    inset-block-end: -11.25rem;
    inset-inline-end: -7.5rem;
    width: min(28.75rem,80vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,var(--tint-teal-22),transparent 68%);
}

.footer__glow--lime {
    inset-block-start: -8.75rem;
    inset-inline-start: -7.5rem;
    width: min(25rem,75vw);
    aspect-ratio: 1;
    background: radial-gradient(circle,rgba(140,198,63,.14),transparent 68%);
}

.footer__deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.footer__wash {
    position: absolute;
}

.footer__wash--left {
    inset-block-start: 14%;
    inset-inline-start: 2.5%;
    width: min(32.5rem,80vw);
    height: 26.25rem;
    background: radial-gradient(ellipse at center,var(--tint-sky-05),transparent 70%);
}

.footer__wash--right {
    inset-block-end: 6%;
    inset-inline-end: 8%;
    width: min(28.75rem,70vw);
    height: 23.75rem;
    background: radial-gradient(ellipse at center,var(--tint-teal-04),transparent 70%);
}

.footer__cube {
    position: absolute;
    border: 1px solid var(--tint-white-05);
}

.footer__cube--a {
    inset-block-start: .125rem;
    inset-inline-start: 2.5%;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--radius-xs);
    background: rgba(255,255,255,.045);
}

.footer__cube--b {
    inset-block-start: 34%;
    inset-inline-end: 4%;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: .4375rem;
    background: rgba(255,255,255,.075);
    border-color: var(--tint-sky-09);
    -webkit-transform: rotate(12deg);
    -ms-transform: rotate(12deg);
    transform: rotate(12deg);
}

.footer__cube--c {
    inset-block-end: 2.875rem;
    inset-inline-start: 44%;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: .3125rem;
    background: rgba(255,255,255,.075);
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg);
}

.footer__line {
    position: absolute;
}

.footer__line--a {
    inset-block-start: 5.25rem;
    inset-inline-start: 0;
    width: 13%;
    height: 1px;
    background: linear-gradient(90deg,var(--tint-teal-10),transparent);
}

.footer__line--b {
    inset-block-end: 7rem;
    inset-inline-end: 0;
    width: 16%;
    height: 1px;
    background: linear-gradient(270deg,var(--tint-sky-09),transparent);
}

.footer__line--c {
    inset-block-start: 0;
    inset-inline-end: 12%;
    width: 1px;
    height: 9%;
    background: linear-gradient(180deg,var(--tint-teal-08),transparent);
}

.footer__inner {
    position: relative;
}

.footer__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,13.75rem),1fr));
    gap: clamp(1.75rem,3vw,2.5rem);
    -webkit-padding-after: 2.25rem;
    padding-block-end: 2.25rem;
    -webkit-border-after: 1px solid var(--tint-white-12);
    border-block-end: 1px solid var(--tint-white-12);
}

.footer__brand {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .75rem;
    -webkit-margin-after: 1.625rem;
    margin-block-end: 1.625rem;
}

.footer__logo-img {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    -webkit-filter: drop-shadow(0 0 16px var(--tint-sky-22));
    filter: drop-shadow(0 0 16px var(--tint-sky-22));
}

.footer__logo-text {
    font-size: clamp(1.375rem,2.4vw,1.5625rem);
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--color-text-invert);
}

.footer__about {
    font-size: .875rem;
    color: var(--tint-white-70);
    line-height: 1.6;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    max-width: 19rem;
}

.footer__cta-label {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text-invert);
    -webkit-margin-before: .75rem;
    margin-block-start: .75rem;
    -webkit-margin-after: .875rem;
    margin-block-end: .875rem;
}

.footer__cta {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--color-teal);
    color: var(--color-text-invert);
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1;
    padding: .9375rem 1.75rem;
    border-radius: var(--radius-pill);
    -webkit-transition: background var(--transition);
    transition: background var(--transition);
}

.footer__cta:hover {
    background: var(--color-teal-dark);
    color: var(--color-text-invert);
}

.footer__col-title {
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tint-white-70);
    -webkit-margin-after: 1rem;
    margin-block-end: 1rem;
}

.footer__menu .menu, .footer__links {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .6875rem;
    font-size: .875rem;
}

.footer__menu .menu-item a, .footer__link {
    color: var(--tint-white-75);
}

.footer__menu .menu-item a:hover, .footer__link:hover {
    color: var(--color-teal);
}

.footer__address {
    color: var(--tint-white-60);
    line-height: 1.5;
    font-size: .8125rem;
}

.footer__socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: .625rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
}

.footer__social {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: .625rem;
    background: var(--tint-white-10);
    color: var(--color-text-invert);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: background var(--transition);
    transition: background var(--transition);
}

.footer__social:hover {
    background: var(--color-teal);
    color: var(--color-text-invert);
}

.footer__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: .75rem;
    -webkit-padding-before: 1.625rem;
    padding-block-start: 1.625rem;
    font-size: .8125rem;
    color: var(--tint-white-50);
}

.footer__policy {
    color: var(--tint-white-50);
}

.footer__policy:hover {
    color: var(--color-teal);
}

.cookie-banner {
    position: fixed;
    bottom: 0.5rem;
    width: 100%;
    padding-inline: var(--gutter);
}

.cookie-banner .cookie-consent-banner-wrapper {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    -webkit-box-shadow: var(--shadow-step);
    box-shadow: var(--shadow-step);
    padding: clamp(0.5rem,2vw,1.1rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.cookie-banner .cookie-banner__text {
    min-width: 37.5rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.cookie-banner .cookie-banner__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.cookie-banner .cookie-banner__buttons .cookie-btn-accept,
.cookie-banner .cookie-banner__buttons .cookie-btn-decline {
    padding: 0.6rem 1.5rem;
}

.show-mob {
    display: none;
}

.grecaptcha-badge {
    display: none !important;
}

/* error */
.error{position:relative;overflow:hidden;flex:1;display:flex;align-items:center;background:var(--gradient-hero);padding-block:clamp(3rem,8vw,7rem);padding-inline:clamp(1rem,3vw,1.75rem)}
.error__glow{position:absolute;pointer-events:none}
.error__glow--a{top:-12rem;right:-10rem;width:40rem;height:40rem;background:var(--glow-teal)}
.error__glow--b{bottom:-14rem;left:-9rem;width:35rem;height:35rem;background:var(--glow-lime)}
.error__shape{position:absolute;pointer-events:none;border:1px solid rgba(30,46,143,.08);background:rgba(255,255,255,.5);backdrop-filter:blur(2px);animation:drift 9s ease-in-out infinite}
.error__shape--1{--rot:-14deg;top:14%;right:16%;width:3.5rem;height:3.5rem;border-radius:var(--radius-md);animation-delay:-1s}
.error__shape--2{--rot:12deg;bottom:20%;right:9%;width:5rem;height:2rem;border-radius:.4375rem;animation-delay:-4s}
.error__shape--3{--rot:8deg;top:24%;left:7%;width:2.25rem;height:2.25rem;border-radius:.5rem;animation-delay:-2.5s}
.error__shape--4{--rot:-6deg;bottom:14%;left:14%;width:4.25rem;height:1.5rem;border-radius:.375rem;animation-delay:-6s}

.error__inner{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:clamp(2rem,5vw,4rem);align-items:center}
.error__content{animation:fade-up .6s ease both;max-width:34rem}
.error__badge{display:inline-block;margin-block-end:1.25rem;padding:.4375rem 1rem;border-radius:var(--radius-pill);background:rgba(0,174,199,.1);border:1px solid rgba(0,174,199,.25);color:var(--color-teal-ink);font-weight:600;font-size:.875rem}
.error__title{font-size:clamp(1.875rem,4.5vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-block-end:1.125rem;text-wrap:balance}
.error__text{font-size:clamp(1rem,1.4vw,1.1875rem);line-height:1.55;color:var(--color-text-muted);margin-block-end:2rem;text-wrap:pretty}
.error__actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-block-end:2.25rem}
.error__links-label{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-block-end:.875rem}
.error__menu .menu{display:flex;flex-wrap:wrap;gap:.625rem;list-style: none;}
.error__menu .menu-item a{display:inline-flex;padding:.625rem 1.125rem;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border-soft);font-weight:600;font-size:.9375rem;color:var(--color-navy);box-shadow:var(--shadow-card);transition:border-color var(--transition),color var(--transition),box-shadow var(--transition)}
.error__menu .menu-item a:hover{border-color:rgba(0,174,199,.4);color:var(--color-teal);box-shadow:var(--shadow-hover)}

.error__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(10rem,28vw,22rem);animation:fade-up .8s ease both}
.error__code{font-size:clamp(7rem,20vw,15rem);font-weight:800;line-height:.86;letter-spacing:-.05em;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.error__code-caption{position:absolute;inset-inline:0;bottom:clamp(.5rem,2vw,1.5rem);text-align:center;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint)}


/* single breakpoint: collapse nav into burger where it stops fitting */
@media (max-width:56.25rem) {
    .header__burger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .header__nav {
        position: absolute;
        top: 100%;
        min-width: 13rem;
        margin-top: 0.5rem;
        right: var(--gutter);
        background: #fff;
        padding: 1rem;
        -webkit-box-shadow: var(--shadow-card-hover);
        box-shadow: var(--shadow-card-hover);
        border-radius: 1rem;
        -webkit-transition: 300ms;
        transition: 300ms;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2rem;
    }

    .header__nav .menu {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        gap: .875rem;
        width: 100%;
    }

    .header__nav:not(.header__nav--open) {
        opacity: 0;
        pointer-events: none;
    }

    .show-mob {
        display: block;
    }

    .header__phone {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    .header__nav .header__actions {
        display: none;
    }
}

@media (max-width:42.5rem) {
    .cookie-banner .cookie-banner__text {
        min-width: 100%;
    }
}

@media (max-width:36.25rem) {
    .header__nav .header__actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-line-pack: end;
        align-content: flex-end;
        gap: 1rem;
    }

    .header__actions .header__phone {
        display: none;
    }

    .header__nav .header__actions .header__phone {
        display: block;
    }
    .error__actions .btn {
        padding: 1rem;
        flex: 1;
    }
}

@media (max-width:25.938rem) {
    .header__actions>.btn {
        display: none;
    }

    .header__nav .header__actions>.btn {
        display: block;
    }
}