@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-Cyrillic-Variable.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-Latin-Variable.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    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;
}

:root {
    --aes-dark: #0e4a4e;
    --aes-dark-deep: #07383b;
    --aes-dark-card: #0d5754;
    --aes-green: #b4cd43;
    --aes-green-dark: #94b21d;
    --aes-green-soft: #eef3db;
    --aes-ink: #173f42;
    --aes-muted: #647576;
    --aes-border: #d9e1dd;
    --aes-surface: #f4f7f3;
    --aes-surface-warm: #f3f6ea;
    --aes-white: #ffffff;
    --aes-container: 1240px;
    --aes-gutter: 48px;
    --aes-header-height: 70px;
    --aes-transition: 220ms ease;
}

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

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--aes-header-height);
}

body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    color: var(--aes-ink);
    background: var(--aes-white);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.aes-menu-open {
    overflow: hidden;
}

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

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

[hidden] {
    display: none !important;
}

.aes-container {
    width: min(calc(100% - (var(--aes-gutter) * 2)), var(--aes-container));
    margin-inline: auto;
}

.aes-main {
    min-height: 45vh;
}

.aes-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 10000;
    padding: 9px 15px;
    color: var(--aes-white);
    background: var(--aes-dark);
    transform: translateY(-160%);
}

.aes-skip-link:focus {
    transform: translateY(0);
}

.aes-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border: 1px solid var(--aes-green);
    border-radius: 0;
    color: var(--aes-dark);
    background: var(--aes-green);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition:
        color var(--aes-transition),
        background var(--aes-transition),
        border-color var(--aes-transition),
        transform var(--aes-transition);
}

.aes-button:hover {
    color: var(--aes-white);
    background: var(--aes-dark);
    border-color: var(--aes-dark);
}

.aes-button:active {
    transform: translateY(1px);
}

.aes-button:focus-visible,
.aes-menu a:focus-visible,
.aes-footer a:focus-visible,
.aes-footer__to-top:focus-visible,
.aes-menu-toggle:focus-visible,
.aes-accordion button:focus-visible,
.aes-faq__link:focus-visible {
    outline: 3px solid var(--aes-green);
    outline-offset: 3px;
}

/* Header */

.aes-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--aes-header-height);
    border-bottom: 1px solid rgba(14, 74, 78, 0.06);
    background: rgba(255, 255, 255, 0.98);
    transition:
        box-shadow var(--aes-transition),
        border-color var(--aes-transition);
}

.aes-header.is-scrolled {
    border-color: var(--aes-border);
    box-shadow: 0 8px 28px rgba(14, 74, 78, 0.08);
}

.admin-bar .aes-header {
    top: 32px;
}

.aes-header__inner {
    display: grid;
    height: 100%;
    grid-template-columns: minmax(235px, 285px) minmax(0, 1fr) 220px;
    gap: 28px;
    align-items: center;
}

.aes-header__logo {
    display: inline-flex;
    align-items: center;
    width: min(100%, 285px);
}

.aes-header__logo .custom-logo-link {
    display: block;
    width: 100%;
}

.aes-header__logo img,
.aes-header__logo .custom-logo {
    width: 100%;
    max-height: 47px;
    object-fit: contain;
    object-position: left center;
}

.aes-header__nav {
    min-width: 0;
    transform: translateY(-5px);
}

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

.aes-menu--desktop {
    display: flex;
    gap: clamp(24px, 1.8vw, 32px);
    align-items: center;
    justify-content: center;
}

.aes-menu--desktop > li {
    position: relative;
}

.aes-menu--desktop a {
    display: block;
    padding: 11px 0;
    color: var(--aes-dark);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.aes-menu--desktop > li > a::after {
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 2px;
    background: var(--aes-green);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--aes-transition);
}

.aes-menu--desktop > li > a:hover::after,
.aes-menu--desktop > .current-menu-item > a::after,
.aes-menu--desktop > .current_page_item > a::after {
    transform: scaleX(1);
}

.aes-header__cta {
    min-height: 48px;
    min-width: 220px;
    max-width: none;
    justify-self: end;
    padding: 11px 22px;
    border-color: var(--aes-green-dark);
    color: var(--aes-dark);
    background: var(--aes-white);
    font-size: 16px;
    font-weight: 650;
    white-space: nowrap;
    transform: translateY(-5px);
}

.aes-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    padding: 10px;
    border: 1px solid var(--aes-border);
    color: var(--aes-dark);
    background: var(--aes-white);
    cursor: pointer;
}

.aes-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 5px 0;
    background: currentColor;
    transition:
        transform var(--aes-transition),
        opacity var(--aes-transition);
}

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

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

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

.aes-mobile-menu {
    position: fixed;
    inset: var(--aes-header-height) 0 0;
    overflow-y: auto;
    border-top: 1px solid var(--aes-border);
    background: var(--aes-white);
}

.admin-bar .aes-mobile-menu {
    top: calc(var(--aes-header-height) + 32px);
}

.aes-mobile-menu__inner {
    padding-block: 24px 40px;
}

.aes-menu--mobile li {
    border-bottom: 1px solid var(--aes-border);
}

.aes-menu--mobile a {
    display: block;
    padding: 18px 0;
    color: var(--aes-dark);
    font-size: 20px;
    font-weight: 700;
}

.aes-mobile-menu__cta {
    width: 100%;
    margin-top: 26px;
}

/* Shared home-page elements */

.aes-home-section {
    position: relative;
    overflow: hidden;
}

.aes-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.75fr);
    gap: 70px;
    align-items: end;
}

.aes-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 25px;
    color: var(--aes-green-dark);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.2;
    text-transform: uppercase;
}

.aes-eyebrow::before {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
    background: var(--aes-green);
    content: "";
    transform: rotate(45deg);
    animation: aesDiamondPulse 3s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-home-section h2 {
    margin: 0;
    color: var(--aes-dark);
    font-size: clamp(36px, 3.65vw, 52px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.aes-home-section h2 em {
    display: block;
    color: var(--aes-green-dark);
    font-style: normal;
}

.aes-section-intro {
    max-width: 450px;
    margin: 0 0 3px;
    color: #43585a;
    font-size: 18px;
    line-height: 1.7;
}

.aes-diamond-decor {
    position: absolute;
    z-index: 0;
    width: 265px;
    height: 265px;
    border: 1px solid rgba(142, 171, 25, 0.14);
    pointer-events: none;
    transform: rotate(45deg);
    animation: aesDiamondFloat 9s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-diamond-decor::after {
    position: absolute;
    top: 48%;
    left: 48%;
    width: 38px;
    height: 38px;
    background: rgba(180, 205, 67, 0.16);
    content: "";
}

.aes-diamond-decor--right {
    top: 40px;
    right: -150px;
}

.aes-home-section.is-inview .aes-diamond-decor,
.aes-home-section.is-inview .aes-eyebrow::before {
    animation-play-state: running;
}

.aes-home-section > .aes-container {
    position: relative;
    z-index: 1;
}

[data-reveal] {
    --aes-reveal-delay: 0ms;

    will-change: opacity, transform;
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay);
}

.js .aes-home-section [data-reveal] {
    opacity: 0;
    transform: translateY(30px);
}

.js .aes-home-section [data-reveal="left"] {
    transform: translateX(-42px);
}

.js .aes-home-section [data-reveal="right"] {
    transform: translateX(42px);
}

.js .aes-home-section [data-reveal="zoom"] {
    transform: translateY(18px) scale(0.965);
}

.js .aes-home-section [data-reveal].is-visible {
    opacity: 1;
    transform: none;
    will-change: auto;
}

/* Hero */

.aes-hero {
    position: relative;
    height: 866px;
    overflow: hidden;
    background: var(--aes-white);
}

.aes-hero::after {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 76px;
    background:
        linear-gradient(
            180deg,
            rgba(7, 56, 59, 0) 0%,
            rgba(7, 56, 59, 0.18) 30%,
            rgba(7, 56, 59, 0.9) 76%,
            var(--aes-dark-deep) 100%
        );
    content: "";
    pointer-events: none;
}

.aes-hero__content {
    position: relative;
    z-index: 2;
    padding-top: 79px;
}

.aes-hero h1 {
    max-width: 580px;
    min-height: 230px;
    margin: 0;
    color: var(--aes-dark);
    font-size: clamp(52px, 5.05vw, 68px);
    font-weight: 800;
    letter-spacing: -0.052em;
    line-height: 1.04;
}

.aes-hero h1 span,
.aes-hero h1 strong {
    display: block;
    font-weight: inherit;
}

.aes-hero h1 strong {
    color: var(--aes-green-dark);
}

.aes-hero__content > p {
    max-width: 580px;
    margin: 48px 0 39px;
    color: var(--aes-dark);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.48;
}

.aes-button--hero {
    min-width: 315px;
    min-height: 64px;
    color: var(--aes-white);
    background: #94b21d;
    font-size: 17px;
}

.aes-hero__city {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: -3.6vw;
    width: 160vw;
    min-width: 1680px;
    max-width: none;
    height: auto;
    pointer-events: none;
}

/* Impact */

.aes-impact {
    min-height: 543px;
    padding-top: 82px;
    background: #f5f8f6;
}

.aes-impact .aes-section-head {
    min-height: 154px;
    margin-bottom: 60px;
    align-items: center;
}

.aes-impact h2 {
    font-size: 52px;
}

.aes-impact .aes-eyebrow {
    font-size: 13px;
}

.aes-impact .aes-section-intro {
    font-size: 16px;
    line-height: 1.55;
}

.aes-stats {
    display: grid;
    min-height: 247px;
    border-top: 1px solid var(--aes-border);
    border-bottom: 1px solid var(--aes-border);
    grid-template-columns: repeat(3, 1fr);
}

.aes-stat {
    position: relative;
    padding: 38px 44px 38px 0;
}

.aes-stat + .aes-stat {
    padding-left: 44px;
    border-left: 1px solid var(--aes-border);
}

.aes-stat::after {
    display: none;
}

.aes-stat__value {
    display: flex;
    min-height: 83px;
    align-items: baseline;
    color: var(--aes-dark);
    font-size: clamp(56px, 5.25vw, 76px);
    font-weight: 800;
    letter-spacing: -0.07em;
    line-height: 0.98;
}

.aes-stat__value i {
    margin-inline: 1px;
    color: var(--aes-green-dark);
    font-size: 0.78em;
    font-style: normal;
}

.aes-stat__value small {
    color: var(--aes-green-dark);
    font-size: 0.66em;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.aes-stat__value--saving i {
    font-size: 0.6em;
}

.aes-stat__value--saving small {
    margin-left: 12px;
    font-size: 0.34em;
    letter-spacing: 0;
}

.aes-stat h3 {
    margin: 5px 0 10px;
    color: var(--aes-dark);
    font-size: 19px;
    font-weight: 750;
    line-height: 1.3;
}

.aes-stat:last-child h3 {
    white-space: nowrap;
}

.aes-stat p {
    max-width: 360px;
    margin: 0;
    color: var(--aes-muted);
    font-size: 14px;
    line-height: 1.55;
}

/* Solutions */

.aes-solutions {
    min-height: 764px;
    padding: 38px 0 36px;
    background:
        radial-gradient(circle at 83% 10%, rgba(180, 205, 67, 0.14), transparent 34%),
        var(--aes-surface-warm);
}

.aes-solutions .aes-section-head {
    min-height: 123px;
    margin-bottom: 24px;
}

.aes-solutions h2 {
    font-size: clamp(40px, 3.44vw, 47px);
}

.aes-solutions .aes-section-intro {
    font-size: 18px;
}

.aes-solutions > .aes-container {
    width: min(calc(100% - 56px), 1292px);
}

.aes-solutions__grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
}

.aes-solution-card {
    position: relative;
    display: flex;
    min-height: 225px;
    flex-direction: column;
    overflow: hidden;
    padding: 18px 20px 16px;
    border: 1px solid #dce2dc;
    color: var(--aes-dark);
    background: var(--aes-white);
    box-shadow: 0 9px 22px rgba(14, 74, 78, 0.035);
    transition:
        transform 380ms ease,
        border-color 380ms ease,
        box-shadow 380ms ease;
}

.aes-solution-card::before {
    display: none;
}

.aes-solution-card--featured {
    color: var(--aes-white);
    border-color: transparent;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.03), transparent 65%),
        var(--aes-dark);
}

.aes-solution-card__title {
    display: grid;
    min-height: 88px;
    padding-left: 10px;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 0;
    align-items: center;
}

.aes-number-diamond {
    --aes-marker-color: var(--aes-green-dark);

    position: relative;
    display: block;
    width: 92px;
    height: 92px;
    margin-left: 0;
    color: var(--aes-white);
    background: transparent;
    font-size: 0;
    font-weight: 800;
    line-height: 1;
    transition: transform 450ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.aes-number-diamond::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--aes-marker-color);
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transition:
        background-color 300ms ease,
        transform 300ms ease;
}

.aes-number-diamond::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 35%;
    content: attr(data-number);
    font-size: 20px;
    transform: translate(-50%, -50%);
}

.aes-solution-card .aes-number-diamond {
    font-size: 0;
}

.aes-solution-card .aes-number-diamond::before {
    font-size: 20px;
}

.aes-solution-card:nth-child(1) .aes-number-diamond::before { content: "1"; }
.aes-solution-card:nth-child(2) .aes-number-diamond::before { content: "2"; }
.aes-solution-card:nth-child(3) .aes-number-diamond::before { content: "3"; }
.aes-solution-card:nth-child(4) .aes-number-diamond::before { content: "4"; }
.aes-solution-card:nth-child(5) .aes-number-diamond::before { content: "5"; }
.aes-solution-card:nth-child(6) .aes-number-diamond::before { content: "6"; }

.aes-solution-card h3 {
    margin: 0;
    color: inherit;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.25;
}

.aes-solution-card > p {
    margin: 10px 0 0;
    color: var(--aes-muted);
    font-size: 14px;
    line-height: 1.55;
}

.aes-solution-card--featured > p {
    color: rgba(255, 255, 255, 0.7);
}

.aes-solution-card__result {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid rgba(14, 74, 78, 0.12);
}

.aes-solution-card--featured .aes-solution-card__result {
    border-color: rgba(255, 255, 255, 0.18);
}

.aes-solution-card__result small {
    display: block;
    margin-bottom: 2px;
    color: var(--aes-green-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.aes-solution-card__result strong {
    display: block;
    color: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}

.aes-solutions__footer {
    display: grid;
    min-height: 63px;
    margin-top: 18px;
    padding-top: 14px;
    grid-template-columns: 1fr 237px;
    gap: 28px;
    align-items: center;
}

.aes-solutions__footer strong {
    color: var(--aes-dark);
    font-size: 16px;
}

.aes-solutions__footer p {
    margin: 3px 0 0;
    color: var(--aes-muted);
    font-size: 14px;
}

.aes-solutions__footer .aes-button {
    min-height: 48px;
    justify-content: space-between;
    padding: 12px 20px 12px 22px;
    font-size: 15px;
}

.aes-solutions__footer .aes-button span {
    font-size: 18px;
}

@media (hover: hover) and (pointer: fine) {
    .aes-solution-card:hover {
        z-index: 2;
        border-color: rgba(14, 74, 78, 0.28);
        box-shadow: 0 25px 62px rgba(14, 74, 78, 0.11);
        transform: translateY(-8px);
    }

    .aes-solution-card--featured:hover {
        border-color: transparent;
        box-shadow: 0 28px 65px rgba(9, 59, 62, 0.22);
    }

    .aes-solution-card:hover::before {
        border-color: rgba(14, 74, 78, 0.2);
        transform: rotate(45deg) translate(8px, 8px);
    }

    .aes-solution-card:hover .aes-number-diamond {
        transform: translateY(-4px);
    }

    .aes-solution-card:hover .aes-number-diamond::after {
        transform: scale(1.04);
    }

    .aes-solutions__footer .aes-button:hover {
        box-shadow: 0 14px 30px rgba(14, 74, 78, 0.12);
        transform: translateY(-3px);
    }
}

/* Process */

.aes-process {
    min-height: 578px;
    padding: 32px 0 34px;
    background: var(--aes-white);
}

.aes-section-head--process {
    min-height: 112px;
    margin-bottom: 18px;
}

.aes-process h2 {
    font-size: 42px;
}

.aes-process .aes-section-intro {
    font-size: 16px;
    line-height: 1.55;
}

.aes-process__stage {
    position: relative;
    display: block;
    min-height: 382px;
    overflow: hidden;
    border: 1px solid var(--aes-border);
    background: var(--aes-white);
}

.aes-process__stage::before {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 62%;
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0.98) 68%,
            rgba(255, 255, 255, 0) 100%
        );
    content: "";
    pointer-events: none;
}

.aes-process__steps {
    position: relative;
    z-index: 3;
    width: 58%;
    margin: 0;
    min-height: 380px;
    padding: 10px;
    list-style: none;
    background: transparent;
}

.aes-process__steps li {
    position: relative;
    display: grid;
    min-height: 76px;
    grid-template-columns: 84px 1fr;
    align-items: center;
}

.aes-process__steps li:not(:last-child)::after {
    position: absolute;
    bottom: 0;
    left: 85px;
    width: calc(100% - 85px);
    height: 1px;
    background: rgba(14, 74, 78, 0.09);
    content: "";
}

.aes-process__marker {
    --aes-marker-color: var(--aes-green-dark);

    position: relative;
    display: block;
    width: 66px;
    height: 66px;
    margin-left: 4px;
    color: var(--aes-white);
    background: transparent;
    font-size: 0;
    font-weight: 800;
    line-height: 1;
}

.aes-process__marker::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 35%;
    font-size: 16px;
    transform: translate(-50%, -50%);
}

.aes-process__marker::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--aes-marker-color);
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform 300ms ease;
}

.aes-process__steps li:nth-child(1) .aes-process__marker::before { content: "1"; }
.aes-process__steps li:nth-child(2) .aes-process__marker::before { content: "2"; }
.aes-process__steps li:nth-child(3) .aes-process__marker::before { content: "3"; }
.aes-process__steps li:nth-child(4) .aes-process__marker::before { content: "4"; }
.aes-process__steps li:nth-child(5) .aes-process__marker::before { content: "5"; }

.aes-process__steps li > div {
    padding: 8px 14px 8px 0;
}

.aes-process__steps h3 {
    margin: 0 0 3px;
    color: var(--aes-dark);
    font-size: 18px;
    font-weight: 750;
    line-height: 1.2;
}

.aes-process__steps p {
    margin: 0;
    color: var(--aes-muted);
    font-size: 15px;
    line-height: 1.4;
}

.aes-process__visual {
    position: absolute;
    z-index: 1;
    inset: 0;
    min-width: 0;
}

.aes-process__visual > img {
    position: absolute;
    right: -95px;
    bottom: 0;
    width: min(1020px, 82%);
    height: auto;
    max-width: none;
    opacity: 0.98;
    transform-origin: right bottom;
}

.aes-process__result {
    position: absolute;
    z-index: 4;
    right: 16px;
    bottom: 17px;
    width: min(310px, calc(100% - 32px));
    padding: 13px 16px;
    border-left: 4px solid var(--aes-green);
    color: var(--aes-white);
    background: rgba(7, 56, 59, 0.94);
}

.aes-process__result small {
    display: block;
    margin-bottom: 5px;
    color: var(--aes-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.aes-process__result strong {
    display: block;
    font-size: 16px;
    line-height: 1.35;
}

@media (hover: hover) and (pointer: fine) {
    .aes-process__steps li:hover .aes-process__marker::after {
        transform: scale(1.06);
    }
}

/* Economic result */

.aes-economic {
    min-height: 802px;
    padding: 58px 0 52px;
    color: var(--aes-white);
    background:
        radial-gradient(circle at 88% 6%, rgba(180, 205, 67, 0.14), transparent 31%),
        linear-gradient(110deg, #073f43 0%, #0b5a54 100%);
}

.aes-economic .aes-diamond-decor {
    border-color: rgba(180, 205, 67, 0.16);
}

.aes-section-head--light {
    min-height: 145px;
    margin-bottom: 22px;
}

.aes-economic h2,
.aes-faq__intro h2 {
    font-size: 43px;
    letter-spacing: -0.04em;
    line-height: 1.08;
}

.aes-section-head--light h2 {
    color: var(--aes-white);
}

.aes-section-head--light h2 em,
.aes-economic .aes-eyebrow {
    color: var(--aes-green);
}

.aes-section-head--light .aes-section-intro {
    color: rgba(255, 255, 255, 0.66);
    font-size: 16px;
    line-height: 1.55;
}

.aes-economic__grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
}

.aes-economic-card {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    padding: 20px 21px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.025);
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay),
        border-color 260ms ease,
        background-color 260ms ease,
        box-shadow 260ms ease;
}

.aes-economic-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--aes-green);
    content: "";
    transition: width 350ms ease;
}

.aes-economic-card:hover {
    transform: translateY(-4px);
    border-color: rgba(180, 205, 67, 0.58);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 18px 38px rgba(0, 24, 25, 0.16);
}

.aes-economic-card:hover::before {
    width: 100%;
}

.aes-economic-card__top {
    display: flex;
    justify-content: flex-start;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.aes-economic-card__top span {
    display: none;
}

.aes-economic-card__top small {
    color: rgba(255, 255, 255, 0.56);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.aes-economic-card__body {
    display: grid;
    min-height: 156px;
    grid-template-columns: minmax(0, 1.4fr) minmax(190px, 0.75fr);
    gap: 22px;
    align-items: center;
}

.aes-economic-card h3 {
    margin: 0 0 2px;
    color: var(--aes-white);
    font-size: 22px;
    font-weight: 750;
    line-height: 1.15;
}

.aes-economic-card em {
    color: var(--aes-green);
    font-size: 13px;
    font-style: normal;
}

.aes-economic-card p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.61);
    font-size: 15px;
    line-height: 1.55;
}

.aes-economic-card__result {
    padding-left: 20px;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.aes-economic-card__result small {
    display: block;
    color: rgba(255, 255, 255, 0.52);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.aes-economic-card__result strong {
    display: block;
    margin: 6px 0 2px;
    color: var(--aes-white);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1;
    white-space: nowrap;
}

.aes-economic-card__result span {
    color: var(--aes-green);
    font-size: 12px;
}

.aes-economic__footer {
    display: flex;
    min-height: 70px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.aes-economic__footer p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.56);
    font-size: 14px;
}

.aes-button--light {
    min-height: 40px;
    padding-block: 9px;
    border-color: var(--aes-green);
    color: var(--aes-white);
    background: transparent;
    font-size: 15px;
}

/* Clients */

.aes-clients {
    min-height: 704px;
    padding: 62px 0 58px;
    background:
        radial-gradient(circle at 12% 4%, rgba(180, 205, 67, 0.15), transparent 27%),
        #f0f4eb;
}

.aes-clients .aes-section-head {
    min-height: 151px;
    margin-bottom: 26px;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.65fr);
}

.aes-clients h2 {
    font-size: clamp(50px, 4.1vw, 58px);
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.aes-clients .aes-section-intro,
.aes-solutions .aes-section-intro {
    font-size: 16px;
    line-height: 1.55;
}

.aes-clients__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, 1fr);
}

.aes-client-card {
    position: relative;
    display: grid;
    min-height: 335px;
    padding: 22px 24px;
    border: 1px solid #dce3dc;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 14px 38px rgba(8, 56, 59, 0.045);
    grid-template-columns: minmax(0, 1fr) 64px;
    grid-template-rows: 64px minmax(0, 1fr);
    column-gap: 18px;
    transition:
        border-color 300ms ease,
        box-shadow 300ms ease,
        transform 300ms ease;
}

.aes-client-card__top {
    display: block;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: space-between;
}

.aes-client-card__top span {
    display: none;
}

.aes-client-card__top i {
    position: relative;
    display: block;
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    background: transparent;
    transition: transform 420ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.aes-client-card__top i::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 35%;
    display: none;
    width: 10px;
    height: 6px;
    border-right: 2px solid var(--aes-white);
    border-bottom: 2px solid var(--aes-white);
    content: "";
    transform: translate(-50%, -70%) rotate(45deg);
}

.aes-client-card__top i::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--aes-green-dark);
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transition:
        background-color 300ms ease,
        transform 300ms ease;
}

.aes-client-card h3 {
    min-height: 0;
    align-self: center;
    margin: 0;
    color: var(--aes-dark);
    font-size: 22px;
    font-weight: 750;
    grid-column: 1;
    grid-row: 1;
    line-height: 1.25;
}

.aes-client-card ul {
    display: grid;
    align-self: start;
    margin: 16px 0 0;
    padding: 0;
    gap: 0 18px;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: 1fr 1fr;
    list-style: none;
}

.aes-client-card li {
    position: relative;
    padding: 8px 0 8px 13px;
    border-bottom: 1px solid rgba(14, 74, 78, 0.08);
    color: #526465;
    font-size: 17px;
    line-height: 1.4;
}

.aes-client-card li::before {
    position: absolute;
    top: 13px;
    left: 1px;
    width: 5px;
    height: 5px;
    background: var(--aes-green);
    content: "";
    transform: rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
    .aes-client-card:hover {
        border-color: rgba(120, 147, 38, 0.35);
        box-shadow: 0 20px 48px rgba(8, 56, 59, 0.085);
        transform: translateY(-4px);
    }

    .aes-client-card:hover .aes-client-card__top i {
        transform: translateY(-4px);
    }

    .aes-client-card:hover .aes-client-card__top i::after {
        background: var(--aes-green);
        transform: scale(1.04);
    }
}

.aes-clients__statement {
    display: flex;
    min-height: 70px;
    align-items: center;
    margin: 16px 0 0;
    padding: 14px 22px;
    gap: 22px;
    color: rgba(255, 255, 255, 0.84);
    background: var(--aes-dark);
    font-size: 18px;
}

.aes-clients__statement i {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    border: 8px solid var(--aes-green);
    transform: rotate(45deg);
}

.aes-clients__statement strong {
    color: var(--aes-green);
}

/* FAQ */

.aes-faq {
    min-height: 683px;
    padding: 68px 0 66px;
    background: var(--aes-white);
}

.aes-faq__layout {
    display: grid;
    grid-template-columns: 417px minmax(0, 1fr);
    gap: 82px;
}

.aes-faq__intro > p:not(.aes-eyebrow) {
    margin: 24px 0 24px;
    color: var(--aes-muted);
    font-size: 17px;
    line-height: 1.7;
}

.aes-faq__link {
    display: inline-flex;
    min-width: 190px;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid var(--aes-border);
    color: #455a5b;
    font-size: 16px;
}

.aes-faq__link span {
    font-size: 21px;
}

.aes-accordion {
    border-top: 1px solid var(--aes-border);
    counter-reset: aes-faq-item;
}

.aes-accordion__item {
    border-bottom: 1px solid var(--aes-border);
    counter-increment: aes-faq-item;
    transition: background-color 300ms ease;
}

.aes-accordion__item.is-open {
    border-left: 3px solid var(--aes-green);
    background: #fafbf5;
}

.aes-accordion__item h3 {
    margin: 0;
}

.aes-accordion__item button {
    display: grid;
    width: 100%;
    min-height: 60px;
    padding: 14px 10px 14px 16px;
    border: 0;
    color: var(--aes-dark);
    background: transparent;
    grid-template-columns: 34px 1fr 35px;
    gap: 10px;
    align-items: center;
    text-align: left;
    cursor: pointer;
}

.aes-accordion__item button > span {
    color: var(--aes-green-dark);
    font-size: 0;
    font-weight: 800;
}

.aes-accordion__item button > span::before {
    content: counter(aes-faq-item);
    font-size: 13px;
}

.aes-accordion__item button strong {
    font-size: 18px;
    font-weight: 750;
    line-height: 1.3;
}

.aes-accordion__item button i {
    position: relative;
    width: 30px;
    height: 30px;
    border: 1px solid var(--aes-border);
    transform: rotate(45deg);
}

.aes-accordion__item button i::before,
.aes-accordion__item button i::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 1px;
    background: var(--aes-dark);
    content: "";
    transform: translate(-50%, -50%) rotate(-45deg);
}

.aes-accordion__item button i::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

.aes-accordion__item.is-open button i {
    border-color: transparent;
    background: var(--aes-green);
}

.aes-accordion__item.is-open button i::after {
    display: none;
}

.aes-accordion__answer {
    padding: 0 55px 20px 58px;
}

.aes-accordion__answer p {
    margin: 0;
    color: var(--aes-muted);
    font-size: 16px;
    line-height: 1.65;
}

.aes-accordion__answer p + p {
    margin-top: 12px;
}

@media (hover: hover) and (pointer: fine) {
    .aes-accordion__item:hover {
        background: rgba(180, 205, 67, 0.035);
    }

    .aes-accordion__item button:hover strong {
        color: var(--aes-green-dark);
    }

    .aes-accordion__item button:hover i {
        border-color: var(--aes-green-dark);
    }
}

/* Request form */

.aes-request {
    min-height: 610px;
    padding: 64px 0;
    background:
        radial-gradient(circle at 13% 64%, rgba(180, 205, 67, 0.13), transparent 30%),
        #f6f8f4;
}

.aes-request__layout {
    display: grid;
    width: min(calc(100% - 40px), 1200px);
    min-height: 482px;
    grid-template-columns: 499.5px minmax(0, 610.5px);
    gap: 90px;
    align-items: center;
}

.aes-request h2 {
    max-width: 480px;
    font-size: clamp(42px, 4.5vw, 62px);
}

.aes-form-card {
    position: relative;
    min-height: 482px;
    padding: 34px 38px;
    border-left: 4px solid var(--aes-green-dark);
    color: var(--aes-ink);
    background: var(--aes-white);
    box-shadow: 0 18px 48px rgba(14, 74, 78, 0.11);
}

.aes-form-card form {
    display: grid;
    gap: 15px;
}

.aes-form-card__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

.aes-form-card label:not(.aes-check) {
    display: grid;
    gap: 5px;
}

.aes-form-card label > span {
    color: var(--aes-dark);
    font-size: 14px;
    font-weight: 750;
}

.aes-form-card input:not([type="checkbox"]),
.aes-form-card textarea {
    width: 100%;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #d6ddda;
    border-radius: 0;
    outline: none;
    color: var(--aes-ink);
    background: var(--aes-white);
    font-size: 16px;
    transition: border-color var(--aes-transition);
}

.aes-form-card input:focus,
.aes-form-card textarea:focus {
    border-color: var(--aes-green-dark);
}

.aes-form-card textarea {
    min-height: 55px;
    resize: vertical;
}

.aes-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.aes-check input {
    width: 15px;
    height: 15px;
    margin: 1px 0 0;
    accent-color: var(--aes-dark);
}

.aes-check span {
    color: #748181 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.aes-check a {
    color: var(--aes-dark);
    text-decoration: underline;
}

.aes-form-card__submit {
    width: 100%;
    min-height: 46px;
    justify-content: space-between;
    margin-top: 1px;
    padding-inline: 18px;
    border: 0;
    background: linear-gradient(90deg, #b4cd43, #d3e953);
    font-size: 16px;
}

.aes-form-card__submit i {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
}

.aes-honeypot {
    position: absolute !important;
    left: -9999px !important;
}

.aes-alert {
    margin-bottom: 16px;
    padding: 10px 13px;
    font-size: 14px;
}

.aes-alert--success {
    color: var(--aes-dark);
    background: var(--aes-green-soft);
}

.aes-alert--error {
    color: #8a2020;
    background: #feeaea;
}

/* Contacts */

.aes-contacts {
    min-height: 799px;
    padding: 80px 0;
    background: var(--aes-white);
}

.aes-contacts__layout {
    display: grid;
    min-height: 639px;
    grid-template-columns: 57.4% 42.6%;
    border: 1px solid var(--aes-border);
}

.aes-contacts__map {
    min-height: 639px;
    overflow: hidden;
    background: #edf1ed;
}

.aes-contacts__map iframe {
    width: 100%;
    height: 100%;
    min-height: 639px;
    border: 0;
}

.aes-map-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 639px;
    place-content: center;
    padding: 30px;
    color: #879291;
    text-align: center;
}

.aes-map-placeholder span {
    color: var(--aes-dark);
    font-size: 20px;
    font-weight: 700;
}

.aes-map-placeholder p {
    max-width: 300px;
    margin: 9px auto 0;
    font-size: 15px;
}

.aes-contacts__info {
    padding: 51px 48px 35px;
}

.aes-contacts__info h2 {
    margin-bottom: 28px;
    font-size: 47px;
}

.aes-contacts__list {
    border-top: 1px solid var(--aes-border);
}

.aes-contact-row {
    display: grid;
    min-height: 82px;
    padding: 16px 0;
    border-bottom: 1px solid var(--aes-border);
    grid-template-columns: 45px 1fr;
    gap: 8px;
    align-items: center;
}

.aes-contact-row__icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: var(--aes-green-dark);
    line-height: 1;
}

.aes-contact-row__icon svg {
    width: 24px;
    height: 24px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.aes-contact-row small {
    display: block;
    margin-bottom: 2px;
    color: #8a9595;
    font-size: 13px;
}

.aes-contact-row a,
.aes-contact-row p {
    margin: 0;
    color: var(--aes-dark);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}

.aes-messengers {
    display: grid;
    margin-top: 17px;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.aes-messengers > a,
.aes-messengers > .aes-messenger {
    display: flex;
    align-items: center;
    gap: 11px;
}

.aes-messenger--disabled {
    opacity: 0.72;
}

.aes-messenger-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    overflow: hidden;
    place-items: center;
    border-radius: 50%;
    background: #f0f2f1;
}

.aes-messenger-icon--telegram {
    color: var(--aes-white);
    background: #2ca5e0;
    font-size: 21px;
}

.aes-messenger-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aes-messengers small,
.aes-messengers strong {
    display: block;
}

.aes-messengers small {
    color: #8a9595;
    font-size: 12px;
}

.aes-messengers strong {
    color: var(--aes-dark);
    font-size: 15px;
}

/* Inner pages */

.aes-inner-page {
    padding: clamp(70px, 9vw, 130px) 0;
}

.aes-inner-page__container {
    max-width: 960px;
}

/* Full-width service landing pages keep their own layout and H1. */
.aes-inner-page--landing {
    padding: 0;
}

.aes-inner-page__container--landing {
    width: 100%;
    max-width: none;
}

.aes-inner-page__container--landing .aes-content__body {
    font-size: inherit;
}

.aes-content__header h1,
.aes-content > h1,
.aes-error-page h1 {
    margin: 0 0 42px;
    color: var(--aes-dark);
    font-size: clamp(38px, 6vw, 72px);
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.aes-content__body {
    font-size: 17px;
}

.aes-content__body > *:first-child {
    margin-top: 0;
}

.aes-content__body h2 {
    margin: 2.2em 0 0.65em;
    color: var(--aes-dark);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.15;
}

.aes-content__body h3 {
    margin: 1.8em 0 0.55em;
    color: var(--aes-dark);
    font-size: 24px;
}

.aes-content__body a {
    color: var(--aes-dark);
    text-decoration: underline;
    text-decoration-color: var(--aes-green);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.aes-post-list {
    display: grid;
    gap: 24px;
}

.aes-post-card {
    padding: 30px;
    border: 1px solid var(--aes-border);
}

.aes-error-page {
    display: grid;
    min-height: 65vh;
    place-items: center;
    padding: 90px 0;
}

/* Footer */

.aes-footer {
    position: relative;
    min-height: 303px;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.72);
    background:
        radial-gradient(circle at 11% 10%, rgba(20, 105, 104, 0.22), transparent 28%),
        linear-gradient(112deg, #0d5356 0%, #073f43 100%);
}

.aes-footer::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, #8fb23c 0%, var(--aes-green) 72%, #e0b626 91%, #8fb23c 100%);
    content: "";
    pointer-events: none;
}

.aes-footer__diamonds {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.aes-footer__diamond {
    position: absolute;
    display: block;
    border: 1px solid rgba(180, 205, 67, 0.27);
    transform: rotate(45deg);
}

.aes-footer__diamond--one {
    top: -92px;
    left: 35%;
    width: 208px;
    height: 208px;
    border-color: rgba(255, 255, 255, 0.09);
    animation: aesFooterDiamondOne 13s ease-in-out infinite;
}

.aes-footer__diamond--two {
    top: 176px;
    left: 46%;
    width: 100px;
    height: 100px;
    animation: aesFooterDiamondTwo 10s ease-in-out infinite;
}

.aes-footer__diamond--three {
    top: 64px;
    left: 77%;
    width: 50px;
    height: 50px;
    border-color: rgba(224, 182, 38, 0.64);
    animation: aesFooterDiamondTwo 8s ease-in-out infinite reverse;
}

.aes-footer__diamond--four {
    top: -78px;
    right: 5%;
    width: 205px;
    height: 205px;
    border-color: rgba(255, 255, 255, 0.1);
    animation: aesFooterDiamondOne 15s ease-in-out infinite reverse;
}

.aes-footer__diamond--five {
    top: 172px;
    right: 7.4%;
    width: 102px;
    height: 102px;
    animation: aesFooterDiamondTwo 11s ease-in-out infinite;
}

.aes-footer__diamond--six {
    bottom: -112px;
    left: 11%;
    width: 158px;
    height: 158px;
    border-color: rgba(255, 255, 255, 0.08);
    animation: aesFooterDiamondOne 14s ease-in-out infinite;
}

.aes-footer__main {
    position: relative;
    display: grid;
    min-height: 194px;
    grid-template-columns: minmax(300px, 1fr) auto auto;
    gap: 38px;
    align-items: center;
}

.aes-footer__brand {
    color: var(--aes-white);
    font-size: clamp(19px, 2vw, 27px);
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

.aes-footer__menu {
    display: flex;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aes-footer__menu a {
    color: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    font-weight: 550;
    transition: color var(--aes-transition);
}

.aes-footer__menu a:hover {
    color: var(--aes-green);
}

.aes-footer__to-top {
    display: grid;
    gap: 8px;
    place-items: center;
    border: 0;
    color: var(--aes-white);
    background: transparent;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.aes-footer__to-top span {
    display: grid;
    width: 49px;
    height: 49px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;
    font-size: 18px;
}

.aes-footer__bottom {
    position: relative;
    display: flex;
    min-height: 100px;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    font-size: 13px;
}

.aes-footer__legal {
    display: flex;
    gap: 30px;
}

.aes-footer__legal a:hover {
    color: var(--aes-green);
}

@keyframes aesFooterDiamondOne {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(8px, -7px, 0) rotate(45deg);
    }
}

@keyframes aesFooterDiamondTwo {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(-7px, 8px, 0) rotate(45deg);
    }
}

@keyframes aesDiamondFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(-12px, 14px, 0) rotate(45deg);
    }
}

@keyframes aesDiamondPulse {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.18);
    }
}

/* Responsive */

@media (max-width: 1180px) {
    :root {
        --aes-gutter: 30px;
    }

    .aes-header__inner {
        grid-template-columns: minmax(220px, 270px) 1fr auto;
        gap: 18px;
    }

    .aes-header__cta {
        display: none;
    }

    .aes-header__nav {
        transform: translateY(-5px);
    }

    .aes-hero h1 {
        font-size: 58px;
    }

    .aes-section-head {
        gap: 45px;
    }

    .aes-footer__main {
        grid-template-columns: 1fr auto;
    }

    .aes-footer__navigation {
        grid-column: 1 / -1;
        grid-row: 2;
        padding-bottom: 28px;
    }

    .aes-footer__diamond--one {
        left: 27%;
    }

    .aes-footer__diamond--two {
        left: 58%;
    }

    .aes-footer__diamond--three {
        left: auto;
        right: 23%;
    }
}

@media (max-width: 920px) {
    :root {
        --aes-header-height: 76px;
        --aes-gutter: 24px;
    }

    .aes-header__inner {
        grid-template-columns: minmax(210px, 285px) auto;
        justify-content: space-between;
    }

    .aes-header__nav {
        display: none;
    }

    .aes-menu-toggle {
        display: block;
        justify-self: end;
    }

    .aes-hero {
        height: 740px;
    }

    .aes-hero__content {
        padding-top: 48px;
    }

    .aes-hero__city {
        left: -330px;
        width: 1380px;
        min-width: 1380px;
    }

    .aes-section-head {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
    }

    .aes-section-intro {
        max-width: 680px;
    }

    .aes-clients .aes-section-head {
        grid-template-columns: 1fr;
    }

    .aes-clients h2 {
        font-size: 48px;
    }

    .aes-impact,
    .aes-solutions,
    .aes-process,
    .aes-economic,
    .aes-clients,
    .aes-faq,
    .aes-request,
    .aes-contacts {
        min-height: 0;
    }

    .aes-impact {
        padding: 55px 0;
    }

    .aes-impact .aes-section-head,
    .aes-solutions .aes-section-head,
    .aes-section-head--process,
    .aes-section-head--light,
    .aes-clients .aes-section-head {
        min-height: 0;
        margin-bottom: 38px;
    }

    .aes-stats {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .aes-stat,
    .aes-stat + .aes-stat {
        min-height: 210px;
        padding: 28px 20px;
        border-left: 0;
        border-bottom: 1px solid var(--aes-border);
    }

    .aes-stat:last-child {
        border-bottom: 0;
    }

    .aes-solutions {
        padding: 58px 0;
    }

    .aes-solutions > .aes-container {
        width: min(calc(100% - (var(--aes-gutter) * 2)), var(--aes-container));
    }

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

    .aes-process {
        padding: 58px 0;
    }

    .aes-process__stage {
        display: block;
    }

    .aes-process__stage::before {
        width: 100%;
        background:
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.98) 0%,
                rgba(255, 255, 255, 0.94) 72%,
                rgba(255, 255, 255, 0.82) 100%
            );
    }

    .aes-process__steps {
        width: 100%;
        background: transparent;
    }

    .aes-process__visual {
        position: absolute;
        inset: 0;
        min-height: 0;
        pointer-events: none;
    }

    .aes-process__visual > img {
        right: -10%;
        width: 78%;
    }

    .js .aes-process__visual > img[data-reveal].is-visible {
        opacity: 0.24;
    }

    .aes-process__result {
        right: 12px;
        bottom: 12px;
        width: min(230px, 28%);
    }

    .aes-economic {
        padding: 58px 0;
    }

    .aes-economic-card__body {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .aes-economic-card__result {
        padding: 13px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        border-left: 0;
    }

    .aes-clients {
        padding: 58px 0;
    }

    .aes-clients__grid {
        grid-template-columns: 1fr;
    }

    .aes-client-card {
        min-height: 0;
    }

    .aes-faq {
        padding: 58px 0;
    }

    .aes-faq__layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .aes-request {
        padding: 58px 0;
    }

    .aes-request__layout {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .aes-contacts {
        padding: 58px 0;
    }

    .aes-contacts__layout {
        grid-template-columns: 1fr;
    }

    .aes-contacts__map,
    .aes-contacts__map iframe,
    .aes-map-placeholder {
        min-height: 440px;
    }
}

@media (max-width: 782px) {
    .admin-bar .aes-header {
        top: 46px;
    }

    .admin-bar .aes-mobile-menu {
        top: calc(var(--aes-header-height) + 46px);
    }
}

@media (max-width: 680px) {
    :root {
        --aes-header-height: 68px;
        --aes-gutter: 18px;
    }

    .aes-header__inner {
        grid-template-columns: minmax(0, 215px) 44px;
        gap: 14px;
    }

    .aes-header__logo {
        width: min(100%, 215px);
    }

    .aes-header__logo img,
    .aes-header__logo .custom-logo {
        max-height: 43px;
    }

    .aes-menu-toggle {
        width: 44px;
        height: 44px;
    }

    .aes-hero {
        height: 640px;
    }

    .aes-hero__content {
        padding-top: 34px;
    }

    .aes-hero h1 {
        min-height: 0;
        max-width: 100%;
        font-size: clamp(31px, 8.7vw, 41px);
        letter-spacing: -0.045em;
        line-height: 1.04;
    }

    .aes-hero__content > p {
        max-width: 310px;
        margin: 22px 0 18px;
        font-size: 16px;
        line-height: 1.45;
    }

    .aes-button--hero {
        width: min(100%, 310px);
        min-width: 0;
        min-height: 50px;
        padding-inline: 16px;
        font-size: 15px;
    }

    .aes-hero__city {
        bottom: 0;
        left: -275px;
        width: 920px;
        min-width: 920px;
    }

    .aes-hero::after {
        height: 52px;
    }

    .aes-home-section h2 {
        font-size: clamp(33px, 10vw, 43px);
    }

    .aes-eyebrow {
        margin-bottom: 15px;
    }

    .aes-solutions__grid,
    .aes-economic__grid {
        grid-template-columns: 1fr;
    }

    .aes-solution-card {
        min-height: 218px;
    }

    .aes-stat:last-child h3 {
        font-size: 17px;
    }

    .aes-solutions__footer {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .aes-solutions__footer .aes-button {
        width: 100%;
    }

    .aes-process__steps {
        padding-left: 18px;
    }

    .aes-process__steps li {
        grid-template-columns: 78px 1fr;
    }

    .aes-process__steps h3 {
        font-size: 17px;
    }

    .aes-process__visual {
        min-height: 0;
    }

    .aes-process__visual > img {
        right: -32%;
        width: 135%;
    }

    .js .aes-process__visual > img[data-reveal].is-visible {
        opacity: 0.13;
    }

    .aes-process__result {
        right: 8px;
        bottom: 8px;
        width: min(190px, 42%);
        padding: 9px 10px;
    }

    .aes-process__result strong {
        font-size: 11px;
    }

    .aes-economic__footer {
        align-items: flex-start;
        flex-direction: column;
        padding-top: 24px;
    }

    .aes-clients__statement {
        align-items: flex-start;
        font-size: 16px;
    }

    .aes-accordion__item button {
        grid-template-columns: 28px 1fr 31px;
        padding-left: 10px;
    }

    .aes-accordion__item button strong {
        font-size: 17px;
    }

    .aes-accordion__answer {
        padding: 0 20px 19px 48px;
    }

    .aes-request h2 {
        font-size: clamp(38px, 11vw, 48px);
    }

    .aes-form-card {
        padding: 25px 21px;
    }

    .aes-form-card__row {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .aes-contacts__map,
    .aes-contacts__map iframe,
    .aes-map-placeholder {
        min-height: 330px;
    }

    .aes-contacts__info {
        padding: 36px 24px 30px;
    }

    .aes-contacts__info h2 {
        font-size: 41px;
    }

    .aes-messengers {
        grid-template-columns: 1fr;
    }

    .aes-footer__main {
        display: flex;
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 32px;
        padding-block: 52px 38px;
    }

    .aes-footer__brand {
        white-space: normal;
    }

    .aes-footer__navigation {
        width: 100%;
        padding-bottom: 0;
    }

    .aes-footer__menu {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px 24px;
    }

    .aes-footer__to-top {
        display: flex;
        gap: 12px;
    }

    .aes-footer__bottom {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        padding-block: 26px;
    }

    .aes-footer__legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .aes-footer__diamond--one {
        top: -72px;
        left: 58%;
        width: 150px;
        height: 150px;
    }

    .aes-footer__diamond--two {
        top: 240px;
        left: 66%;
        width: 76px;
        height: 76px;
    }

    .aes-footer__diamond--three,
    .aes-footer__diamond--five {
        display: none;
    }

    .aes-footer__diamond--four {
        top: 98px;
        right: -78px;
        width: 160px;
        height: 160px;
    }

    .aes-footer__diamond--six {
        bottom: -94px;
        left: -58px;
        width: 128px;
        height: 128px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .js .aes-home-section [data-reveal] {
        opacity: 1;
        transform: none;
    }

    .aes-diamond-decor,
    .aes-eyebrow::before {
        animation: none;
    }
}

/* Tilda animation parity */

.js .aes-hero [data-reveal] {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    transition:
        opacity 800ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.js .aes-hero [data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.js .aes-hero__city {
    animation: aesHeroCityIn 1200ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.aes-hero__energy {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.aes-hero__energy-glow {
    position: absolute;
    display: block;
    border-radius: 50%;
    background: rgba(114, 255, 97, 0.9);
    mix-blend-mode: screen;
    will-change: opacity, transform, filter;
}

.aes-hero__energy-glow--main {
    bottom: 242px;
    left: 52%;
    width: clamp(170px, 21vw, 300px);
    height: 72px;
    background:
        radial-gradient(
            ellipse at center,
            rgba(117, 255, 94, 0.52) 0%,
            rgba(71, 255, 82, 0.24) 38%,
            transparent 72%
        );
    filter: blur(10px);
    transform: translateX(-50%);
    animation: aesHeroEnergyGlow 4.8s ease-in-out infinite;
}

.aes-hero__energy-glow--left,
.aes-hero__energy-glow--right {
    width: 13px;
    height: 13px;
    box-shadow:
        0 0 12px 5px rgba(106, 255, 92, 0.46),
        0 0 32px 13px rgba(91, 238, 76, 0.2);
}

.aes-hero__energy-glow--left {
    bottom: 302px;
    left: 37.5%;
    animation: aesHeroWindowGlow 3.6s ease-in-out infinite -1.2s;
}

.aes-hero__energy-glow--right {
    right: 28.5%;
    bottom: 318px;
    animation: aesHeroWindowGlow 4.2s ease-in-out infinite -2.4s;
}

.aes-diamond-decor::after {
    display: none;
}

.aes-impact::after,
.aes-solutions::after,
.aes-process::after,
.aes-economic::after,
.aes-clients::after,
.aes-faq::after,
.aes-request::after {
    position: absolute;
    z-index: 0;
    content: "";
    pointer-events: none;
    transform: rotate(45deg);
    animation-play-state: paused;
}

.aes-home-section.is-inview::after {
    animation-play-state: running;
}

.aes-impact .aes-diamond-decor {
    top: 35px;
    right: -155px;
    width: 330px;
    height: 330px;
    border-color: rgba(180, 205, 66, 0.25);
    animation: aesImpactFloat 9s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-impact::after {
    top: 165px;
    right: 6.7%;
    width: 42px;
    height: 42px;
    background: rgba(180, 205, 67, 0.14);
    animation: aesImpactSmall 7s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-impact .aes-eyebrow::before {
    animation-name: aesImpactLabel;
}

.aes-impact .aes-stat:nth-child(1) {
    --aes-reveal-delay: 50ms;
}

.aes-impact .aes-stat:nth-child(2) {
    --aes-reveal-delay: 130ms;
}

.aes-impact .aes-stat:nth-child(3) {
    --aes-reveal-delay: 210ms;
}

.aes-impact [data-reveal] {
    transition-duration: 700ms;
    transition-timing-function: ease;
}

.aes-solutions .aes-diamond-decor {
    top: 38px;
    right: -205px;
    width: 405px;
    height: 405px;
    border-color: rgba(14, 74, 78, 0.075);
    animation: aesSolutionsLarge 11s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-solutions .aes-diamond-decor::before,
.aes-solutions .aes-diamond-decor::after {
    position: absolute;
    display: block;
    content: "";
}

.aes-solutions .aes-diamond-decor::before {
    inset: 55px;
    border: 1px solid rgba(180, 205, 66, 0.17);
}

.aes-solutions .aes-diamond-decor::after {
    inset: 132px;
    background: rgba(180, 205, 67, 0.08);
}

.aes-solutions::after {
    bottom: 58px;
    left: -42px;
    width: 82px;
    height: 82px;
    border: 1px solid rgba(120, 147, 38, 0.18);
    animation: aesSolutionsSmall 8s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-solutions .aes-eyebrow::before {
    animation-name: aesSolutionsLabel;
}

.aes-solutions [data-reveal] {
    transition-duration: 700ms;
    transition-timing-function: ease;
}

.aes-process .aes-diamond-decor {
    top: 20px;
    right: -158px;
    width: 320px;
    height: 320px;
    border-color: rgba(180, 205, 66, 0.18);
    animation: aesProcessFloat 10s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-process::after {
    top: 145px;
    right: 8%;
    width: 39px;
    height: 39px;
    background: rgba(180, 205, 66, 0.13);
    animation: aesProcessSmall 7s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-process .aes-eyebrow::before {
    animation-name: aesProcessLabel;
}

.aes-process .aes-section-head [data-reveal],
.aes-process__visual [data-reveal],
.aes-process__result[data-reveal] {
    transition-duration: 750ms;
    transition-timing-function: ease;
}

.aes-process__steps li[data-reveal] {
    transition-duration: 550ms;
    transition-timing-function: ease;
}

.aes-economic .aes-diamond-decor {
    top: 5px;
    right: -150px;
    width: 285px;
    height: 285px;
    border-color: rgba(180, 205, 66, 0.2);
    animation: aesEconomicFloat 9s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-economic::after {
    bottom: 45px;
    left: -42px;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(180, 205, 67, 0.22);
    animation: aesEconomicFloat 9s ease-in-out infinite -4s;
    animation-play-state: paused;
}

.aes-economic .aes-eyebrow::before {
    animation-name: aesEconomicPulse;
}

.aes-economic [data-reveal] {
    transition-duration: 650ms;
    transition-timing-function: ease;
}

.aes-clients .aes-diamond-decor {
    top: 25px;
    right: -180px;
    width: 330px;
    height: 330px;
    border-color: rgba(14, 74, 78, 0.1);
    animation: aesClientsFloat 9s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-clients::after {
    top: 155px;
    right: 8%;
    width: 42px;
    height: 42px;
    background: rgba(180, 205, 67, 0.17);
    animation: aesClientsFloat 9s ease-in-out infinite -3s;
    animation-play-state: paused;
}

.aes-clients .aes-eyebrow::before {
    animation-name: aesClientsPulse;
}

.aes-clients [data-reveal] {
    transition-duration: 650ms;
    transition-timing-function: ease;
}

.aes-faq .aes-diamond-decor {
    bottom: -200px;
    left: -175px;
    top: auto;
    right: auto;
    width: 360px;
    height: 360px;
    border-color: rgba(14, 74, 78, 0.08);
    animation: aesFaqFloat 9s ease-in-out infinite;
    animation-play-state: paused;
}

.aes-faq::after {
    display: none;
}

.aes-faq .aes-eyebrow::before {
    animation-name: aesFaqPulse;
}

.aes-faq [data-reveal] {
    transition-duration: 650ms;
    transition-timing-function: ease;
}

.aes-request .aes-diamond-decor {
    display: none;
}

.aes-request::after {
    display: none;
}

.aes-accordion__item {
    position: relative;
    border-left: 0;
}

.aes-accordion__item::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0;
    background: var(--aes-green);
    content: "";
    transition: height 350ms ease;
}

.aes-accordion__item.is-open {
    border-left: 0;
}

.aes-accordion__item.is-open::before {
    height: 100%;
}

.aes-accordion__item button i,
.aes-accordion__item button i::before,
.aes-accordion__item button i::after {
    transition:
        border-color 250ms ease,
        background-color 250ms ease,
        transform 300ms ease;
}

.aes-accordion__item.is-open button i {
    transform: rotate(45deg) scale(1.04);
}

.aes-accordion__item.is-open button i::after {
    display: block;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.aes-accordion__answer {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    padding: 0 55px 0 58px;
    opacity: 0;
    visibility: hidden;
    transition:
        max-height 400ms ease,
        padding-bottom 400ms ease,
        opacity 280ms ease,
        visibility 0s linear 400ms;
}

.aes-accordion__item.is-open .aes-accordion__answer {
    max-height: 430px;
    padding-bottom: 20px;
    opacity: 1;
    visibility: visible;
    transition:
        max-height 400ms ease,
        padding-bottom 400ms ease,
        opacity 320ms ease 80ms,
        visibility 0s;
}

.aes-faq__link {
    transition:
        color 250ms ease,
        border-color 250ms ease,
        transform 250ms ease;
}

.aes-form-card {
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1) var(--aes-reveal-delay),
        box-shadow 300ms ease;
}

.aes-form-card__submit {
    transition:
        color 220ms ease,
        background 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

.aes-contact-row a {
    transition: color 200ms ease;
}

.aes-messengers > a {
    transition:
        opacity 250ms ease,
        transform 250ms ease;
}

.aes-messenger-icon {
    transition:
        box-shadow 250ms ease,
        transform 250ms ease;
}

.aes-footer__brand {
    transition:
        opacity 220ms ease,
        transform 220ms ease;
}

.aes-footer__menu a,
.aes-footer__legal a {
    position: relative;
}

.aes-footer__menu a::after,
.aes-footer__legal a::after {
    position: absolute;
    right: 0;
    bottom: -4px;
    left: 0;
    height: 1px;
    background: var(--aes-green);
    content: "";
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 240ms ease;
}

.aes-footer__to-top span {
    transition:
        color 240ms ease,
        background-color 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease,
        transform 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .aes-process__steps li:hover .aes-process__marker::after {
        transform: scale(1.06) translateX(1px);
    }

    .aes-economic__footer .aes-button:hover {
        color: var(--aes-white);
        background: transparent;
        transform: translateY(-2px);
    }

    .aes-faq__link:hover {
        color: var(--aes-green-dark);
        border-color: var(--aes-green-dark);
        transform: translateX(2px);
    }

    .aes-form-card:hover {
        box-shadow: 0 24px 58px rgba(14, 74, 78, 0.14);
    }

    .aes-form-card__submit:hover {
        box-shadow: 0 16px 30px rgba(121, 147, 41, 0.25);
        transform: translateY(-2px);
    }

    .aes-contact-row a:hover {
        color: var(--aes-green-dark);
    }

    .aes-messengers > a:hover {
        opacity: 0.82;
        transform: translateY(-2px);
    }

    .aes-messengers > a:hover .aes-messenger-icon {
        box-shadow: 0 12px 25px rgba(11, 77, 81, 0.15);
        transform: scale(1.04);
    }

    .aes-footer__brand:hover {
        opacity: 0.86;
        transform: translateY(-2px);
    }

    .aes-footer__menu a:hover::after,
    .aes-footer__legal a:hover::after {
        transform: scaleX(1);
        transform-origin: left center;
    }

    .aes-footer__to-top:hover span {
        color: var(--aes-dark-deep);
        background: var(--aes-green);
        border-color: var(--aes-green);
        box-shadow: 0 12px 28px rgba(180, 205, 67, 0.18);
        transform: translateY(-4px);
    }
}

@media (max-width: 920px) {
    .aes-hero__energy-glow--main {
        bottom: 218px;
        left: 57%;
    }

    .aes-hero__energy-glow--left {
        bottom: 264px;
        left: 34%;
    }

    .aes-hero__energy-glow--right {
        right: 19%;
        bottom: 282px;
    }
}

@media (max-width: 680px) {
    .aes-hero__energy-glow--main {
        bottom: 126px;
        left: 62%;
        width: 180px;
        height: 54px;
    }

    .aes-hero__energy-glow--left {
        bottom: 166px;
        left: 42%;
    }

    .aes-hero__energy-glow--right {
        right: 11%;
        bottom: 182px;
    }

    .aes-impact::after,
    .aes-process::after,
    .aes-clients::after,
    .aes-faq::after {
        display: none;
    }

    .aes-solutions .aes-diamond-decor {
        right: -275px;
    }

    .aes-economic .aes-diamond-decor {
        right: -220px;
    }

    .aes-faq .aes-diamond-decor {
        left: -260px;
    }

    .aes-accordion__answer {
        padding-right: 20px;
        padding-left: 48px;
    }

    .aes-accordion__item.is-open .aes-accordion__answer {
        padding-bottom: 19px;
    }
}

@keyframes aesHeroCityIn {
    from {
        opacity: 0;
        transform: translate3d(0, 22px, 0) scale(1.015);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes aesHeroEnergyGlow {
    0%,
    100% {
        opacity: 0.2;
        filter: blur(11px);
        transform: translateX(-50%) scale3d(0.94, 0.88, 1);
    }

    50% {
        opacity: 0.58;
        filter: blur(7px);
        transform: translateX(-50%) scale3d(1.07, 1.08, 1);
    }
}

@keyframes aesHeroWindowGlow {
    0%,
    100% {
        opacity: 0.22;
        transform: scale(0.78);
    }

    50% {
        opacity: 0.9;
        transform: scale(1.12);
    }
}

@keyframes aesImpactFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(14px, 14px, 0) rotate(45deg);
    }
}

@keyframes aesImpactSmall {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(0, -14px, 0) rotate(45deg);
    }
}

@keyframes aesImpactLabel {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesSolutionsLabel {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesSolutionsLarge {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(-16px, 16px, 0) rotate(45deg);
    }
}

@keyframes aesSolutionsSmall {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(10px, -13px, 0) rotate(45deg);
    }
}

@keyframes aesProcessLabel {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesProcessFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(13px, 13px, 0) rotate(45deg);
    }
}

@keyframes aesProcessSmall {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(0, -13px, 0) rotate(45deg);
    }
}

@keyframes aesEconomicFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(10px, -10px, 0) rotate(45deg);
    }
}

@keyframes aesEconomicPulse {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesClientsFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(10px, -10px, 0) rotate(45deg);
    }
}

@keyframes aesClientsPulse {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesFaqFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(10px, -10px, 0) rotate(45deg);
    }
}

@keyframes aesFaqPulse {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.15);
    }
}

@keyframes aesShortFormDiamondLarge {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(14px, 14px, 0) rotate(45deg);
    }
}

@keyframes aesShortFormDiamondSmall {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(45deg);
    }

    50% {
        transform: translate3d(0, -12px, 0) rotate(45deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .js .aes-hero [data-reveal],
    .js .aes-hero [data-reveal].is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .js .aes-hero__city,
    .aes-hero__energy-glow,
    .aes-impact .aes-diamond-decor,
    .aes-solutions .aes-diamond-decor,
    .aes-process .aes-diamond-decor,
    .aes-economic .aes-diamond-decor,
    .aes-clients .aes-diamond-decor,
    .aes-faq .aes-diamond-decor,
    .aes-request .aes-diamond-decor,
    .aes-impact::after,
    .aes-solutions::after,
    .aes-process::after,
    .aes-economic::after,
    .aes-clients::after,
    .aes-faq::after,
    .aes-request::after {
        animation: none;
    }

    .aes-accordion__answer,
    .aes-accordion__item::before {
        transition: none;
    }
}

/* Diamond button in the final footer */

.aes-footer__to-top span {
    width: 54px;
    height: 54px;
    border-color: rgba(180, 205, 67, 0.55);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.035);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
    transform: rotate(45deg);
}

.aes-footer__to-top span svg {
    display: block;
    width: 22px;
    height: 22px;
    transform: rotate(-45deg);
}

@media (hover: hover) and (pointer: fine) {
    .aes-footer__to-top:hover span {
        transform: translateY(-4px) rotate(45deg);
    }
}

@media (max-width: 620px) {
    .aes-footer__to-top span {
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aes-footer__diamond,
    .aes-footer__to-top span {
        animation: none;
        transition: none;
    }
}

/* Services showcase 2.5.0 */
.aes-services-showcase {
    --aes-service-accent: #a8cf36;
    --aes-service-deep: #0c5559;
    position: relative;
    isolation: isolate;
    padding: clamp(82px, 8vw, 132px) 0 clamp(76px, 7vw, 116px);
    background:
        radial-gradient(circle at 50% 0%, rgba(168, 207, 54, .11), transparent 34%),
        linear-gradient(180deg, #fbfdfd 0%, #f5f9f8 52%, #fbfdfd 100%);
    overflow: hidden;
}

.aes-services-showcase::before,
.aes-services-showcase::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    border: 1px solid rgba(168, 207, 54, .28);
    transform: rotate(45deg);
    z-index: -1;
}

.aes-services-showcase::before { top: 60px; left: -105px; }
.aes-services-showcase::after { top: 86px; right: -88px; }

.aes-services-showcase__ambient span {
    position: absolute;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(168, 207, 54, .24);
    transform: rotate(45deg);
    animation: aesServiceFloat 8s ease-in-out infinite;
}

.aes-services-showcase__ambient span:nth-child(1) { left: 7%; top: 18%; }
.aes-services-showcase__ambient span:nth-child(2) { right: 8%; top: 24%; animation-delay: -2.8s; }
.aes-services-showcase__ambient span:nth-child(3) { left: 47%; bottom: 5%; animation-delay: -5.2s; }

.aes-services-showcase__head {
    max-width: 1100px;
    margin: 0 auto clamp(42px, 5vw, 68px);
    text-align: center;
}

.aes-services-showcase__eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 13px;
    margin: 0 0 18px;
    color: #6e9f25;
    font-size: clamp(13px, 1.15vw, 17px);
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.aes-services-showcase__eyebrow i {
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--aes-service-accent));
    position: relative;
}

.aes-services-showcase__eyebrow i:last-child {
    transform: scaleX(-1);
}

.aes-services-showcase__eyebrow i::after {
    content: "";
    position: absolute;
    right: 3px;
    top: 50%;
    width: 7px;
    height: 7px;
    background: var(--aes-service-accent);
    transform: translateY(-50%) rotate(45deg);
}

.aes-services-showcase__head h2 {
    margin: 0;
    color: var(--aes-service-deep);
    font-size: clamp(38px, 4.5vw, 72px);
    line-height: .99;
    letter-spacing: -.045em;
}

.aes-services-showcase__head h2 em {
    color: var(--aes-service-deep);
    font-style: normal;
}

.aes-services-showcase__head > p:last-child {
    max-width: 880px;
    margin: 22px auto 0;
    color: #647070;
    font-size: clamp(16px, 1.5vw, 21px);
    line-height: 1.55;
}

.aes-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    position: relative;
}

.aes-service-card {
    min-height: 310px;
    position: relative;
    display: flex;
    overflow: hidden;
    padding: 30px 28px 26px;
    border: 1px solid rgba(12, 85, 89, .09);
    border-radius: 19px;
    background: rgba(255, 255, 255, .89);
    box-shadow: 0 14px 34px rgba(15, 71, 74, .08);
    transition: transform .55s cubic-bezier(.2,.75,.2,1), box-shadow .55s ease, border-color .55s ease, opacity .4s ease;
    will-change: transform;
}

.aes-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at var(--mx, 78%) var(--my, 75%), rgba(168, 207, 54, .20), transparent 30%),
        linear-gradient(125deg, transparent 35%, rgba(255,255,255,.92) 49%, transparent 63%);
    background-size: auto, 250% 100%;
    background-position: center, 100% 0;
    opacity: .55;
    transition: opacity .45s ease, background-position .8s ease;
    pointer-events: none;
}

.aes-service-card::after {
    content: "";
    position: absolute;
    inset: auto 22px 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(168,207,54,.9), transparent);
    transform: scaleX(.14);
    opacity: 0;
    transition: transform .55s ease, opacity .55s ease;
}

.aes-service-card__number {
    position: absolute;
    top: 26px;
    left: 26px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    color: #173f37;
    font-size: 14px;
    font-weight: 800;
    z-index: 3;
}

.aes-service-card__number::before {
    content: "";
    position: absolute;
    inset: 2px;
    border: 1px solid rgba(168, 207, 54, .52);
    background: linear-gradient(135deg, #edf7dc, #c9e886);
    transform: rotate(45deg);
    box-shadow: 0 7px 14px rgba(111, 158, 39, .15);
    z-index: -1;
    transition: transform .5s ease, background .5s ease, box-shadow .5s ease;
}

.aes-service-card__copy {
    position: relative;
    z-index: 3;
    width: 62%;
    display: flex;
    flex-direction: column;
    padding-top: 62px;
}

.aes-service-card__copy h3 {
    margin: 0;
    color: #121a1a;
    font-size: clamp(19px, 1.55vw, 24px);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.aes-service-card__copy p {
    margin: 17px 0 23px;
    color: #586363;
    font-size: 14px;
    line-height: 1.55;
}

.aes-service-card__copy a {
    margin-top: auto;
    width: fit-content;
    color: #679a1c;
    font-weight: 750;
    text-decoration: none;
    border-bottom: 1px solid rgba(103,154,28,.35);
}

.aes-service-card__copy a span {
    display: inline-block;
    margin-left: 8px;
    transition: transform .35s ease;
}

.aes-service-card__image {
    position: absolute;
    right: -8%;
    bottom: -3%;
    width: 55%;
    height: 66%;
    object-fit: contain;
    object-position: right bottom;
    z-index: 2;
    filter: drop-shadow(0 16px 15px rgba(9, 63, 66, .12));
    transform: translate3d(var(--parallax-x, 0), var(--parallax-y, 0), 0) rotate(var(--parallax-r, 0deg));
    transform-origin: 60% 80%;
    transition: transform .7s cubic-bezier(.18,.78,.22,1), filter .5s ease;
    pointer-events: none;
}

.aes-service-card__spark {
    position: absolute;
    right: 24%;
    bottom: 15%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d6fb63;
    box-shadow: 0 0 0 0 rgba(198,239,75,.5), 0 0 18px #d6fb63;
    opacity: 0;
    z-index: 4;
}

.aes-services-grid:hover .aes-service-card:not(:hover) {
    opacity: .72;
}

.aes-service-card:hover,
.aes-service-card:focus-within {
    transform: translateY(-10px);
    border-color: rgba(168, 207, 54, .42);
    box-shadow: 0 25px 58px rgba(13, 78, 81, .15), 0 0 0 1px rgba(168, 207, 54, .10);
}

.aes-service-card:hover::before,
.aes-service-card:focus-within::before {
    opacity: 1;
    background-position: center, 0 0;
}

.aes-service-card:hover::after,
.aes-service-card:focus-within::after {
    transform: scaleX(1);
    opacity: 1;
}

.aes-service-card:hover .aes-service-card__number::before,
.aes-service-card:focus-within .aes-service-card__number::before {
    transform: rotate(225deg) scale(1.08);
    background: linear-gradient(135deg, #c4ec55, #92c62e);
    box-shadow: 0 0 28px rgba(168, 207, 54, .42);
}

.aes-service-card:hover .aes-service-card__image,
.aes-service-card:focus-within .aes-service-card__image {
    transform: translate3d(var(--parallax-x, 0), calc(var(--parallax-y, 0) - 8px), 0) rotate(var(--parallax-r, 0deg)) scale(1.065);
    filter: drop-shadow(0 22px 18px rgba(9, 63, 66, .18));
}

.aes-service-card:hover .aes-service-card__copy a span,
.aes-service-card:focus-within .aes-service-card__copy a span {
    transform: translateX(6px);
}

.aes-service-card:hover .aes-service-card__spark,
.aes-service-card:focus-within .aes-service-card__spark {
    opacity: 1;
    animation: aesServiceSpark 1.6s ease-out infinite;
}

.aes-services-showcase__network {
    position: relative;
    height: 18px;
    margin: -9px 4% 0;
    border-top: 2px solid rgba(168, 207, 54, .22);
    overflow: hidden;
}

.aes-services-showcase__network::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -25%;
    width: 22%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #d9ff73, #82b924, transparent);
    filter: drop-shadow(0 0 8px #b8e848);
    animation: aesEnergyFlow 4.8s linear infinite;
}

.aes-services-showcase__network span {
    position: absolute;
    top: -6px;
    width: 11px;
    height: 11px;
    border: 2px solid rgba(168,207,54,.55);
    border-radius: 50%;
    background: #f8fbfa;
    box-shadow: 0 0 0 4px rgba(168,207,54,.08);
}

.aes-services-showcase__network span:nth-child(1) { left: 8%; }
.aes-services-showcase__network span:nth-child(2) { left: 29%; }
.aes-services-showcase__network span:nth-child(3) { left: 50%; }
.aes-services-showcase__network span:nth-child(4) { left: 71%; }
.aes-services-showcase__network span:nth-child(5) { left: 92%; }

.aes-services-showcase__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 25px;
    text-align: center;
}

.aes-services-showcase__footer p {
    margin: 0;
    color: #4f5e5e;
}

.aes-services-showcase__footer strong {
    color: var(--aes-service-deep);
}

.aes-services-showcase__bolt {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(168,207,54,.65);
    border-radius: 50%;
    color: #75a923;
    font-weight: 900;
    box-shadow: 0 0 20px rgba(168,207,54,.18);
}

.aes-services-showcase__all {
    margin-left: 20px;
    min-height: 48px;
    padding: 0 23px;
}

@keyframes aesServiceFloat {
    0%,100% { transform: translateY(0) rotate(45deg); opacity: .35; }
    50% { transform: translateY(-14px) rotate(45deg); opacity: .8; }
}

@keyframes aesServiceSpark {
    0% { box-shadow: 0 0 0 0 rgba(198,239,75,.55), 0 0 18px #d6fb63; }
    100% { box-shadow: 0 0 0 22px rgba(198,239,75,0), 0 0 8px #d6fb63; }
}

@keyframes aesEnergyFlow {
    to { left: 112%; }
}

@media (max-width: 1120px) {
    .aes-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aes-service-card { min-height: 300px; }
}

@media (max-width: 720px) {
    .aes-services-showcase { padding: 72px 0 70px; }
    .aes-services-showcase__head { margin-bottom: 34px; text-align: left; }
    .aes-services-showcase__eyebrow { justify-content: flex-start; }
    .aes-services-showcase__head h2 { font-size: clamp(34px, 10vw, 48px); line-height: 1.04; }
    .aes-services-showcase__head h2 br { display: none; }
    .aes-services-grid { grid-template-columns: 1fr; gap: 14px; }
    .aes-services-grid:hover .aes-service-card:not(:hover) { opacity: 1; }
    .aes-service-card { min-height: 288px; padding: 24px 21px 22px; }
    .aes-service-card__number { top: 22px; left: 22px; width: 42px; height: 42px; }
    .aes-service-card__copy { width: 69%; padding-top: 58px; }
    .aes-service-card__copy h3 { font-size: 20px; }
    .aes-service-card__copy p { font-size: 13px; margin-top: 13px; }
    .aes-service-card__image { width: 51%; height: 58%; right: -8%; }
    .aes-services-showcase__network { display: none; }
    .aes-services-showcase__footer { align-items: flex-start; flex-wrap: wrap; text-align: left; justify-content: flex-start; }
    .aes-services-showcase__footer p { flex: 1; min-width: calc(100% - 48px); }
    .aes-services-showcase__all { margin: 14px 0 0 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .aes-services-showcase__ambient span,
    .aes-services-showcase__network::before,
    .aes-service-card__spark { animation: none !important; }
    .aes-service-card,
    .aes-service-card__image,
    .aes-service-card::before { transition-duration: .01ms !important; }
}

/* Services showcase compact layout 2.5.2 */
.aes-services-showcase {
    padding: clamp(54px, 5vw, 76px) 0 clamp(50px, 4.5vw, 70px);
    background:
        radial-gradient(circle at 50% 0%, rgba(168, 207, 54, .13), transparent 31%),
        linear-gradient(180deg, #edf4f1 0%, #e9f1ee 52%, #edf4f1 100%);
}

.aes-services-showcase__head {
    max-width: 940px;
    margin-bottom: clamp(26px, 3vw, 38px);
}

.aes-services-showcase__eyebrow {
    margin-bottom: 12px;
    font-size: clamp(12px, 1vw, 15px);
}

.aes-services-showcase__head h2 {
    font-size: clamp(34px, 3.65vw, 56px);
    line-height: 1.02;
}

.aes-services-showcase__head > p:last-child {
    max-width: 760px;
    margin-top: 14px;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.45;
}

.aes-services-grid {
    gap: 14px;
}

.aes-service-card {
    min-height: 228px;
    padding: 22px 22px 20px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(15, 71, 74, .07);
}

.aes-service-card__number,
.aes-service-card__copy a,
.aes-services-showcase__all {
    display: none !important;
}

.aes-service-card__copy {
    width: 64%;
    padding-top: 0;
    justify-content: flex-start;
}

.aes-service-card__copy h3 {
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.18;
}

.aes-service-card__copy p {
    margin: 12px 0 0;
    font-size: 13.5px;
    line-height: 1.45;
}

.aes-service-card__image {
    right: -6%;
    bottom: -4%;
    width: 49%;
    height: 61%;
}

.aes-service-card:hover,
.aes-service-card:focus-within {
    transform: translateY(-6px);
}

.aes-services-showcase__network {
    height: 14px;
    margin-top: -7px;
}

.aes-services-showcase__footer {
    margin-top: 16px;
}

.aes-services-showcase__footer p {
    font-size: 15px;
}

@media (max-width: 1100px) and (min-width: 761px) {
    .aes-services-showcase {
        padding: 58px 0 56px;
    }

    .aes-service-card {
        min-height: 218px;
    }

    .aes-service-card__copy {
        width: 66%;
    }

    .aes-service-card__copy h3 {
        font-size: 18px;
    }

    .aes-service-card__copy p {
        font-size: 13px;
    }
}

@media (max-width: 760px) {
    .aes-services-showcase {
        padding: 48px 0 46px;
    }

    .aes-services-showcase__head {
        margin-bottom: 24px;
    }

    .aes-services-showcase__head h2 {
        font-size: clamp(30px, 9vw, 40px);
    }

    .aes-service-card {
        min-height: 228px;
        padding: 21px 19px 19px;
    }

    .aes-service-card__copy {
        width: 68%;
        padding-top: 0;
    }

    .aes-service-card__copy h3 {
        font-size: 18px;
    }

    .aes-service-card__copy p {
        margin-top: 10px;
        font-size: 13px;
    }

    .aes-service-card__image {
        width: 47%;
        height: 55%;
    }

    .aes-services-showcase__footer {
        flex-wrap: nowrap;
        align-items: center;
    }

    .aes-services-showcase__footer p {
        min-width: 0;
        font-size: 14px;
    }
}


/* Контактные ссылки и подтверждение отправки формы — 2.5.4 */
.aes-contact-row a {
    color: inherit;
    text-decoration: none;
    transition: color 0.22s ease;
}

.aes-contact-row a:hover,
.aes-contact-row a:focus-visible {
    color: var(--aes-green, #2d7d5b);
}

.aes-modal-open {
    overflow: hidden;
}

.aes-success-modal[hidden] {
    display: none;
}

.aes-success-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 24px;
}

.aes-success-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 30, 24, 0.68);
    backdrop-filter: blur(5px);
}

.aes-success-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    padding: 48px 44px 40px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(4, 33, 25, 0.28);
    text-align: center;
    animation: aes-modal-in 0.28s ease both;
}

.aes-success-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #527069;
    font: 300 32px/1 Arial, sans-serif;
    cursor: pointer;
}

.aes-success-modal__close:hover,
.aes-success-modal__close:focus-visible {
    background: #edf5f1;
    color: #153f32;
}

.aes-success-modal__icon {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: #e8f5ee;
    color: #25835b;
    font-size: 34px;
    font-weight: 700;
}

.aes-success-modal h2 {
    margin: 0 0 14px;
    color: #153f32;
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.08;
}

.aes-success-modal p {
    margin: 0 auto 28px;
    max-width: 420px;
    color: #526761;
    font-size: 17px;
    line-height: 1.6;
}

.aes-success-modal__button {
    min-width: 160px;
}

@keyframes aes-modal-in {
    from { opacity: 0; transform: translateY(16px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
    .aes-success-modal {
        padding: 16px;
    }

    .aes-success-modal__dialog {
        padding: 42px 24px 30px;
        border-radius: 22px;
    }

    .aes-success-modal p {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aes-success-modal__dialog {
        animation: none;
    }
}

/* Legal links under the required form checkbox */

.aes-consent-links {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 8px 0 0 25px;
    color: #748181;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}

.aes-consent-links a {
    color: var(--aes-dark);
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: var(--aes-green);
    text-underline-offset: 3px;
}

.aes-consent-links a:hover {
    color: var(--aes-green-dark);
}

/* Global cookie notice */

.aes-cookie[hidden] {
    display: none !important;
}

.aes-cookie {
    position: fixed;
    z-index: 999999;
    right: 24px;
    bottom: 24px;
    left: 24px;
    display: flex;
    gap: 28px;
    align-items: center;
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
    padding: 20px 22px 20px 25px;
    border: 1px solid #d8e1dd;
    border-left: 4px solid var(--aes-green);
    color: var(--aes-ink);
    background: var(--aes-white);
    box-shadow: 0 18px 50px rgba(7, 59, 61, 0.18);
    font-family: "Montserrat", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    animation: aesCookieShow 350ms ease both;
}

.aes-cookie__text {
    flex: 1 1 auto;
    min-width: 0;
}

.aes-cookie__text strong {
    display: block;
    margin-bottom: 5px;
    color: var(--aes-dark);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.35;
}

.aes-cookie__text p {
    margin: 0;
    color: var(--aes-ink);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
}

.aes-cookie__text a {
    color: var(--aes-dark);
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: var(--aes-green);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.aes-cookie__button {
    flex: 0 0 auto;
    min-width: 126px;
    min-height: 48px;
    padding: 12px 22px;
    border: 1px solid var(--aes-dark);
    border-radius: 0;
    color: var(--aes-white);
    background: var(--aes-dark);
    font: 750 13px/1.2 "Montserrat", Arial, sans-serif;
    cursor: pointer;
    transition: color 250ms ease, background-color 250ms ease, transform 250ms ease;
}

.aes-cookie__button:hover {
    color: var(--aes-dark);
    background: var(--aes-white);
    transform: translateY(-2px);
}

.aes-cookie__button:focus-visible,
.aes-cookie__text a:focus-visible,
.aes-consent-links a:focus-visible {
    outline: 3px solid #efb33c;
    outline-offset: 3px;
}

@keyframes aesCookieShow {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 639px) {
    .aes-consent-links {
        display: grid;
        gap: 5px;
    }

    .aes-consent-links > span {
        display: none;
    }

    .aes-cookie {
        right: 12px;
        bottom: 12px;
        left: 12px;
        display: block;
        width: calc(100% - 24px);
        padding: 18px;
    }

    .aes-cookie__text strong {
        font-size: 14px;
    }

    .aes-cookie__text p {
        font-size: 12px;
        line-height: 1.5;
    }

    .aes-cookie__button {
        width: 100%;
        margin-top: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aes-cookie {
        animation: none;
    }

    .aes-cookie__button {
        transition: none;
    }
}


/* === АИИС КУЭ 3.2.4 — visual-reference geometry; desktop + mobile === */
.aiis-page{overflow:hidden;color:var(--aes-ink);font-family:inherit}.aiis-page *{box-sizing:border-box}.aiis-page h1,.aiis-page h2,.aiis-page h3,.aiis-page p{margin-top:0}.aiis-page a{text-decoration:none}
.aiis-page h2{margin:0;color:var(--aes-dark);font-size:clamp(36px,3.65vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.04}.aiis-page h2 em{color:var(--aes-green-dark);font-style:normal}

/* Approved hero */
.aiis-intro{position:relative;isolation:isolate;overflow:hidden;min-height:660px;background:linear-gradient(105deg,var(--aes-surface-warm) 0%,var(--aes-white) 58%,var(--aes-surface) 100%)}
.aiis-intro__grid{position:relative;z-index:3;display:grid;min-height:660px;grid-template-columns:minmax(0,.94fr) minmax(440px,1.06fr);gap:54px;align-items:center}.aiis-intro__content{padding:32px 0 20px}
.aiis-intro__title{max-width:620px;margin:0;color:var(--aes-dark);font-size:clamp(52px,5.05vw,68px);font-weight:800;letter-spacing:-.052em;line-height:1.04}.aiis-intro__title strong{color:var(--aes-green-dark);font-weight:inherit}
.aiis-intro__definition{max-width:590px;margin:20px 0 0;color:var(--aes-dark);font-size:15px;font-weight:650;line-height:1.58}.aiis-intro__lead{max-width:600px;margin:46px 0 32px;color:var(--aes-dark);font-size:25px;font-weight:750;line-height:1.42}
.aiis-intro__button{min-width:315px;min-height:64px;gap:30px;justify-content:space-between;font-size:17px}.aiis-intro__button span{font-size:21px}
.aiis-intro__visual{position:absolute;z-index:1;top:0;right:0;bottom:0;width:60%;pointer-events:none}.aiis-intro__visual:before{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--aes-surface-warm) 0%,rgba(246,248,244,.98) 13%,rgba(246,248,244,.82) 27%,rgba(246,248,244,.38) 43%,rgba(246,248,244,0) 62%);content:""}.aiis-intro__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* WOW: approved artwork + semantic HTML labels */
.aiis-live{position:relative;padding:150px 0 150px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 120px,#074d4f calc(100% - 120px),var(--aes-surface-warm) 100%);overflow:hidden}
.aiis-live__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);gap:76px;align-items:start;position:relative;z-index:2;margin-bottom:0}.aiis-live__head h2{max-width:650px;color:var(--aes-white);font-size:clamp(44px,4.2vw,62px);line-height:.98}.aiis-live__head h2 em{color:var(--aes-green)}.aiis-live__head p{max-width:540px;margin:4px 0 0;color:rgba(255,255,255,.68);font-size:17px;line-height:1.72}.aiis-live__eyebrow{margin:18px 0 0!important;color:rgba(255,255,255,.48)!important;font-size:10px!important;font-weight:700;line-height:1.2!important;letter-spacing:.42em;text-transform:uppercase}
.aiis-story{position:relative;width:min(1800px,calc(100vw - 48px));margin:20px auto 0;left:50%;transform:translateX(-50%)}
.aiis-story__visual{position:relative;width:100%;overflow:hidden;background:#074d4f}
.aiis-story__visual:before,.aiis-story__visual:after{position:absolute;z-index:1;top:0;bottom:0;width:5vw;pointer-events:none;content:""}
.aiis-story__visual:before{left:0;background:linear-gradient(90deg,#074d4f 0%,rgba(7,77,79,0) 100%)}
.aiis-story__visual:after{right:0;background:linear-gradient(270deg,#074d4f 0%,rgba(7,77,79,0) 100%)}
.aiis-story__visual img{display:block;width:100%;max-width:none;height:auto;margin:0 auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.aiis-story__labels{display:none}.aiis-story__label--core{display:none}

/* Implementation + integrated roadmap */
.aiis-implementation{padding:106px 0 104px;background:var(--aes-white)}.aiis-implementation__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);gap:50px 70px;align-items:center}.aiis-implementation__copy h2{margin-bottom:31px}.aiis-implementation__copy p{max-width:650px;margin:0 0 18px;color:#43585a;font-size:16px;line-height:1.74}
.aiis-implementation__visual{position:relative;min-height:460px;overflow:hidden;background:radial-gradient(ellipse at 56% 54%,rgba(237,244,238,.95) 0,rgba(247,249,243,.55) 55%,rgba(255,255,255,0) 78%)}.aiis-implementation__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;-webkit-mask-image:radial-gradient(ellipse 78% 82% at 54% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 78% 82% at 54% 52%,#000 62%,transparent 100%)}
.aiis-roadmap{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;margin-top:8px;padding-top:32px}.aiis-roadmap:before{position:absolute;top:40px;right:0;left:0;height:2px;background:var(--aes-green);content:""}
.aiis-roadmap__steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}.aiis-roadmap__steps li{position:relative;padding-top:32px}.aiis-roadmap__steps li:before{position:absolute;top:0;left:0;width:15px;height:15px;border:3px solid var(--aes-white);background:var(--aes-green);content:"";transform:rotate(45deg);box-shadow:0 0 0 1px var(--aes-green)}.aiis-roadmap__steps b{display:block;max-width:150px;color:var(--aes-dark);font-size:13px;line-height:1.35}.aiis-roadmap__button{position:relative;z-index:2;min-width:250px;min-height:62px;justify-content:space-between;gap:24px}

/* Additional check */
.aiis-expertise{padding:104px 0;background:linear-gradient(145deg,var(--aes-dark-deep),var(--aes-dark) 68%,#14595a)}.aiis-expertise__layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:92px;align-items:center}.aiis-expertise__copy{grid-column:2;grid-row:1}.aiis-expertise__nav{grid-column:1;grid-row:1;counter-reset:expertise}.aiis-expertise h2{color:var(--aes-white)}.aiis-expertise p{max-width:610px;margin:27px 0 0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.75}
.aiis-expertise__nav a{counter-increment:expertise;display:grid;grid-template-columns:44px 1fr auto;min-height:94px;align-items:center;gap:16px;color:var(--aes-white)!important;border-bottom:1px solid rgba(255,255,255,.18);font-size:17px;font-weight:750}.aiis-expertise__nav a:first-child{border-top:1px solid rgba(255,255,255,.18)}.aiis-expertise__nav a:before{color:var(--aes-green);font-size:11px;font-weight:800;letter-spacing:.1em;content:"0" counter(expertise)}.aiis-expertise__nav a b{color:var(--aes-green);font-size:22px}.aiis-expertise__nav a:hover span{color:var(--aes-green)}

/* Shared request component */
.aiis-page .aes-request{min-height:700px;margin:0;padding:104px 0!important}.aiis-page .aes-request__layout{min-height:490px;align-items:center;row-gap:16px}.aiis-page .aes-request__layout>h2{align-self:end;margin:0 0 12px}.aiis-page .aiis-request-intro{grid-column:1;align-self:start;max-width:540px;margin:0;color:#43585a;font-size:16px;line-height:1.72}.aiis-page .aes-form-card{grid-column:2;grid-row:1/4;align-self:center}.aiis-page .aes-form-card textarea{min-height:76px}

@media(max-width:1100px){.aiis-live{padding:112px 0 112px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 84px,#074d4f calc(100% - 84px),var(--aes-surface-warm) 100%)}.aiis-live__head{grid-template-columns:1fr .9fr;gap:42px}.aiis-story{margin-top:24px;width:auto;left:auto;transform:none}.aiis-story__visual{height:auto}.aiis-story__visual:before,.aiis-story__visual:after{display:none}.aiis-story__visual img{width:100%;margin:0 auto}.aiis-intro__grid{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}.aiis-intro__visual{width:52%}.aiis-story__labels{gap:12px}.aiis-implementation__layout{grid-template-columns:minmax(0,1fr) minmax(350px,.8fr)}.aiis-roadmap{grid-template-columns:1fr}.aiis-roadmap__button{justify-self:end}}
@media(max-width:820px){
.aiis-intro{min-height:auto}.aiis-intro__grid{display:block;min-height:auto}.aiis-intro__content{padding:64px 0 42px}.aiis-intro__visual{position:relative;width:calc(100% + (var(--aes-gutter) * 2));height:330px;margin:0 calc(var(--aes-gutter) * -1)}.aiis-intro__visual:before{background:linear-gradient(180deg,var(--aes-white) 0%,rgba(255,255,255,.22) 24%,rgba(255,255,255,0) 48%)}.aiis-intro__lead{margin-top:34px;font-size:21px}
.aiis-live{padding:92px 0 92px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 64px,#074d4f calc(100% - 64px),var(--aes-surface-warm) 100%)}.aiis-implementation,.aiis-expertise{padding:76px 0}.aiis-live__head{grid-template-columns:1fr;gap:28px}
.aiis-story{margin-top:24px}.aiis-story__visual{height:310px;overflow:hidden}.aiis-story__visual img{width:168%;max-width:none;margin:0 0 0 -34%}.aiis-story__labels{display:grid;grid-template-columns:1fr;margin-top:18px;padding-left:24px;border-left:2px solid rgba(180,205,67,.45);gap:0}.aiis-story__label--core{display:none}.aiis-story__label{position:relative;min-height:0;padding:19px 0 22px 20px;text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.aiis-story__label:before{position:absolute;top:26px;left:-31px;width:12px;height:12px;background:var(--aes-green);content:"";transform:rotate(45deg)}.aiis-story__label small{display:block;margin-bottom:7px;color:var(--aes-green);font-size:13px;font-weight:800;letter-spacing:.08em}.aiis-story__label b{display:block;color:var(--aes-white);font-size:17px;line-height:1.3}.aiis-story__label span{display:block;max-width:none;margin:6px 0 0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.45}
.aiis-implementation__layout{grid-template-columns:1fr;gap:38px}.aiis-implementation__visual{min-height:370px}.aiis-roadmap{grid-template-columns:1fr;padding-top:8px}.aiis-roadmap:before{top:0;bottom:78px;left:7px;width:2px;height:auto}.aiis-roadmap__steps{grid-template-columns:1fr;gap:0}.aiis-roadmap__steps li{min-height:62px;padding:6px 0 20px 36px}.aiis-roadmap__steps li:before{top:7px;left:0}.aiis-roadmap__button{width:100%;justify-self:stretch}
.aiis-expertise__layout{grid-template-columns:1fr;gap:46px}.aiis-expertise__copy,.aiis-expertise__nav{grid-column:1}.aiis-expertise__copy{grid-row:1}.aiis-expertise__nav{grid-row:2}
.aiis-page .aes-request{min-height:0;padding:76px 0!important}.aiis-page .aes-request__layout{min-height:0}.aiis-page .aes-request__layout>h2,.aiis-page .aiis-request-intro,.aiis-page .aes-form-card{grid-column:auto;grid-row:auto;align-self:auto}
}
@media(max-width:560px){.aiis-intro__content{padding:52px 0 36px}.aiis-intro__title{font-size:44px}.aiis-intro__definition{font-size:13px}.aiis-intro__lead{font-size:18px}.aiis-intro__button{width:100%;min-width:0;min-height:56px;font-size:15px}.aiis-intro__visual{height:270px}.aiis-live{padding:76px 0 76px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 48px,#074d4f calc(100% - 48px),var(--aes-surface-warm) 100%)}.aiis-implementation,.aiis-expertise{padding:58px 0}.aiis-story__visual{height:250px}.aiis-story__visual img{width:205%;margin-left:-52.5%}.aiis-implementation__visual{min-height:310px}.aiis-expertise__nav a{grid-template-columns:34px 1fr auto;min-height:78px;font-size:15px}.aiis-page .aes-request{padding:58px 0!important}}

/* 3.2.9: final AIIS edge blending and sticky-header-safe anchors. */
html{scroll-padding-top:90px}
.aiis-live,#aiis-how-title{scroll-margin-top:90px}
@media(max-width:1100px){.aiis-story__visual img{-webkit-mask-image:none;mask-image:none}}

/* Compact edge transitions: keep the section clean, without a tall fog band. */
.aiis-live{padding-top:96px;padding-bottom:96px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 48px,#074d4f calc(100% - 48px),var(--aes-surface-warm) 100%)}
@media(max-width:1100px){.aiis-live{padding-top:84px;padding-bottom:84px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 36px,#074d4f calc(100% - 36px),var(--aes-surface-warm) 100%)}}
@media(max-width:760px){.aiis-live{padding-top:72px;padding-bottom:72px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 32px,#074d4f calc(100% - 32px),var(--aes-surface-warm) 100%)}}
@media(max-width:560px){.aiis-live{padding-top:62px;padding-bottom:62px;background:linear-gradient(180deg,var(--aes-surface-warm) 0,#074d4f 26px,#074d4f calc(100% - 26px),var(--aes-surface-warm) 100%)}}

/* 3.3.0: crisp section boundaries and true full-width AIIS artwork. */
.aiis-live{padding-top:92px;padding-bottom:92px;background:#074d4f}
.aiis-intro__visual:before{top:0;right:0;bottom:0;left:-320px;background:linear-gradient(90deg,var(--aes-surface-warm) 0%,rgba(246,248,244,.98) 22%,rgba(246,248,244,.78) 42%,rgba(246,248,244,.34) 62%,rgba(246,248,244,0) 82%)}
@media(min-width:1101px){.aiis-story{width:100vw;max-width:none;margin-top:20px;left:50%;transform:translateX(-50%)}.aiis-story__visual:before,.aiis-story__visual:after{display:none}.aiis-story__visual img{width:100%;max-width:none;-webkit-mask-image:none;mask-image:none}}
@media(max-width:1100px){.aiis-live{padding-top:82px;padding-bottom:82px;background:#074d4f}.aiis-intro__visual:before{left:-220px}}
@media(max-width:760px){.aiis-live{padding-top:70px;padding-bottom:70px;background:#074d4f}.aiis-intro__visual:before{left:0}}
@media(max-width:560px){.aiis-live{padding-top:60px;padding-bottom:60px;background:#074d4f}}

/* 3.3.1: diagonal hero reveal and artwork-defined section ending. */
.aiis-intro__visual:before{top:0;right:0;bottom:0;left:-360px;background:linear-gradient(108deg,var(--aes-surface-warm) 0%,rgba(246,248,244,.98) 27%,rgba(246,248,244,.78) 43%,rgba(246,248,244,.3) 58%,rgba(246,248,244,0) 72%)}
@media(min-width:1101px){.aiis-live{padding-bottom:0}.aiis-story{margin-bottom:0}.aiis-story__visual,.aiis-story__visual img{margin-bottom:0}}
@media(max-width:1100px){.aiis-intro__visual:before{left:-240px;background:linear-gradient(106deg,var(--aes-surface-warm) 0%,rgba(246,248,244,.96) 30%,rgba(246,248,244,.52) 54%,rgba(246,248,244,0) 76%)}}
@media(max-width:760px){.aiis-intro__visual:before{left:0;background:linear-gradient(180deg,var(--aes-surface-warm) 0%,rgba(246,248,244,.3) 30%,rgba(246,248,244,0) 58%)}.aiis-live{padding-bottom:60px}}

/* 3.4.0: one continuous artwork background from heading to infographic. */
@media(min-width:1101px){.aiis-live{padding:0;background:#004849}.aiis-live>.aes-container{position:relative;max-width:none;width:100%;padding:0}.aiis-live__head{position:absolute;z-index:3;top:72px;left:max(var(--aes-gutter),calc((100vw - var(--aes-container)) / 2));right:max(var(--aes-gutter),calc((100vw - var(--aes-container)) / 2));margin:0}.aiis-story{margin-top:0}.aiis-story__visual{background:#004849}}

/* 3.4.1: exact-size infographic on a larger canvas with title and side breathing room. */
@media(min-width:1101px){.aiis-live__head{top:clamp(54px,4.4vw,84px)}.aiis-story__visual img{display:block;width:100%;height:auto}}
@media(max-width:1100px){.aiis-story__visual{height:auto;aspect-ratio:1983/793;background:#004849 url('../images/aiis/aiis-story-original.png') center/contain no-repeat}.aiis-story__visual img{display:none}}

/* 3.4.2: original infographic unchanged; desktop copy overlays its quiet upper area. */
@media(min-width:1101px){.aiis-live{padding:0;background:#004849}.aiis-live>.aes-container{position:relative;width:100%;max-width:none;padding:0}.aiis-live__head{position:absolute;z-index:3;top:clamp(22px,2.2vw,42px);right:max(var(--aes-gutter),calc((100vw - var(--aes-container)) / 2));left:max(var(--aes-gutter),calc((100vw - var(--aes-container)) / 2));margin:0}.aiis-live__head h2{font-size:clamp(40px,3.4vw,54px)}.aiis-live__head p{font-size:16px;line-height:1.55}.aiis-story{width:100vw;margin:0;left:50%;transform:translateX(-50%)}.aiis-story__visual,.aiis-story__visual img{margin:0}.aiis-story__visual img{display:block;width:100%;height:auto}.aiis-live__head h2,.aiis-live__head p{text-shadow:0 2px 18px rgba(0,39,40,.22)}}

/* 3.4.3: full-width prepared artwork in both AIIS opening sections. */
@media(min-width:1101px){
.aiis-intro{height:clamp(660px,43.945vw,900px);min-height:660px;background:#f7f8f3}
.aiis-intro__grid{min-height:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.aiis-intro__content{max-width:650px}
.aiis-intro__visual{inset:0;width:100%}
.aiis-intro__visual:before{display:none;content:none}
.aiis-intro__visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.aiis-live__head{top:clamp(58px,4.1vw,82px)}
.aiis-live__head h2{font-size:clamp(44px,4.2vw,62px)}
.aiis-live__head p{font-size:17px;line-height:1.72}
}
@media(max-width:1100px){.aiis-intro__visual:before{display:none;content:none}}

/* 3.4.4: transparent hero artwork on one solid background; no text overlap. */
@media(min-width:1101px){
.aiis-intro{height:clamp(660px,40vw,820px);min-height:660px;background:#f7f8f3}
.aiis-intro__grid{min-height:100%;grid-template-columns:1fr 1fr}
.aiis-intro__content{width:min(36vw,540px);max-width:540px;padding-right:0}
.aiis-intro__definition,.aiis-intro__lead{width:100%;max-width:100%}
.aiis-intro__button{width:min(100%,540px);max-width:540px;min-width:0}
.aiis-intro__visual{top:0;right:0;bottom:0;left:auto;width:54%;overflow:hidden;background:transparent}
.aiis-intro__visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:right center}
}
@media(min-width:1101px) and (max-width:1280px){.aiis-intro__content{width:min(39vw,480px);max-width:480px}.aiis-intro__button{width:min(100%,480px);max-width:480px}.aiis-intro__visual{width:52%}}

/* 3.4.8: canonical AIIS results block. */
.aiis-data-section{
    position:relative;
    overflow:hidden;
    padding:96px 0 0;
    background:#f6f8f3;
}
.aiis-data-section:before{
    position:absolute;
    top:-210px;
    right:-145px;
    width:390px;
    height:390px;
    border:1px solid rgba(151,188,18,.17);
    content:"";
    transform:rotate(45deg);
    pointer-events:none;
}
.aiis-data-section:after{
    position:absolute;
    top:126px;
    right:85px;
    width:58px;
    height:58px;
    background:rgba(151,188,18,.11);
    content:"";
    transform:rotate(45deg);
    pointer-events:none;
}
.aiis-data-head{
    position:relative;
    z-index:1;
    max-width:none;
    margin:0 0 70px;
}
.aiis-data-head:before,
.aiis-data-head:after{
    display:none;
    content:none;
}
.aiis-data-head h2{
    max-width:820px;
    margin:0;
    color:var(--aes-dark);
    font-size:clamp(42px,4.5vw,70px);
    line-height:1.03;
    letter-spacing:-.045em;
}
.aiis-outcomes{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border-top:1px solid var(--aes-border);
    border-bottom:1px solid var(--aes-border);
}
.aiis-outcomes article{
    position:relative;
    min-width:0;
    min-height:340px;
    margin:0;
    padding:132px 36px 48px;
    border:0;
}
.aiis-outcomes article:before,
.aiis-outcomes article:after{
    display:none!important;
    content:none!important;
}
.aiis-outcomes article:first-child{padding-left:0}
.aiis-outcomes article:last-child{padding-right:0}
.aiis-outcomes article+article{border-left:1px solid var(--aes-border)}
.aiis-outcomes h3{
    max-width:270px;
    margin:0 0 16px;
    color:var(--aes-dark);
    font-size:20px;
    line-height:1.3;
}
.aiis-outcomes p{
    max-width:290px;
    margin:0;
    color:var(--aes-muted);
    font-size:15px;
    line-height:1.65;
}
.aiis-outcomes__diamond{
    position:absolute;
    top:44px;
    left:42px;
    display:block;
    width:66px;
    height:66px;
    margin:0;
    background:transparent;
}
.aiis-outcomes article:first-child>.aiis-outcomes__diamond{left:7px}
.aiis-outcomes__diamond:before{
    display:none;
    content:none;
}
.aiis-outcomes__diamond:after{
    position:absolute;
    inset:0;
    width:auto;
    height:auto;
    border:0;
    background:var(--aes-green-dark);
    content:"";
    transform:none;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 50 35 15 70 50 35 85Z'/%3E%3Cpath d='M50 0 100 50 50 100 43 93 86 50 43 7Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media(max-width:1100px){
    .aiis-data-section{padding-top:78px}
    .aiis-data-head{margin-bottom:54px}
    .aiis-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}
    .aiis-outcomes article,
    .aiis-outcomes article:first-child,
    .aiis-outcomes article:last-child{
        min-height:300px;
        padding:126px 34px 42px;
    }
    .aiis-outcomes article:nth-child(odd){
        padding-left:0;
        border-left:0;
    }
    .aiis-outcomes article:nth-child(n+3){border-top:1px solid var(--aes-border)}
    .aiis-outcomes article:nth-child(odd)>.aiis-outcomes__diamond{left:7px}
    .aiis-outcomes article:nth-child(even)>.aiis-outcomes__diamond{left:42px}
}

@media(max-width:620px){
    .aiis-data-section{padding-top:58px}
    .aiis-data-section:before,
    .aiis-data-section:after{display:none}
    .aiis-data-head{margin-bottom:40px}
    .aiis-data-head h2{font-size:40px;line-height:1.07}
    .aiis-outcomes{grid-template-columns:1fr}
    .aiis-outcomes article,
    .aiis-outcomes article:first-child,
    .aiis-outcomes article:last-child,
    .aiis-outcomes article:nth-child(odd){
        min-height:0;
        padding:106px 0 34px;
        border-left:0;
    }
    .aiis-outcomes article+article{border-top:1px solid var(--aes-border)}
    .aiis-outcomes article>.aiis-outcomes__diamond,
    .aiis-outcomes article:first-child>.aiis-outcomes__diamond,
    .aiis-outcomes article:nth-child(odd)>.aiis-outcomes__diamond,
    .aiis-outcomes article:nth-child(even)>.aiis-outcomes__diamond{
        top:27px;
        left:7px;
        width:58px;
        height:58px;
    }
}

/* 3.4.9: align the desktop roadmap markers, labels and CTA. */
@media(min-width:1101px){
    .aiis-roadmap{
        grid-template-columns:minmax(0,1fr) 380px;
        gap:40px;
        align-items:start;
        padding-top:32px;
    }
    .aiis-roadmap:before{
        display:none;
        content:none;
    }
    .aiis-roadmap__steps{
        position:relative;
        align-items:start;
    }
    .aiis-roadmap__steps:before{
        position:absolute;
        z-index:0;
        top:8px;
        right:10%;
        left:10%;
        height:2px;
        background:var(--aes-green);
        content:"";
    }
    .aiis-roadmap__steps li{
        position:relative;
        z-index:1;
        padding:32px 8px 0;
        text-align:center;
    }
    .aiis-roadmap__steps li:before{
        top:0;
        left:50%;
        transform:translateX(-50%) rotate(45deg);
    }
    .aiis-roadmap__steps b{
        max-width:180px;
        margin:0 auto;
    }
    .aiis-roadmap__button{
        align-self:start;
        width:380px;
        min-width:380px;
        margin:0;
    }
}

/* Only homepage services: 10 cards, preserving existing card styling. */
@media (min-width: 1121px) {
  .aes-services-showcase .aes-services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aes-services-showcase .aes-service-card--wide { grid-column: span 2; }
  .aes-services-showcase .aes-service-card { min-width: 0; }
  .aes-services-showcase .aes-service-card--wide .aes-service-card__copy { width: 53%; }
  .aes-services-showcase .aes-service-card--wide .aes-service-card__image { width: 45%; height: 82%; }
}
@media (min-width: 721px) and (max-width: 1120px) {
  .aes-services-showcase .aes-service-card--wide { grid-column: span 2; }
  .aes-services-showcase .aes-service-card--wide .aes-service-card__copy { width: 55%; }
  .aes-services-showcase .aes-service-card--wide .aes-service-card__image { width: 43%; height: 80%; }
}
