@font-face {
    font-family: "Nohemi";
    src: url("./fonts/Nohemi-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Nohemi";
    src: url("./fonts/Nohemi-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Nohemi";
    src: url("./fonts/Nohemi-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Light-cyrillic.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Regular-cyrillic.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Onest";
    src: url("./fonts/Onest-Medium-cyrillic.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
    --color-navy: #122665;
    --color-ink: #07192e;
    --color-accent: #f5742a;
    --color-orange: #fe5e32;
    --color-bg: #f9f9f9;
    --color-card-bg: #f7f6f5;
    --color-cream: #fffdf9;
    --font-main: "Onest", "Times New Roman", sans-serif;
    --font-display: "Nohemi", "Onest", sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: var(--font-main);
    color: var(--color-ink);
    background-color: #fff;
}

a {
    text-decoration: none;
    color: inherit;
}
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- Simple animation ---------- */

.simple_animation.is-anim-hidden {
    opacity: 0;
}

.simple_animation.is-anim-hidden.is-anim-left {
    transform: translateX(calc(-1 * var(--simple-anim-shift, 40px)));
}

.simple_animation.is-anim-hidden.is-anim-right {
    transform: translateX(var(--simple-anim-shift, 40px));
}

.simple_animation.is-anim-hidden.is-anim-up {
    transform: translateY(40px);
}

.simple_animation.is-anim-in.is-anim-left {
    animation: simple-anim-in-left 0.4s ease both;
}

.simple_animation.is-anim-in.is-anim-right {
    animation: simple-anim-in-right 0.4s ease both;
}

.simple_animation.is-anim-in.is-anim-up {
    animation: simple-anim-in-up 0.4s ease both;
}

.simple_animation.is-anim-out.is-anim-left {
    animation: simple-anim-out-left 0.4s ease both;
}

.simple_animation.is-anim-out.is-anim-right {
    animation: simple-anim-out-right 0.4s ease both;
}

.simple_animation.is-anim-out.is-anim-up {
    animation: simple-anim-out-up 0.4s ease both;
}

@keyframes simple-anim-in-left {
    from { opacity: 0; transform: translateX(calc(-1 * var(--simple-anim-shift, 40px))); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes simple-anim-out-left {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(calc(-1 * var(--simple-anim-shift, 40px))); }
}

@keyframes simple-anim-in-right {
    from { opacity: 0; transform: translateX(var(--simple-anim-shift, 40px)); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes simple-anim-out-right {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(var(--simple-anim-shift, 40px)); }
}

@keyframes simple-anim-in-up {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes simple-anim-out-up {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(40px); }
}

/* ---------- Container ---------- */

.container {
    max-width: calc(100% - 80px);
    width: 1440px;
    margin: 0 auto;
}

/* ---------- Header ---------- */

.header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    /* padding: 25px 0; */
    padding: 20px 0;
}

.header_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* height: 45px; */
    border-radius: 38px;
    background: rgba(255, 255, 255, 0.5);
    padding: 5px 10px;
    backdrop-filter: blur(7.5px);
    -webkit-backdrop-filter: blur(7.5px);
}

/* ---------- Logo ---------- */

.logo {
    display: flex;
    align-items: end;
    gap: 5.266px;
    flex-shrink: 0;
    color: var(--color-navy);
}

.logo_mark {
    display: block;
    width: 59px;
    height: 44px;
    fill: var(--color-navy);
}

.logo_text {
    display: flex;
    flex-direction: column;
    width: 141.733px;
    margin-bottom: 2px;
}

.logo_title {
    font-size: 15.8px;
    line-height: 16px;
    font-weight: 400;
    margin-bottom: -2px;
}

.logo_slogan {
    font-family: var(--font-display);
    font-size: 17.48px;
    line-height: 17px;
    font-weight: 400;
    letter-spacing: -0.1px;
}
.header_logo:hover .logo_mark {
    fill: var(--color-accent);
}
.header_logo:hover .logo_text {
    color: var(--color-accent);
}

/* ---------- Nav ---------- */

.nav {
    align-self: stretch;
}

.nav_list {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100%;
    /* border-radius: 38px;
    background: rgba(255, 255, 255, 0.5); */
    /* backdrop-filter: blur(7.5px);
    -webkit-backdrop-filter: blur(7.5px); */
    margin-left: -2px;
    padding: 0 5px;
}

.nav_link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
    gap: 5px;
}

.nav_link--active {
    background: var(--color-navy);
    color: #ffffff;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.nav_link--active:hover {
    background: #FE5E32;
}

.nav_plus {
    color: var(--color-accent);
}
.nav_link--active:hover .nav_plus {
    color: #ffffff;
}

.nav_chevron {
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-accent);
    transition: transform 0.25s ease;
}
.nav_link:not(.nav_link--active):hover {
    background: rgba(18, 38, 101, 0.08);
    color: #F5742A;
}

/* ---------- Nav dropdown ---------- */

.nav_item--dropdown {
    position: relative;
}

.nav_dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    width: 467px;
    padding: 40px;
    border-radius: 38px;
    background: #FCFCFC;
    backdrop-filter: blur(7.5px);
    -webkit-backdrop-filter: blur(7.5px);
    box-shadow: 0 24px 60px rgba(7, 25, 46, 0.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 20;
}

.nav_item--dropdown.is-open .nav_dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.nav_dropdown-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nav_dropdown-link {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-ink);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.nav_dropdown-link:hover,
.nav_dropdown-link:focus-visible {
    background: var(--color-accent);
    color: #ffffff;
}

/* ---------- Button ---------- */

.standard_button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    flex-shrink: 0;
    width: 223px;
    padding: 13px 48px;
    border-radius: 50px;
    background: var(--color-navy);
    color: #ffffff;
    transition: background-color 0.2s ease;
}

.standard_button:hover {
    background: #FE5E32;
}

.button_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.button_icon {
    display: block;
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    transition: transform 0.2s ease;
}

.standard_button:hover .button_icon {
    transform: rotate(45deg);
}

/* ---------- Burger (mobile nav toggle) ---------- */

.header_burger {
    display: none;
    flex-direction: column;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    cursor: pointer;
}

.header_burger-line {
    display: block;
    width: 15px;
    height: 2px;
    border-radius: 1px;
    background: var(--color-navy);
    transition: transform 0.25s ease, opacity 0.2s ease;
}

.header_burger.is-active .header_burger-line:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}

.header_burger.is-active .header_burger-line:nth-child(2) {
    opacity: 0;
}

.header_burger.is-active .header_burger-line:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
}

/* ---------- First screen ---------- */

.first {
    position: relative;
    height: calc(800px + 400vh);
    background: #E1D8D1;
    background: var(--color-bg);
}

.first_pin {
    position: sticky;
    top: 0;
    height: 800px;
    overflow: hidden;
}

.first_video {
    position: absolute;
    right: clamp(-212px, -13.947vw, 0px);
    top: -61px;
    width: clamp(0px, 90vw, 1728px);
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    -webkit-mask-image:
        linear-gradient(90deg, transparent 0, #000 22%),
        linear-gradient(0deg, transparent 0, #000 14%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(90deg, transparent 0, #000 22%),
        linear-gradient(0deg, transparent 0, #000 14%);
    mask-composite: intersect;
}

.first_container {
    position: relative;
    z-index: 1;
    height: 100%;
    padding-top: 158px;
}

.first_partner {
    position: absolute;
    top: 158px;
    right: 2px;
    display: block;
    width: 245px;
    object-fit: contain;
}

.first_title,
.first_text {
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.first_title.is-scene-out,
.first_text.is-scene-out {
    opacity: 0;
    transform: translateY(14px);
}

.first_title {
    margin: 0;
    min-height: 216px;
    font-family: var(--font-display);
    font-size: 80px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.6px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.first_text {
    width: 421px;
    min-height: 96px;
    margin: 52px 0 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.first_text_link {
    color: #3C88F3;
}

.first_bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 80px;
    padding-top: 40px;
    border-top: 1px solid rgba(7, 25, 46, 0.15);
}

/* ---------- Stats ---------- */

.stats {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 674px;
    flex-shrink: 0;
}

.stats_item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.stats_item:nth-child(1) {
    width: 20.03%;
}

.stats_item:nth-child(2) {
    width: 22.85%;
}

.stats_value {
    font-family: var(--font-display);
    font-size: 48px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.stats_label {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- First screen actions ---------- */

.first_actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    flex-shrink: 0;
}

.first_link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.about_hero .first_link {
    width: 343px;
}
.link_enterprise {
    padding: 16px 22.5px;
}

.first_link--light {
    width: 223px;
    background: #ffffff;
    color: var(--color-ink);
}

.first_link--light:hover {
    background: var(--color-navy);
    color: #ffffff;
}

.first_link--light:hover .first_link-icon {
    transform: rotate(45deg);
}

.first_link--accent {
    background: var(--color-orange);
    color: #fffdf9;
}

.first_link--accent:hover {
    background: var(--color-navy);
}

.first_link-icon {
    display: block;
    width: 17px;
    height: unset;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.about_hero .first_link-icon {
    width: 18px;
    height: 18px;
}

.first_link--accent:hover .first_link-icon {
    transform: rotate(45deg);
}
.link_enterprise:hover .first_link-icon{
    transform: rotate(45deg);
}

/* ---------- About hero ---------- */

.about_hero {
    position: relative;
    height: fit-content;
    /* padding-bottom: min(190.69px, 12.43vw); */
    overflow: hidden;
    background-color: #f9f9f9;
    min-height: min(52.12vw, 800px);
}

.about_hero-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 1520px);
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center;
    z-index: 0;
    -webkit-mask-image:
        linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
        linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
        linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    mask-composite: intersect;
}

.about_hero-container {
    position: relative;
    z-index: 1;
    height: 100%;
    padding-top: 96px;
}

.breadcrumb {
    margin-top: 1px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    line-height: 1.2;
}

.breadcrumb_link,
.breadcrumb_sep {
    font-weight: 500;
    color: var(--color-navy);
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.breadcrumb_link:hover {
    opacity: 1;
}

.breadcrumb_current {
    font-weight: 400;
    color: var(--color-navy);
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.about_hero-content {
    display: flex;
    flex-direction: column;
    gap: 60px;
    width: 710px;
    margin-top: 80px;
}

.about_hero-copy {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.about_hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.28px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.about_hero-text {
    width: 467px;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Tool hero ---------- */

.tool_hero {
    position: relative;
    height: 800px;
    background-color: var(--color-bg);
    background-repeat: no-repeat;
    background-position: 0 0, center bottom, center bottom, center bottom;
    background-size: auto, 1520px auto, 1520px auto, 1520px auto;
    background-image:
        linear-gradient(to bottom, transparent 0%, transparent 82.13%, var(--color-bg) 100%),
        linear-gradient(to right, transparent 0%, transparent 85%, var(--color-bg) 100%),
        linear-gradient(to right, var(--color-bg) 0%, var(--color-bg) 38.42%, transparent 52.86%, transparent 100%),
        url("../images/tool/tool-hero-bg.png");
}

.tool_hero-container {
    position: relative;
    height: 100%;
    padding-top: 96px;
}

.tool_hero-content {
    display: flex;
    flex-direction: column;
    gap: 162px;
    /* width: 647px; */
    width: min(calc(19.54vw + 347px), 647px);
    margin-top: 78px;
}

.tool_hero-copy {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.tool_hero-heading {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.tool_hero-label {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.tool_hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.28px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.tool_hero-summary {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.tool_hero-subtitle {
    margin: 0;
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.tool_hero-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.tool_hero-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tool_hero-actions .first_link--light {
    width: auto;
}

/* ---------- Services hero ---------- */

.services_hero {
    position: relative;
    /* height: 800px; */
    padding-bottom: min(144px, 9.382vw);
    overflow: hidden;
    background-color: var(--color-bg);  
}

.services_hero-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 1520px);
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center;
    z-index: 0;
    -webkit-mask-image:
        linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
        linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
        linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    mask-composite: intersect;
}

.services_hero-container {
    position: relative;
    z-index: 1;
    height: 100%;
    padding-top: 96px;
}

.services_hero-content {
    display: flex;
    flex-direction: column;
    gap: 60px;
    width: 660px;
    margin-top: 54px;
}

.services_hero-copy {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.services_hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.28px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.services_hero-paragraphs {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.services_hero-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.services_hero-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.services_hero-actions .first_link--light {
    width: auto;
}

/* ---------- Fusion Query ---------- */

.fusionquery {
    background: var(--color-bg);
    padding-top: 80px;
    width: 100%;
}

.fusionquery_card {
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    background: #ffffff;
    border-radius: 40px;
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fusionquery_head {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    width: 100%;
    min-height: 267px;
}

.fusionquery_intro {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 668px;
}

.fusionquery_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.fusionquery_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.fusionquery_dot {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    width: 15px;
    height: 15px;
    margin: 30px 30px 0 0;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.fusionquery_grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.fusionquery_item {
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border: 1px solid rgba(7, 25, 46, 0.2);
}

.fusionquery_item:nth-child(1) {
    grid-column: 2;
    grid-row: 1;
    border-bottom: none;
    position: relative;
}

.fusionquery_item:nth-child(1)::after {
    content: "";
    position: absolute;
    right: -1px;
    bottom: 100%;
    width: 1px;
    height: 267px;
    background: rgba(7, 25, 46, 0.2);
}

.fusionquery_item:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
    border-left: none;
    margin-bottom: -1px;
}

.fusionquery_item:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.fusionquery_item:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    border-left: none;
}

.fusionquery_item--diagonal {
    grid-column: 3;
    grid-row: 2;
    padding: 0;
    border: none;
    contain: size;
}

.fusionquery_diagonal {
    display: block;
    width: 100%;
    height: 100%;
}

.fusionquery_top {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fusionquery_icon {
    display: block;
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    color: var(--color-orange);
}

.fusionquery_item-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.fusionquery_item-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.fusionquery_lines {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #ffffff;
    margin-top: 80px;
}

.fusionquery_lines-bar {
    height: 38.75px;
    background: var(--color-bg);
    transform-origin: top;
}

/* ---------- Who Uses ---------- */

.whouses {
    width: 100%;
    background: #ffffff;
    padding-top: 100px;
}

.whouses_row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.whouses_title {
    margin: 0;
    max-width: 345px;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.whouses_grid {
    display: flex;
    width: min(1075px, 74.66%);
    /* align-items: flex-start; */
    gap: 20px;
}

.whouses_card {
    /* width: 345px; */
    width: calc(33.33% - 13.33px);
    /* height: 375px; */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    background: var(--color-card-bg);
    border-radius: 20px;
}

.whouses_media {
    min-height: 0;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 305 / 281;
}

.whouses_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.whouses_label {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}

.whouses_dot {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
    margin-bottom: 5px;
}

.whouses_name {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

/* ---------- Security ---------- */

.security {
    width: 100%;
    background: #ffffff;
    padding-top: 100px;
}

.security_card {
    background: var(--color-bg);
    border-radius: 40px;
    padding: 40px 30px;
}

.security_row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.security_intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: min(390px, 28.677%);
    flex-shrink: 0;
}

.security_title {
    margin: 0;
    max-width: 387px;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.security_lock {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
}

.security_compare {
    display: flex;
    align-items: flex-start;
    width: min(832px, 61.18%);
    flex-shrink: 0;
}

.security_col {
    display: flex;
    width: 50%;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 80px 0;
}

.security_col--accent {
    border-radius: 40px;
    background-color: var(--color-orange);
    background-image: url("../images/security/card-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.security_col-title {
    margin: 0;
    text-align: center;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
}

.security_col--accent .security_col-title {
    color: #ffffff;
}

.security_col:not(.security_col--accent) .security_col-title {
    color: rgba(7, 25, 46, 0.8);
}

.security_list {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.security_list-item {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 40px;
}

.security_list-item:nth-child(1) {
    height: 59px;
}

.security_list-item:nth-child(2) {
    height: 78px;
}

.security_list-item:nth-child(3) {
    height: 78px;
}

.security_list-item:nth-child(4) {
    height: 67px;
}

.security_list--accent .security_list-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.8);
}

.security_list--plain .security_list-item {
    border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    color: rgba(7, 25, 46, 0.8);
}

.security_list-text {
    font-size: 16px;
    line-height: 1.2;
}

.security_check {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
}

/* ---------- Trusted ---------- */

.trusted {
    width: 100%;
    background: #ffffff;
    padding-top: 100px;
}

.trusted_container {
    display: flex;
    align-items: stretch;
    gap: 20px;
}

.trusted_quote {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    min-height: 379px;
    padding: 40px;
    border-radius: 40px;
    background-image: url("../images/tools/trusted_quote_bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.trusted_quote-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.trusted_quote-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.trusted_quote-text {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.trusted_quote-mark {
    color: var(--color-orange);
}

.trusted_quote-author {
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.trusted_stats {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.trusted_stats-row {
    display: flex;
    flex: 1 1 0;
    gap: 20px;
}

.trusted_stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    padding: 30px;
    border-radius: 20px;
    background: var(--color-bg);
    backdrop-filter: blur(10px);
}

.trusted_stat--wide {
    flex: 1 1 0;
}

.trusted_stats-row .trusted_stat {
    flex: 1 1 0;
}

.trusted_stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.trusted_stat-value {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.trusted_stat-dot {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.trusted_stat-label {
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.security_check svg {
    display: block;
    width: 14px;
    height: 14px;
}

/* ---------- Fame ---------- */

.fame {
    position: relative;
    height: calc(800px * var(--fame-scale, 1));
    overflow: hidden;
    background: var(--color-bg);
    --fame-scale: 1;
    --fame-crystal-w: calc(1968.68px * var(--fame-scale, 1));
    --fame-crystal-x: calc(50% - (85.14px * var(--fame-scale, 1)));
    --fame-crystal-edge: calc(50% + (899.2px * var(--fame-scale, 1)));
}

.fame_visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../images/fame/fame-crystal.png") no-repeat;
    background-size: var(--fame-crystal-w) calc(1107.97px * var(--fame-scale, 1));
    background-position: var(--fame-crystal-x) calc(-190.75px * var(--fame-scale, 1));
    -webkit-mask-image:
        linear-gradient(90deg, transparent 39.87%, #000 59.18%),
        linear-gradient(180deg, #000 76%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(90deg, transparent 39.87%, #000 59.18%),
        linear-gradient(180deg, #000 76%, transparent 100%);
    mask-composite: intersect;
}

.fame_visual-fade {
    position: absolute;
    top: 0;
    bottom: 0;
    /* zone straddles the crystal's real right edge: starts 300px before it,
       reaches full opacity 20px before it (so the hard pixel boundary is
       always fully covered, never caught mid-fade), ends 150px after it.
       All offsets scale with --fame-scale to stay pinned to the same spot
       on the crystal art as it shrinks at narrower breakpoints. */
    left: calc(var(--fame-crystal-edge) - (300px * var(--fame-scale, 1)));
    width: calc(450px * var(--fame-scale, 1));
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent 0,
        transparent calc(60px * var(--fame-scale, 1)),
        var(--color-bg) calc(280px * var(--fame-scale, 1)),
        var(--color-bg) 100%
    );
}

.fame_container {
    position: relative;
    z-index: 1;
    height: 100%;
    padding-top: calc(173px * var(--fame-scale, 1));
}

.fame_content {
    display: flex;
    flex-direction: column;
    gap: 65px;
    width: min(692px, 100%);
    width: 48.06%;
}

.fame_copy {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fame_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.fame_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.fame_actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fame_actions .first_link--light {
    width: auto;
}

.fame_actions .first_link--light:hover .first_link-icon {
    transform: rotate(45deg);
}

/* ---------- Sertifications ---------- */

.sertifications {
    /* padding: 70px 0 10px; */
    padding-top: 70px;
    background: #F9F9F9;
}

.sertifications_container {
    padding: 80px 40px 60px;
    background: #ffffff;
    border-radius: 40px;
}

.sertifications_head {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 40px;
}

.sertifications_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.sertifications_desc {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.sertifications_slider {
    /* Card size is fixed per design (323.5 x 257.59) - it never stretches.
       JS reads these two variables to work out how many cards fit per row. */
    --sert-card-width: 323.5px;
    --sert-gap: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* Falls back to a plain wrapping row when JS hasn't paginated the cards yet (or is disabled). */
.sertifications_slides {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sert-gap);
    width: 100%;
}

/* Once JS groups the cards into pages, each page is stacked in the same grid cell and cross-faded. */
.sertifications_slides.is-paginated {
    display: grid;
}

.sertifications_slides.is-paginated .sertifications_slide {
    grid-area: 1 / 1;
    display: flex;
    gap: var(--sert-gap);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

.sertifications_slides.is-paginated .sertifications_slide.is-active {
    opacity: 1;
    visibility: visible;
}

.sertifications_card {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 0 0 var(--sert-card-width);
    width: var(--sert-card-width);
}

.sertifications_card-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 427 / 340;
    border-radius: 20px;
    object-fit: cover;
}

.sertifications_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: var(--color-ink);
}

.sertifications_pagination {
    display: flex;
    align-items: center;
    gap: 21px;
}

.sertifications_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(7, 25, 46, 0.5);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.sertifications_arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.sertifications_arrow.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.sertifications_arrow-icon {
    display: block;
}

.sertifications_pagination-count {
    display: flex;
    width: 103.11px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: var(--font-main);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.sertifications_pagination-current {
    font-family: var(--font-display);
}

.sertifications_pagination-total {
    font-family: var(--font-display);
    opacity: 0.5;
}

.sertifications_team {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
}

.sertifications_team-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.sertifications_team-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.sertifications_team-card:nth-child(n + 26) {
    display: none;
}

.sertifications_team-grid.is-expanded .sertifications_team-card {
    display: flex;
}

.sertifications_team-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.sertifications_team-badge {
    display: block;
    height: 107px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.sertifications_team-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.sertifications_team-name {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    color: rgba(7, 25, 46, 0.8);
}

.sertifications_team-count {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    color: rgba(7, 25, 46, 0.8);
}

.sertifications_team-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    padding: 16px 48px;
    border: none;
    border-radius: 50px;
    background: var(--color-orange);
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.sertifications_team-more:hover {
    background: var(--color-navy);
}

.sertifications_fade {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    margin-top: 80px;
}

.sertifications_fade-bar {
    display: block;
    height: 40.83px;
    background: var(--color-bg);
    transform-origin: top;
}

/* ---------- Why continuous ---------- */

.why_continuous {
    padding-top: 80px;
}

.why_continuous_container {
    width: 1440px;
    margin: 0 auto;
    padding: 80px 40px;
    display: flex;
    flex-direction: column;
    gap: 60px;
    background: var(--color-bg);
    background-repeat: 40px;
    border-radius: 40px;
}

.why_continuous_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.why_continuous_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.why_continuous_intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.why_continuous_title {
    margin: 0;
    max-width: 986px;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    text-align: center;
    color: var(--color-ink);
}

.why_continuous_desc {
    margin: 0;
    max-width: 872px;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    color: rgba(7, 25, 46, 0.8);
}

.why_continuous_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.why_continuous_card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.why_continuous_card--quarterly,
.why_continuous_card--recertification {
    flex-direction: row;
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(254, 94, 50, 0.1));
}

.why_continuous_card--integration {
    background: linear-gradient(180deg, #ffffff, var(--color-card-bg));
}

.why_continuous_card--scale {
    background: linear-gradient(180deg, rgba(18, 38, 101, 0), rgba(18, 38, 101, 0.1));
}

.why_continuous_card-media {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    object-fit: cover;
    display: block;
}

.why_continuous_card--quarterly .why_continuous_card-media,
.why_continuous_card--recertification .why_continuous_card-media {
    flex: 1 1 0;
    aspect-ratio: 295 / 392;
}

.why_continuous_card--integration .why_continuous_card-media,
.why_continuous_card--scale .why_continuous_card-media {
    aspect-ratio: 610 / 219;
}

.why_continuous_card-body {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.why_continuous_card-row {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.why_continuous_card-icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    display: block;
}

.why_continuous_card-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.why_continuous_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink);
}

.why_continuous_card-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Model ---------- */

.model {
    padding-top: 130px;
    background: #ffffff;
}

.model_container {
    position: relative;
    padding: 400px 40px 80px;
    border-radius: 40px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 60px;
    background: var(--color-bg);
}

.model_visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    -webkit-mask-image:
        linear-gradient(to bottom, transparent 0%, #000 3.57%),
        linear-gradient(to bottom, #000 30.45%, transparent 48.4%),
        linear-gradient(to right, transparent 5.31%, #000 19.69%),
        linear-gradient(to right, #000 75.14%, transparent 90.38%);
    -webkit-mask-composite: source-in, source-in, source-in;
    mask-image:
        linear-gradient(to bottom, transparent 0%, #000 3.57%),
        linear-gradient(to bottom, #000 30.45%, transparent 48.4%),
        linear-gradient(to right, transparent 5.31%, #000 19.69%),
        linear-gradient(to right, #000 75.14%, transparent 90.38%);
    mask-composite: intersect, intersect, intersect;
}

.model_visual-img {
    flex-shrink: 0;
    width: 1283px;
    height: auto;
    margin-top: -77px;
}

.model_intro {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.model_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.model_intro-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.model_title {
    margin: 0;
    max-width: 986px;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    text-align: center;
    color: var(--color-ink);
}

.model_desc {
    margin: 0;
    max-width: 872px;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    color: rgba(7, 25, 46, 0.8);
}

.model_grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.model_row {
    display: grid;
}

.model_row--three {
    grid-template-columns: repeat(3, 1fr);
}

.model_row--two {
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(7, 25, 46, 0.2);
}

.model_row--three .model_item:not(:last-child) {
    border-right: 1px solid rgba(7, 25, 46, 0.2);
}

.model_row--two .model_item:first-child {
    border-right: 1px solid rgba(7, 25, 46, 0.2);
}

.model_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 30px 20px;
    text-align: center;
}

.model_item-icon {
    display: block;
    width: 80px;
    height: 80px;
}

.model_item-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.model_item-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 26px;
    line-height: 1;
    color: var(--color-ink);
}

.model_item-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Lifetime ---------- */

.lifetime {
    padding-top: 130px;
    background: #ffffff;
}

.lifetime_grid {
    display: flex;
    gap: 20px;
}

.lifetime_card {
    flex: 1 1 0;
    min-width: 0;
    padding: 40px;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
}

.lifetime_card--pillars {
    gap: 60px;
    background:
        linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
        url("../images/fame/lifetime-card-bg.jpg") center / cover no-repeat;
}

.lifetime_pillars-head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lifetime_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.lifetime_pillars-intro {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lifetime_pillars-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.lifetime_pillars-desc {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.lifetime_pillars-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lifetime_pillar {
    display: flex;
    gap: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(7, 25, 46, 0.2);
}

.lifetime_pillar:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.lifetime_pillar-index {
    flex-shrink: 0;
    width: 46px;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 32px;
    line-height: 1;
    color: var(--color-orange);
}

.lifetime_pillar-body {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lifetime_pillar-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: var(--color-ink);
}

.lifetime_pillar-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.lifetime_card--warranty {
    gap: 30px;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    background: url("../images/fame/lifetime-warranty-bg.jpg") center / cover no-repeat;
}

.lifetime_warranty-title {
    margin: 0;
    max-width: 630px;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: #ffffff;
}

.lifetime_warranty-visual {
    width: 411px;
    max-width: 100%;
}

.lifetime_warranty-visual svg {
    display: block;
    width: 100%;
    height: auto;
}

.lifetime_warranty-foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.lifetime_warranty-text {
    margin: 0;
    max-width: 630px;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: #ffffff;
}

.first_link--navy {
    padding: 16px 48px;
    background: var(--color-navy);
    color: #ffffff;
}

.first_link--navy:hover {
    background: #ffffff;
    color: var(--color-navy);
}

.lifetime_warranty-link:hover .first_link-icon {
    transform: rotate(45deg);
}

/* ---------- CEO quote ---------- */

.quote {
    padding-top: 80px;
    background: var(--color-bg);
}

.quote_card {
    display: grid;
    grid-template-columns: 792px 1px 528px;
    grid-template-columns: calc(58.23% - 0.5px) 1px calc(40.29% - 0.5px);
    grid-template-rows: 71.7188% 21.25% 7.0313%;
    width: 1440px;
    max-width: calc(100% - 80px);
    height: 640px;
    margin: 0 auto;
    border-radius: 40px;
    overflow: hidden;
    background: #ffffff;
    padding: 0 40px;
}

.quote_photo {
    position: relative;
    grid-column: 1;
    grid-row: 1 / span 3;
    overflow: hidden;
}

.quote_photo img {
    display: block;
    position: absolute;
    /* left: 48%; */
    left: 50%;
    top: 0;
    /* height: 95%; */
    height: 90%;
    margin-top: 2%;
    border-radius: 20px;
    width: auto;
    /* max-width: none; */
    max-width: 99%;
    transform: translateX(-50%);
    object-fit: cover;
    object-position: center;
}

.quote_photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 68%, #ffffff 97%);
}

.quote_divider {
    grid-column: 2;
    grid-row: 1 / span 3;
    background: rgba(7, 25, 46, 0.2);
    z-index: 1;
}

.quote_content {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: start;
    justify-self: start;
    padding-left: 20px;
    width: 100%;
    height: 504px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 165px;
}

.quote_mark {
    display: block;
    width: 60px;
    height: auto;
}

.quote_mark--close {
    align-self: flex-end;
}

.quote_text {
    margin: 0;
    max-width: 490px;
    font-size: 20px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
    margin: 7px 0 0 19px;
}

.quote_blur {
    grid-column: 1;
    grid-row: 2;
    background: rgba(249, 249, 249, 0.1);
    border-top: 1px solid rgba(7, 25, 46, 0.2);
    border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    -webkit-backdrop-filter: blur(9.3px);
    backdrop-filter: blur(9.3px);
}

.quote_footer {
    grid-column: 3;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 20px 19px;
    background: rgba(249, 249, 249, 0.1);
    border-top: 1px solid rgba(7, 25, 46, 0.2);
    border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    -webkit-backdrop-filter: blur(18.7px);
    backdrop-filter: blur(18.7px);
}

.quote_footer-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 548px;
    max-width: 100%;
}

.quote_name {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.quote_role {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: var(--color-orange);
}

.quote_lines {
    display: flex;
    flex-direction: column;
    margin-top: 80px;
    background: #ffffff;
}

.quote_lines-bar {
    height: 43.75px;
    background: var(--color-bg);
    transform-origin: top;
}

/* ---------- Who We Are ---------- */

.who {
    padding-top: 100px;
}

.who_card {
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 80px;
    padding: 80px 40px;
    border-radius: 40px;
    background: var(--color-bg) url("../images/fly_bg.png") center / cover no-repeat;
}

.who_head {
    align-self: stretch;
    display: flex;
    gap: 40px;
}

.who_head-copy {
    display: flex;
    flex-direction: column;
    gap: 40px;
    /* width: 582px; */
    width: 42.794%;
    flex-shrink: 0;
}

.who_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.who_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.who_head-desc {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

.who_dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.who_text {
    align-self: stretch;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.who_features {
    display: flex;
    gap: 20px;
}

.who_feature {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 349px;
    flex-shrink: 0;
}

.who_feature-icon {
    display: block;
    width: 64px;
    height: 64px;
}

.who_feature-copy {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.who_feature-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.who_divider {
    align-self: stretch;
    width: 1px;
    background: rgba(7, 25, 46, 0.2);
}

/* ---------- ACE ---------- */

.ace {
    margin-top: 100px;
}

.ace_row {
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    gap: 40px;
}

.ace_intro {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 32.43%;
    flex-shrink: 0;
}

.ace_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.ace_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.ace_graphic {
    display: block;
    width: 110%;
    height: auto;
    margin-left: -2%;
    margin-top: -46px;
}

.ace_stats {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 100px;
    padding: 56px 0 145px 39px;
    border-left: 1px solid rgba(7, 25, 46, 0.2);
}

.ace_stats--offset {
    padding: 201px 0 56px 40px;
}

.ace_stat {
    display: flex;
    flex-direction: column;
    gap: 29px;
}

.ace_stat-value {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 26px;
    line-height: 1.2;
    color: var(--color-ink);
}

.ace_stat-accent {
    color: var(--color-orange);
}

.ace_stat-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

/* ---------- Why We Exist ---------- */

.why {
    padding-top: 100px;
}

.why_card {
    width: 1440px;
    max-width: calc(100% - 80px);
    height: 446px;
    margin: 0 auto;
    display: flex;
    gap: 20px;
}

.why_panel {
    /* flex: 1; */
    width: calc(50% - 10px);
    height: 100%;
    border-radius: 40px;
    overflow: hidden;
}

.why_panel--copy {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 40px min(6.85vw, 105px) 40px 40px;
    background: var(--color-bg);
}

.why_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.why_body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.why_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.why_quote {
    color: var(--color-orange);
}

.why_paragraphs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.why_text-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.why_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.why_visual-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- Principles ---------- */

.principles {
    margin-top: 100px;
}

.principles_card {
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    gap: 20px;
    padding: 80px 0 80px 40px;
    border-radius: 40px;
    background: var(--color-bg);
    overflow: hidden;
}

.principles_head {
    width: 428px;
    /* height: 667px; */
    height: min(calc(35.167vw + 127.19px), 667px);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.principles_intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.principles_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.principles_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.principles_pagination {
    display: flex;
    align-items: center;
    gap: 18px;
}

.principles_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: 1px solid var(--color-ink);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    padding: 0;
}

.principles_arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.principles_arrow.is-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.principles_arrow-icon {
    display: block;
}

.principles_pagination-count {
    display: flex;
    min-width: 110px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    font-family: var(--font-main);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.principles_pagination-total {
    opacity: 0.5;
}

.principles_viewport {
    flex: 1;
    overflow: hidden;
    container-type: inline-size;
}

.principles_track {
    display: flex;
    gap: 20px;
    width: fit-content;
    transition: transform 0.4s ease;
}

.principles_slide {
    position: relative;
    width: 446px;
    width: calc((100cqw - 40px) / 2.05);
    /* height: 480px; */
    aspect-ratio: 446 / 480;
    flex-shrink: 0;
    border-radius: 20px;
    overflow: hidden;
}

.principles_slide-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.principles_slide-panel {
    position: absolute;
    left: 22.7%;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    border-radius: 20px 0 0 0;
    background: #ffffff;
}

.principles_slide-panel--muted {
    background: #fff;
}

.principles_slide-index {
    font-family: var(--font-display);
    font-size: 24px;
    line-height: 1;
    color: var(--color-orange);
}

.principles_slide-text {
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    min-height: 2.4em;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Team ---------- */

.team {
    margin-top: 100px;
}

.team_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    height: 605px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "left right";
    border-radius: 40px;
    overflow: hidden;
}

.team_panel {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 80px 40px;
    background-size: cover;
    background-position: center;
}

.team_panel--left {
    grid-area: left;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    background-image: url("../images/about/team-bg-left.png");
}

.team_panel--right {
    grid-area: right;
    background-image: url("../images/about/team-bg-right.png");
}

.team_text {
    position: relative;
    z-index: 3;
    width: 362px;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: #ffffff;
}
.team_text_bottom {
    width: 359px;
}

.team_divider {
    width: 1px;
    height: 195px;
    background: rgba(255, 255, 255, 0.5);
}

.team_cta {
    grid-area: right;
    justify-self: end;
    align-self: end;
    margin: 0 40px 80px 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 47px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(100px);
    -webkit-backdrop-filter: blur(100px);
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--color-navy);
    transition: background-color 0.2s ease;
}

.team_cta:hover {
    background: var(--color-navy);
    color: #ffffff;
}

.team_cta-icon {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.team_cta:hover .team_cta-icon {
    transform: rotate(45deg);
}

.team_glow {
    position: absolute;
    top: 288px;
    left: 727px;
    z-index: 2;
    width: 710px;
    height: 400px;
    transform: translate(-50%, -50%) rotate(89deg);
    background: var(--color-orange);
    filter: blur(140px);
    opacity: 0.5;
    pointer-events: none;
}

.team_title {
    position: absolute;
    top: 206px;
    left: 49.2%;
    z-index: 4;
    transform: translateX(-50%);
    width: 708px;
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 64px;
    line-height: 1;
    text-align: center;
    color: #ffffff;
}

.team_title::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 82px;
    left: 373px;
    width: 300px;
    height: 594px;
    transform: translate(-50%, -50%) rotate(57deg);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    pointer-events: none;
}

/* ---------- How We Work with Clients ---------- */

.how {
    margin-top: 100px;
}

.how_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    padding: 40px;
    border-radius: 40px;
    gap: 40px;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(rgba(249, 249, 249, 0.7), rgba(249, 249, 249, 0.7)), url("../images/about/how-bg-texture.png") center / cover no-repeat;
}

.how_visual {
    position: relative;
    z-index: 1;
    width: min(calc(45.59% - 20px), 600px);
    height: 667px;
    display: flex;
    align-items: center;
}

.how_diagram {
    position: relative;
    width: 100%;
    max-width: 600px;
    aspect-ratio: 600 / 481;
}

.how_circle {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(9.8px);
    backdrop-filter: blur(9.8px);
}

.how_circle--share {
    width: 65.3333%;
    height: 81.4969%;
    left: 0;
    top: 18.5031%;
    gap: 20px;
    background: linear-gradient(180deg, rgba(254, 94, 50, 0.02) 0%, rgba(254, 94, 50, 0.15) 100%);
}

.how_circle--document {
    width: 42.1667%;
    height: 52.5988%;
    left: 45.1667%;
    top: 2.4948%;
    gap: 13px;
    backdrop-filter: blur(6.34px);
    -webkit-backdrop-filter: blur(6.34px);
    background: linear-gradient(180deg, rgba(18, 38, 101, 0.02) 0%, rgba(18, 38, 101, 0.15) 100%);
    z-index: 2;
}

.how_circle--train {
    width: 42.1667%;
    height: 52.5988%;
    left: 57.5%;
    top: 48.025%;
    gap: 13px;
    backdrop-filter: blur(6.33px);
    -webkit-backdrop-filter: blur(6.33px);
    background: linear-gradient(180deg, rgba(232, 231, 230, 0.1) 0%, rgba(232, 231, 230, 1) 100%);
    z-index: 1;
}

.how_circle-icon {
    display: block;
    flex-shrink: 0;
}

.how_circle-label {
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.how_content {
    position: relative;
    z-index: 1;
    width: min(calc(54.41% - 20px), 720px);
    height: 667px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px;
    border-radius: 40px;
    background: #ffffff;
}

.how_header {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-right: 10px;
}

.how_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-orange);
}

.how_intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.how_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.how_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.how_goal {
    display: flex;
    flex-direction: column;
    gap: 19px;
    padding: 20px;
    border-radius: 20px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: linear-gradient(180deg, rgba(18, 38, 101, 0) 0%, rgba(18, 38, 101, 0.15) 100%);
}

.how_goal-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 14px;
    border: 1px solid var(--color-navy);
    border-radius: 50px;
}

.how_goal-badge-text {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-navy);
}

.how_goal-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.how_goal-text p {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Join ---------- */

.join {
    background: var(--color-bg);
    padding-top: 80px;
    width: 100%;
}

.join_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    background: #ffffff;
    padding-bottom: 13px;
    border-radius: 40px;
    overflow: hidden;
}

.join_divider {
    width: 1px;
    background: rgba(7, 25, 46, 0.15);
    margin-bottom: -13px;
}

.join_head-divider {
    position: absolute;
    top: 198px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(7, 25, 46, 0.15);
}

.join_diagonal-cell {
    grid-row: 2;
    grid-column: 1;
    margin: 0 -21px 0 -40px;
}

.join_diagonal {
    display: block;
    width: 100%;
    height: 103%;
}

.join_head-title {
    margin: 0 0 100px;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -1.32px;
    color: var(--color-ink);
}

.join_head-sub {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 150px;
}

.join_head-text {
    margin: 0;
    width: 375px;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.join_dot {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    margin: 12px 1px 0 0;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.join_body {
    position: relative;
    display: grid;
    grid-template-columns: 45% 1px 55%;
    column-gap: 0;
}

.join_intro {
    padding: 60px 40px 0;
}

.join_intro-text {
    margin: 0;
    max-width: 365px;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.join_intro-image {
    display: block;
    width: 94%;
    height: auto;
    margin: 45px 0 0 28px;
}

.join_cards-wrap {
    padding: 60px 40px 0 39px;
}

.join_cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
    row-gap: 28px;
}

.join_cards::before {
    content: "";
    grid-row: 2;
    grid-column: 1 / -1;
    align-self: start;
    height: 1px;
    margin:  0 -40px;
    background: rgba(7, 25, 46, 0.15);
}

.join_cards > .join_card-item:nth-child(3) {
    grid-row: 2;
    grid-column: 2;
    margin-top: 31px;
    margin-bottom: 17px;
}

.join_card-item {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.join_card-top {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.join_card-group {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.join_card-number {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-orange);
}

.join_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.join_card-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.join_result {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.join_result-head {
    display: flex;
    align-items: center;
    gap: 2px;
    color: var(--color-orange);
}

.join_result-icon {
    display: block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.join_result-label {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-orange);
}

.join_result-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.join_lines {
    display: flex;
    background: #ffffff;
    flex-direction: column;
    margin-top: 80px;
}

.join_lines-bar {
    height: 49px;
    background: var(--color-bg);
    transform-origin: top;
}

/* ---------- AceTeam ---------- */

.aceteam {
    --aceteam-ring: #192c71;
    --aceteam-scale: 1;
    padding-top: 99px;
    overflow: hidden;
}

.aceteam_container {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 40px;
}

.aceteam_content {
    display: flex;
    flex-direction: column;
    gap: 133px;
    /* width: 711px; */
    width: 49.375%;
    flex-shrink: 0;
    margin-top: min(145px, 9.45vw);
}

.aceteam_intro {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.aceteam_head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.aceteam_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.aceteam_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.aceteam_label {
    font-size: 16px;
    line-height: 1;
    color: var(--color-navy);
}

.aceteam_features {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.aceteam_slider {
    overflow: hidden;
}

.aceteam_cards {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform 0.4s ease;
}

.aceteam_card {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 0 0 100%;
    min-width: 0;
}

.aceteam_card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
}

.aceteam_card-icon svg {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.aceteam_card-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 297px;
}

.aceteam_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.aceteam_card-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.aceteam_pagination {
    display: flex;
    align-items: center;
    gap: 16px;
}

.aceteam_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: 1px solid var(--color-ink);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    padding: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.aceteam_arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.aceteam_arrow.is-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.aceteam_arrow-icon {
    display: block;
}

.aceteam_pagination-count {
    display: flex;
    min-width: 110px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    font-family: var(--font-main);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.aceteam_pagination-total {
    opacity: 0.5;
}

.aceteam_visual-wrap {
    position: relative;
    flex-shrink: 0;
    width: calc(625px * var(--aceteam-scale, 1));
    height: calc(805px * var(--aceteam-scale, 1));
}

.aceteam_visual {
    position: absolute;
    top: 0;
    left: 0;
    width: 625px;
    height: 805px;
    transform: scale(var(--aceteam-scale, 1));
    transform-origin: top left;
}

.aceteam_wave {
    display: none;
}

.aceteam_ring {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(400px * var(--aceteam-scale, 1));
    height: calc(801px * var(--aceteam-scale, 1));
    box-sizing: border-box;
    border-top: calc(2.24px * var(--aceteam-scale, 1)) solid var(--aceteam-ring);
    border-left: calc(2.24px * var(--aceteam-scale, 1)) solid var(--aceteam-ring);
    border-bottom: calc(2.24px * var(--aceteam-scale, 1)) solid var(--aceteam-ring);
    border-right: none;
    border-radius: calc(400px * var(--aceteam-scale, 1)) 0 0 calc(400px * var(--aceteam-scale, 1));
}

.aceteam_dot {
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--aceteam-ring);
}

.aceteam_dot--top {
    left: 570px;
    top: -5px;
}

.aceteam_dot--bottom {
    left: 570px;
    top: 790px;
}

.aceteam_photo {
    position: absolute;
    display: block;
    overflow: hidden;
    border-radius: 50%;
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.aceteam_photo-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aceteam_photo::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--aceteam-ring);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.aceteam_photo--dot-cover::after {
    opacity: 1;
}

.aceteam_photo--notransition,
.aceteam_photo--notransition::after {
    transition: none !important;
}

.aceteam_photo--main {
    left: 0;
    top: 175px;
    width: 450px;
    height: 450px;
    z-index: 3;
}

.aceteam_photo--avatar-top {
    left: 343px;
    top: 32px;
    width: 90px;
    height: 90px;
    z-index: 2;
}

.aceteam_photo--avatar-bottom {
    left: 343px;
    top: 677px;
    width: 90px;
    height: 90px;
    z-index: 2;
}

.aceteam_photo--ghost {
    z-index: 1;
    pointer-events: none;
}

/* ---------- Expertise ---------- */

.expertise {
    padding-top: 130px;
}

.expertise_container {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
}

.expertise_intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 148px;
    width: 427px;
    flex-shrink: 0;
}

.expertise_intro-head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.expertise_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.expertise_text {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.expertise_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 16px 82px;
    border-radius: 50px;
    background: var(--color-orange);
    color: #fffdf9;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.expertise_button:hover {
    background: var(--color-navy);
}

.expertise_pagination {
    display: flex;
    align-items: center;
    gap: 19px;
}

.expertise_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: 1px solid var(--color-ink);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    padding: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.expertise_arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.expertise_arrow.is-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.expertise_arrow-icon {
    display: block;
}

.expertise_pagination-count {
    display: flex;
    min-width: 117.33px;
    justify-content: center;
    align-items: center;
    gap: 7px;
    font-family: var(--font-display);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.expertise_pagination-total {
    opacity: 0.5;
}

.expertise_slider {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.expertise_cards {
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform 0.4s ease;
}

.expertise_card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 0 0 calc(50% - 10px);
}

.expertise_card-image {
    display: block;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 486.5 / 387.4;
}

.expertise_card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expertise_card-caption {
    gap: 10px;
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

/* ---------- Fly ---------- */

.fly {
    padding-top: 100px;
    background: #ffffff;
}

.fly_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 40px;
    padding: 80px 40px;
    background: url("../images/fly_bg.png") no-repeat center/cover;
    display: flex;
    flex-direction: column;
}

.fly_top,
.fly_intro,
.fly_features {
    position: relative;
    z-index: 1;
}

.fly_top {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 130px;
}

.fly_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 44px;
    color: var(--color-ink);
}

.fly_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    padding: 17px 55px;
    border-radius: 50px;
    background: var(--color-orange);
    color: #ffffff;
    transition: background-color 0.2s ease;
}

.fly_button:hover {
    background: var(--color-navy);
}

.fly_button-text {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
}

.fly_button-icon {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}

.fly_button:hover .fly_button-icon {
    transform: rotate(45deg);
}

.fly_intro {
    display: flex;
    justify-content: flex-end;
}

.fly_intro-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 689px;
    max-width: 100%;
    margin-bottom: 123px;
}

.fly_intro-text p {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.19;
    color: rgba(7, 25, 46, 0.8);
}

.fly_features {
    display: flex;
    border-top: 1px solid rgba(7, 25, 46, 0.2);
    gap: 19.5px;
}

.fly_feature {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 19px;
    border-right: 1px solid rgba(7, 25, 46, 0.2);
}

.fly_feature:last-child {
    border-right: none;
    padding-right: 0;
}

.fly_feature-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 32px;
    line-height: 32px;
    color: var(--color-ink);
    overflow: hidden;
    padding-right: 5px;
    word-break: break-word;
}

.fly_feature-body {
    display: flex;
    flex-direction: column;
    gap: 19px;
    padding-right: 19px;
}

.fly_feature-lead,
.fly_feature-desc {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.1;
    color: var(--color-ink);
}

.fly_feature-desc {
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Trust ---------- */

.trust {
    padding-top: 100px;
}

.trust_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 45px;
}

.trust_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
    text-align: center;
}

.trust_marquee {
    width: 100%;
    overflow: hidden;
}

.trust_track {
    display: flex;
    width: fit-content;
    margin: 0 auto;
}

.trust_logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
    flex-shrink: 0;
}

.trust_logos + .trust_logos {
    display: none;
}

.trust_logo img {
    display: block;
}

.trust_marquee.is-marquee {
    mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

.trust_marquee.is-marquee .trust_track {
    width: max-content;
    margin: 0;
    animation: trust-marquee var(--trust-marquee-duration, 30s) linear infinite;
}

.trust_marquee.is-marquee:hover .trust_track {
    animation-play-state: paused;
}

.trust_marquee.is-marquee .trust_logos {
    justify-content: flex-start;
}

.trust_marquee.is-marquee .trust_logos + .trust_logos {
    display: flex;
}

@keyframes trust-marquee {
    to {
        transform: translateX(-50%);
    }
}

/* ---------- Warranty ---------- */

.warranty {
    padding-top: 100px;
}

.warranty_card {
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    border-radius: 40px;
    padding: 80px;
    background: var(--color-bg);
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.warranty_head {
    display: flex;
    flex-direction: column;
    gap: 54px;
}

.warranty_meta {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.warranty_meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.warranty_eyebrow {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: var(--color-orange);
}

.warranty_nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.warranty_nav-row {
    display: contents;
}

.warranty_nav-item {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    color: var(--color-ink);
    white-space: nowrap;
}
.warranty_nav-item:first-child {
    margin-right: -1.4px;
}

.warranty_nav-sep {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: var(--color-ink);
}

.warranty_nav-sep--stack {
    display: none;
}

.warranty_divider {
    height: 1px;
    background: rgba(7, 25, 46, 0.2);
}

.warranty_intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.warranty_title {
    margin: 0;
    width: 630px;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.warranty_desc {
    margin: 0;
    width: 630px;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.warranty_grid {
    display: flex;
    gap: 20px;
}

.warranty_item {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.warranty_index {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-orange);
}

.warranty_icon {
    display: block;
    width: 100px;
    height: 100px;
}

.warranty_body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.warranty_item-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink);
}

.warranty_item-desc {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Training ---------- */

.training {
    padding-top: 100px;
}

.training_container {
    display: flex;
    flex-direction: column;
    gap: 44px;
}

.training_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.training_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
    text-align: center;
}

.training_text {
    margin: 0;
    width: 746px;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    text-align: center;
}

.training_grid {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    /* gap: 20px; */
}

.training_col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    width: 32.407%;
}

.training_col--uneven .training_card:first-child {
    flex-grow: 224;
}

.training_col--uneven .training_card:last-child {
    flex-grow: 234;
}

.training_card {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px 24px 20px 20px;
    border-radius: 20px;
}

.training_card--light {
    background: linear-gradient(180deg, #ffffff 0%, #f7f6f5 100%);
}

.training_card--accent {
    background: linear-gradient(180deg, #ffffff 0%, rgba(254, 94, 50, 0.1) 100%);
}

.training_card--accent-strong {
    gap: 31px;
    padding-bottom: 25px;
    background: linear-gradient(180deg, #ffffff 0%, rgba(254, 94, 50, 0.15) 100%);
}
.training_card_continuous {
    padding-bottom: 17px;
}
.training_card--visual {
    width: 32.407%;
    position: relative;
    overflow: hidden;
    min-height: 478px;
    gap: 16px;
    background:
        radial-gradient(42.61% 42.61% at 50% 42.61%, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%),
        linear-gradient(180deg, rgba(18, 38, 101, 0) 0%, rgba(18, 38, 101, 0.1) 100%);
}

.training_card--visual .training_card-body {
    margin-top: auto;
}

.training_visual {
    display: block;
    align-self: center;
    width: 269px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 269 / 222;
    margin-left: 9px;
}

.training_badge {
    position: relative;
    align-self: flex-start;
    padding: 14px;
    border: 1px solid currentColor;
    border-radius: 50px;
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
}

.training_badge--accent {
    color: var(--color-orange);
}

.training_badge--muted {
    color: #969696;
}

.training_badge--ink {
    color: var(--color-ink);
}

.training_card-body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.training_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink);
    overflow: hidden;
    text-overflow: ellipsis;
}

.training_card-title--narrow {
    width: 271px;
    max-width: 100%;
}

.training_card-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}
.training_card--light .training_card-text {
    min-height: 80px;
}

.training_card-mark {
    display: block;
    height: 34px;
    padding-top: 1px;
    color: var(--color-ink);
}

.training_card-mark svg {
    display: block;
}

.clients {
    padding-top: 100px;
}

.clients_card {
    display: flex;
    gap: 105px;
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    padding: 80px 40px;
    border-radius: 40px;
    background: url("../images/clients/clients-bg.png") no-repeat center/cover;
}

.clients_intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-shrink: 0;
    width: 304px;
}

.clients_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.clients_subtitle {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.clients_slider {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 29px;
    flex: 1 1 auto;
    min-width: 0;
}

.clients_slides {
    display: grid;
    width: 100%;
}

.clients_slide {
    grid-area: 1 / 1;
    display: flex;
    align-items: stretch;
    gap: 40px;
    opacity: 0;
    transform: translateX(0);
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1), transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.clients_slide.no-anim {
    transition: none;
}

.clients_slide.is-active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    z-index: 2;
}

.clients_slide.is-pos-right {
    opacity: 0;
    transform: translateX(36px);
}

.clients_slide.is-pos-left {
    opacity: 0;
    transform: translateX(-36px);
}

.clients_slide.is-leaving-next {
    opacity: 0;
    transform: translateX(-36px);
    z-index: 1;
}

.clients_slide.is-leaving-prev {
    opacity: 0;
    transform: translateX(36px);
    z-index: 1;
}
.clients_person {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-shrink: 0;
    width: 206px;
}

.clients_photo {
    display: block;
    width: 206px;
    height: 206px;
    border-radius: 15px;
    object-fit: cover;
}

.clients_person-meta {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.clients_name {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink);
}

.clients_role {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-orange);
}

.clients_divider {
    flex-shrink: 0;
    width: 1px;
    background: rgba(7, 25, 46, 0.2);
    margin-left: -1px;
}

.clients_quote {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1 1 auto;
    min-width: 0;
}

.clients_rating {
    display: flex;
}

.clients_star {
    display: block;
    flex-shrink: 0;
    color: #ffdf51;
}

.clients_star--empty {
    opacity: 0.2;
}

.clients_text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 26px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.clients_pagination {
    display: flex;
    align-items: center;
    gap: 21px;
}

.clients_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid var(--color-ink);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.clients_arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.clients_arrow.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.clients_arrow-icon {
    display: block;
}

.clients_pagination-count {
    display: flex;
    min-width: 103.11px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: var(--font-main);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.clients_pagination-total {
    opacity: 0.5;
}

/* ---------- Community ---------- */

.community {
    padding-top: 100px;
}

.community_container {
    display: flex;
    gap: 20px;
}

.community_intro {
    display: flex;
    flex-direction: column;
    gap: 40px;
    flex-shrink: 0;
    /* width: 710px; */
    width: calc(50% - 10px);
}

.community_eyebrow {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: var(--color-orange);
}

.community_head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.community_title {
    margin: 0;
    width: 663px;
    max-width: 100%;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.community_text {
    margin: 0;
    width: 586px;
    max-width: 100%;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.community_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    column-gap: 20px;
    row-gap: 39px;
    flex-shrink: 0;
    width: calc(50% - 10px);
    margin-top: 56px;
}

.community_item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.community_icon {
    display: block;
    width: 80px;
    height: 80px;
}

.community_item-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.community_item-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 26px;
    line-height: 1;
    color: var(--color-ink);
}

.community_item-desc {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.community_line {
    display: block;
    height: 1px;
    background: rgba(7, 25, 46, 0.2);
}

.add_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    height: 658px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 40px;
    background: #ffffff;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.add_bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: inherit;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.add_blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(200px);
    transform: translateX(-50%);
}

.add_blob--1 {
    left: calc(50% - 197.5px);
    top: -32px;
    width: 1073px;
    height: 927px;
    background: var(--color-orange);
    opacity: 0.6;
}

.add_blob--2 {
    left: calc(50% + 409px);
    top: -84px;
    width: 936px;
    height: 936px;
    background: var(--color-orange);
    opacity: 0.5;
}

.add_blob--3 {
    left: calc(50% - 587.5px);
    top: 153px;
    width: 641px;
    height: 559px;
    background: #c93b14;
    opacity: 0.7;
}

.add_ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.7);
    transform: translateX(-50%);
}

.add_ring--1 {
    left: calc(50% - 451px);
    top: -122px;
    width: 902px;
    height: 902px;
}

.add_ring--2 {
    left: calc(50% + 451px);
    top: -122px;
    width: 902px;
    height: 902px;
}

.add_content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 99px;
    padding: 161px 158px 40px 67px;
}

.add_top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.add_heading {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: capitalize;
    line-height: 0.9;
    color: #ffffff;
}

.add_text {
    width: 432px;
    max-width: calc(40% - 20px);
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 24px;
    line-height: 1.2;
    color: #ffffff;
}

.add_actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.add_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    white-space: nowrap;
    padding: 16px 48px;
    border-radius: 50px;
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.add_btn--primary {
    background: var(--color-navy);
    color: #ffffff;
}

.add_btn--primary:hover {
    background: var(--color-orange);
}

.add_btn--secondary {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(100px);
    color: var(--color-navy);
    padding: 16px 22px;
}

.add_btn--secondary:hover {
    color: #ffffff;
    background: var(--color-navy);
}

.add_btn-icon {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.add_btn--primary:hover .add_btn-icon {
    transform: rotate(45deg);
}

/* ---------- Add CID ---------- */

.addcid {
    padding-top: 99px;
}

.addcid_heading {
    width: 672px;
    max-width: calc(60% - 20px);
    font-size: 96px;
}

/* ---------- Add Team ---------- */

.addteam {
    padding-top: 99px;
}

.addteam_heading {
    width: 643px;
    max-width: calc(60% - 20px);
    font-size: 64px;
}

/* ---------- Add Project ---------- */

.addproject {
    padding-top: 130px;
    background: #ffffff;
}

.addproject_label {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: #ffffff;
}

.addproject .add_content {
    padding: 127px 158px 40px 50px;
    gap: 41px;
}

.addproject .add_top {
    align-items: flex-start;
}

.addproject_heading {
    width: 643px;
    max-width: calc(60% - 20px);
    font-size: 64px;
}

.addproject .add_ring {
    transform: translate(-50%, -50%);
}

.addproject .add_ring--1,
.addproject .add_ring--2 {
    top: 50%;
}

.addproject .add_actions {
    margin-top: 150px;
}

.addproject .add_btn--primary:hover .add_btn-icon {
    transform: rotate(45deg);
}

/* ---------- Get Started ---------- */

.getstarted {
    padding-top: 100px;
    background: #ffffff;
}

.getstarted_card {
    position: relative;
    width: 1440px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    border-radius: 40px;
    overflow: hidden;
    background-color: #ffffff;
    background-image:
        radial-gradient(50% 75% at 9% 66%, rgba(201, 59, 20, 0.9) 0%, rgba(201, 59, 20, 0) 100%),
        radial-gradient(55% 90% at 78% 58%, rgba(254, 94, 50, 0.8) 0%, rgba(254, 94, 50, 0) 100%),
        radial-gradient(55% 80% at 36% 66%, rgba(254, 94, 50, 0.85) 0%, rgba(254, 94, 50, 0) 100%);
}

.getstarted_rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.getstarted_ring {
    position: absolute;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

/* Sized via height (stable, content-driven) instead of width (fluid via
   .getstarted_card's max-width: calc(...)), so the rings keep their scale
   instead of shrinking as the card narrows; width follows from aspect-ratio.
   Positioned by center (left = center%, translateX(-50%)) so a fixed-size
   ring stays centered on that point instead of drifting right as the card
   narrows. */
.getstarted_ring--1 {
    left: 49.025%;
    top: -7.9%;
    height: 130.49%;
    transform: translateX(-50%);
}

.getstarted_ring--2 {
    left: 51.945%;
    top: -7.83%;
    height: 130.49%;
    transform: translateX(-50%);
}

.getstarted_ring--3 {
    left: 48.885%;
    top: -19.07%;
    height: 142.05%;
    transform: translateX(-50%);
}

.getstarted_ring--4 {
    left: 51.115%;
    top: -19.07%;
    height: 142.05%;
    transform: translateX(-50%);
}

.getstarted_content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 56px;
    padding: 161px 67px;
    text-align: center;
}

.getstarted_title {
    margin: 0;
    max-width: 900px;
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: capitalize;
    font-size: 96px;
    line-height: 0.9;
    color: #ffffff;
}

.getstarted_actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.getstarted_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    white-space: nowrap;
    padding: 16px 48px;
    border-radius: 50px;
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.getstarted_btn--primary {
    background: var(--color-navy);
    color: #ffffff;
}

.getstarted_btn--primary:hover {
    background: #ffffff;
    color: var(--color-navy);
}

.getstarted_btn--secondary {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(100px);
    -webkit-backdrop-filter: blur(100px);
    color: var(--color-navy);
}

.getstarted_btn--secondary:hover {
    color: rgba(255, 255, 255, 0.9);
    background: var(--color-navy);
}

.getstarted_btn-icon {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.getstarted_btn--primary:hover .getstarted_btn-icon {
    transform: rotate(45deg);
}

/* ---------- Next Steps ---------- */

.next_steps {
    padding-top: 130px;
    background: #ffffff;
}

.next_steps_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.next_steps_card {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.next_steps_card--talk {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(254, 94, 50, 0.1));
}

.next_steps_card--knowledge {
    background: linear-gradient(180deg, #ffffff, var(--color-card-bg));
}

.next_steps_card--download {
    background: linear-gradient(180deg, rgba(18, 38, 101, 0), rgba(18, 38, 101, 0.1));
}

.next_steps_card-icon {
    display: block;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.next_steps_card-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.next_steps_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 26px;
    line-height: 1;
    color: var(--color-ink);
}

.next_steps_card-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Publications ---------- */

.publications {
    padding-top: 100px;
}
.publications_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 45px;
}

.publications_title {
    font-family: var(--font-display);
    font-size: 44px;
    line-height: 1;
    font-weight: 400;
    color: var(--color-ink);
    margin: 0;
    flex-grow: 1;
}

.publications_link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    padding: 15px 47px 16px;
    border-radius: 50px;
    background-color: var(--color-navy);
    color: var(--color-cream);
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.publications_link:hover {
    background-color: var(--color-accent);
}

.publications_link-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.publications_link:hover .publications_link-icon {
    transform: rotate(45deg);
}

.publications_list {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.publications_card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 20px 24px;
    border-radius: 20px;
    background-color: var(--color-card-bg);
    backdrop-filter: blur(10px);
    width: 32.685%;
}

.publications_card-top {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.publications_tag {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    padding: 11px 15px;
    border-radius: 50px;
    border: 1px solid rgba(18, 38, 101, 0.3);
    color: var(--color-navy);
    font-size: 14px;
    line-height: 1;
    margin-bottom: 21px;
}

.publications_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    line-height: 1.1;
    font-weight: 400;
    color: var(--color-ink);
    margin-bottom: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.publications_card-image {
    display: block;
    width: 100%;
    height: 262px;
    object-fit: cover;
    border-radius: 20px;
    margin-top: auto;
}

.publications_card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.publications_meta {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--color-ink);
    font-size: 14px;
}

.publications_meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.publications_meta-divider {
    width: 1px;
    height: 9px;
    background-color: var(--color-ink);
    flex-shrink: 0;
}

.publications_card-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--color-orange);
    color: var(--color-cream);
    transition: background-color 0.2s ease;
}

.publications_card-arrow:hover {
    background-color: var(--color-navy);
}

.publications_card-arrow svg {
    width: 12px;
    height: 12px;
}

/* ---------- Signature ---------- */

.signature {
    padding: 130px 0 30px;
    background: #ffffff;
}

.signature_card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1440px;
    height: clamp(300px, 34.72vw, 500px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 40px;
}

.signature_bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 45% 50%;
}

.signature_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 900px;
    text-align: center;
}

.signature_title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 64px;
    line-height: 1;
    color: var(--color-ink);
}

.signature_title-dot {
    color: var(--color-orange);
}

.signature_text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 24px;
    line-height: 1.2;
    color: var(--color-ink);
    opacity: 0.8;
}

/* ---------- Footer ---------- */

.footer {
    padding: 100px 0 40px;
}

.footer_container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.footer_card {
    padding: 60px 40px 40px;
    border-radius: 40px;
    background: #f7f6f5;
}

.footer_top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.footer_intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    width: 500px;
    max-width: 36.76%;
    min-width: 269px;
    padding-top: 8.5px;
}
.footer_intro-top {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.footer_brand {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--color-ink);
}

.footer_brand-mark {
    display: block;
    width: 62.65px;
    fill: var(--color-ink);
    flex-shrink: 0;
}

.footer_brand-text {
    display: flex;
    flex-direction: column;
}

.footer_brand-title {
    font-size: 21.8px;
    line-height: 1;
    font-weight: 400;
    margin-top: 1px;
}

.footer_brand-slogan {
    font-size: 24.88px;
    line-height: 1;
    font-weight: 400;
}

.footer_desc {
    margin: 0;
    max-width: 500px;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    opacity: 0.8;
}

.footer_cta {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 300;
    font-size: 128px;
    letter-spacing: -0.04em;
    color: var(--color-ink);
}

/* Nav + services + signup */

.footer_groups {
    display: flex;
    gap: 107px;
   width: 774px;
    flex-wrap: wrap;
}

.footer_col {
    display: flex;
    flex-direction: column;
}

.footer_col--explore {
    gap: 144px;
    width: 258px;
}

.footer_col--services {
    gap: 160px;
    width: 409px;
    padding-top: 2px;
}

.footer_col-nav {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

.footer_col-title {
    font-weight: 300;
    font-size: 14px;
    line-height: 1.2;
    color: var(--color-ink);
}

.footer_links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer_links_services {
    gap: 6px;
}

.footer_links a {
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    transition: color 0.2s ease;
}

.footer_links a:hover {
    color: var(--color-orange);
}

/* Contacts */

.footer_contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer_contact {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    transition: color 0.2s ease;

}
.footer_contact_mail {
    text-decoration: underline;
}

.footer_contact:hover {
    color: var(--color-orange);
}

.footer_contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ffffff;
}

.footer_contact-icon svg {
    height: 19px;
}

/* Signup */

.footer_signup {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer_signup-note {
    margin: 0;
    max-width: 320px;
    font-size: 18px;
    line-height: 1.2;
    color: var(--color-ink);
}

.footer_form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer_input {
    display: block;
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 36px;
    background: #ffffff;
    font-family: var(--font-main);
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

.footer_input::placeholder {
    color: var(--color-ink);
    opacity: 0.6;
}

.footer_input.is-invalid {
    outline: 2px solid var(--color-orange);
    outline-offset: 2px;
}

.footer_submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 48px;
    border: none;
    border-radius: 50px;
    background: var(--color-orange);
    color: #ffffff;
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.footer_submit:hover {
    background: var(--color-navy);
}

.footer_submit-icon {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}

.footer_submit:hover .footer_submit-icon {
    transform: rotate(45deg);
}

.footer_form-message {
    margin: -8px 0 0;
    font-size: 14px;
    line-height: 1.2;
    color: var(--color-ink);
    opacity: 0.8;
}

.footer_form-message.is-error {
    color: var(--color-orange);
    opacity: 1;
}

.footer_signup .wpcf7-form,
.blog_cta-form .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer_signup .wpcf7-form {
    position: relative;
}

.footer_signup .wpcf7-form p,
.blog_cta-form .wpcf7-form p {
    margin: 0;
}

.footer_signup .wpcf7-form-control-wrap,
.blog_cta-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.footer_signup input.footer_submit,
.blog_cta-form input.footer_submit {
    position: relative;
    padding-right: 74px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M0.695312 16.4093L16.6953 1M16.6953 17V1L1.2364 1' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 48px center;
    background-size: 16px 16px;
    transition: background-color 0.2s ease, background-position 0.2s ease;
}

.footer_signup input.footer_submit:hover,
.blog_cta-form input.footer_submit:hover {
    background-position: right 44px center;
}

.footer_signup .screen-reader-response,
.blog_cta-form .screen-reader-response {
    display: none;
}

.footer_signup .wpcf7-spinner,
.blog_cta-form .wpcf7-spinner {
    display: none;
}

.footer_signup .wpcf7-response-output,
.blog_cta-form .wpcf7-response-output {
    margin: -8px 0 0;
    padding: 0;
    border: none;
    font-size: 14px;
    line-height: 1.2;
    color: var(--color-ink);
    opacity: 0.8;
}

.footer_signup .wpcf7-response-output {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    margin: 0 0 8px;
    padding: 10px 14px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 20px 40px rgba(7, 25, 46, 0.14);
}

.footer_signup .wpcf7-response-output.is-dismissed {
    opacity: 0;
    visibility: hidden;
}

.footer_signup form.invalid .wpcf7-response-output,
.footer_signup form.failed .wpcf7-response-output,
.footer_signup form.aborted .wpcf7-response-output,
.blog_cta-form form.invalid .wpcf7-response-output,
.blog_cta-form form.failed .wpcf7-response-output,
.blog_cta-form form.aborted .wpcf7-response-output {
    color: var(--color-orange);
    opacity: 1;
}

/* Bottom bar */

.footer_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding-right: 1px;
}

.footer_copy {
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

.footer_legal {
    display: flex;
    align-items: center;
    gap: 20px;
}

.footer_legal a {
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    transition: color 0.2s ease;
}

.footer_legal a:hover {
    color: var(--color-orange);
}

/* ---------- Use Cases ---------- */

.cases {
    padding-top: 130px;
}

.cases_title {
    margin: 0 0 60px;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    color: var(--color-ink);
}

.cases_list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.cases_item {
    display: grid;
    grid-template-columns: 650fr 670fr;
    gap: 40px;
    padding: 40px;
    background: var(--color-bg);
    border-radius: 40px;
}

.cases_item--reverse .cases_media {
    order: 2;
}

.cases_item--reverse .cases_content {
    order: 1;
}

.cases_media {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 0;
    border-radius: 40px;
    overflow: hidden;
}

.cases_media-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 650 / 611;
    object-fit: cover;
    border-radius: 40px;
}

.cases_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 45px;
    min-width: 0;
}

.cases_head {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.cases_index {
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 500;
    color: var(--color-orange);
}

.cases_heading {
    margin: 0;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.cases_body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.cases_blocks {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cases_block {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
}

.cases_pill {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 15px;
    font-family: var(--font-main);
    font-size: 14px;
    font-weight: 500;
    color: #969696;
    border: 1px solid #969696;
    border-radius: 50px;
}

.cases_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.cases_note {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.cases_link {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    padding: 16px 48px;
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    background: var(--color-orange);
    border-radius: 50px;
    transition: background-color 0.2s ease;
}

.cases_link:hover {
    background: var(--color-navy);
}

.cases_link-icon {
    display: block;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.cases_link:hover .cases_link-icon {
    transform: rotate(45deg);
}

/* ---------- 404 ---------- */

.notfound {
    padding-top: 127px;
}

.notfound_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.notfound_visual {
    display: flex;
    width: 1116px;
    max-width: calc(100% - 80px);
    align-items: center;
    justify-content: space-between;
}

.notfound_digit {
    font-family: var(--font-display);
    font-size: 480px;
    font-weight: 500;
    line-height: 0.9;
    letter-spacing: -9.6px;
    color: var(--color-navy);
    padding-right: 21px;
}

.notfound_icon {
    display: block;
    flex-shrink: 0;
    width: 406px;
    height: 462px;
}

.notfound_icon-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin-top: -33px;
    margin-left: -5px;
}

.notfound_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    max-width: 588px;
    margin-top: -15px;
}

.notfound_copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.notfound_title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.notfound_text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.notfound_link {
    width: 283px;
}

.mobile_only {
    display: none;
}

/* ===================================================================
   Enterprise Architecture Services page
   =================================================================== */

/* ---------- Enterprise Architecture Services: Hero ---------- */

.eas_hero {
    position: relative;
    /* height: 800px; */
    padding-top: 6.25vw;
    padding-bottom: 10.49vw;
    background-color: var(--color-bg);
    background-repeat: no-repeat;
    background-position: 0 0, center center, center center, center center;
    background-size: auto, min(100%, 1520px) auto, min(100%, 1520px) auto, min(100%, 1520px) auto;
    background-image:
        linear-gradient(to bottom, transparent 0%, transparent 82.13%, var(--color-bg) 100%),
        linear-gradient(to right, transparent 0%, transparent 85%, var(--color-bg) 100%),
        linear-gradient(to right, var(--color-bg) 0%, var(--color-bg) 38.42%, transparent 52.86%, transparent 100%),
        var(--eas-hero-bg, url("../images/enterprise-architecture/hero-bg.png"));
}

.eas_hero::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: min(100%, 1520px);
    aspect-ratio: 1672 / 941;
    transform: translate(-50%, -50%);
    background: linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
    pointer-events: none;
}

.eas_hero-container {
    position: relative;
    z-index: 1;
    height: 100%;
}

.eas_hero-content {
    display: flex;
    flex-direction: column;
    gap: 60px;
    width: 857px;
    margin-top: 97px;
}

.eas_hero-copy {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.eas_hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.28px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.eas_hero-sub {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.eas_hero-subtitle {
    margin: 0;
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-ink);
}

.eas_hero-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.eas_hero-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.eas_hero-actions .first_link--light {
    width: 283px;
}

/* ---------- Enterprise Architecture - Who Is This Service For ---------- */

.eas_who {
    background: var(--color-bg);
}

.eas_who-card {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 40px;
    overflow: hidden;
}

.eas_who-bg {
    position: absolute;
    top: -60px;
    right: -80px;
    width: 620px;
    height: auto;
    opacity: 0.18;
    pointer-events: none;
    user-select: none;
}

.eas_who-inner {
    position: relative;
    z-index: 1;
    padding: 80px 40px;
}

.eas_who-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 50px;
}

.eas_who-dot {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.eas_who-heading {
    margin: 0;
    width: 454px;
    max-width: 100%;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    text-align: right;
    color: rgba(7, 25, 46, 0.8);
}

.eas_who-heading-sub {
    display: block;
}

.eas_who-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.eas_who-cell {
    padding: 30px;
}

.eas_who-item {
    border: 1px solid rgb(205, 209, 213);
}

/* collapse shared borders between adjacent item cells, like table border-collapse
   (mobile stacks these into one column and resets all of this back to normal, see below) */
.eas_who-grid > :nth-child(2),
.eas_who-grid > :nth-child(3) {
    border-bottom: 0;
}
.eas_who-grid > :nth-child(3) {
    margin-left: -1px;
}

.eas_who-grid > :nth-child(4) {
    margin-top: -1px;
    border-right: 0;
}
.eas_who-grid > :nth-child(5),
.eas_who-grid > :nth-child(6) {
    margin-top: -1px;
    margin-left: -1px;
}
.eas_who-grid > :nth-child(5) {
    margin-left: 0px;
}


.eas_who-cell--label {
    display: flex;
    align-items: flex-start;
    padding: 0;
}

.eas_who-label {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    letter-spacing: -1.32px;
    color: var(--color-ink);
}

.eas_who-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.eas_who-item-top {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.eas_who-item-icon {
    display: block;
    width: 100px;
    aspect-ratio: 1 / 1;
}

.eas_who-item-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-ink);
}

.eas_who-item-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.eas_who-lines {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    margin-top: 80px;
}

.eas_who-lines-bar {
    height: 43.75px;
    background: var(--color-bg);
    transform-origin: top;
}

/* ---------- Enterprise Architecture Services: Business Impact ---------- */

.eas_impact {
    width: 100%;
    padding-top: 100px;
}

.eas_impact-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.eas_impact-intro,
.eas_impact-showcase {
    box-sizing: border-box;
    width: calc(49.31%);
    height: 544px;
    border-radius: 40px;
    padding: 40px;
}

/* ----- Left card: intro ----- */

.eas_impact-intro {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    background-color: var(--color-orange);
    background-image: url("../images/enterprise-architecture/impact-intro-bg.jpg");
    background-size: cover;
    background-position: center;
}

.eas_impact-label {
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
}

.eas_impact-dot {
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.65) 100%);
}

.eas_impact-intro-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.eas_impact-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
}

.eas_impact-text {
    margin: 0;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.8);
}

/* ----- Right card: showcase ----- */

.eas_impact-showcase {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    background: var(--color-bg);
}

.eas_impact-slides {
    display: grid;
    align-items: center;
    justify-content: center;
}

.eas_impact-slide {
    grid-area: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.eas_impact-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.eas_impact-image {
    width: 280px;
    height: 280px;
    border-radius: 15px;
    object-fit: cover;
}

.eas_impact-slide-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.eas_impact-slide-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.eas_impact-slide-text {
    margin: 0;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
    min-height: 38.38px;
}

.eas_impact-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 244px;
}

.eas_impact-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(7, 25, 46, 0.5);
    border-radius: 50%;
    background: transparent;
    color: rgba(7, 25, 46, 0.5);
    cursor: pointer;
    padding: 0;
}

.eas_impact-nav:disabled {
    opacity: 0.35;
    cursor: default;
}

.eas_impact-count {
    display: flex;
    align-items: baseline;
    gap: 5px;
    font-family: var(--font-main);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.eas_impact-count-total {
    color: rgba(7, 25, 46, 0.5);
}

.eas_deliver {
	padding-top: 100px;
}

.eas_deliver-container {
	container-type: inline-size;
}

.eas_deliver-visual {
	position: relative;
	width: 100%;
	height: 51.3889cqw;
}

/* Decorative gradient ring bleeding behind the photo and the card stack */
.eas_deliver-ring {
	position: absolute;
	left: 24.3056cqw;
	top: -0.6944cqw;
	width: 26.3889cqw;
	height: 52.7083cqw;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}

.eas_deliver-photo {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 45.6944cqw;
	height: 45.6944cqw;
	border-radius: 50%;
	background-color: #fff;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.eas_deliver-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.9);
}

.eas_deliver-photo-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3.8194cqw;
	width: 35.625cqw;
	text-align: center;
}

.eas_deliver-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 3.0556cqw;
	line-height: 0.91;
	color: var(--color-ink);
}

.eas_deliver-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.3889cqw;
}

.eas_deliver-subtitle {
	margin: 0;
	max-width: 33.4028cqw;
	font-size: 1.25cqw;
	line-height: 1;
	color: var(--color-ink);
}

.eas_deliver-text {
	margin: 0;
	max-width: 29.8611cqw;
	font-size: 1.1111cqw;
	line-height: 1.2;
	color: rgba(7, 25, 46, 0.8);
}

/* Cascading feature cards, right-aligned, staggered top to bottom */
.eas_deliver-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0.6944cqw;
	width: 68.0556cqw;
	display: flex;
	flex-direction: column;
	gap: 3.4722cqw;
	z-index: 3;
}

.eas_deliver-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2.7778cqw;
	width: 61.25cqw;
	margin-left: auto;
}

.eas_deliver-row:nth-child(2),
.eas_deliver-row:nth-child(4) {
	width: 52.6389cqw;
}

.eas_deliver-row:nth-child(3) {
	width: 50.4167cqw;
}

.eas_deliver-dot {
	flex: none;
	width: 2.2222cqw;
	height: 2.2222cqw;
	border-radius: 50%;
	background: linear-gradient(90deg, rgba(242, 156, 102, 0.25), rgba(254, 94, 50, 0.25));
	display: flex;
	align-items: center;
	justify-content: center;
}

.eas_deliver-dot-core {
	width: 1.5278cqw;
	height: 1.5278cqw;
	border-radius: 50%;
	background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.eas_deliver-card {
	display: flex;
	align-items: center;
	flex: 1;
	gap: 1.3889cqw;
	padding: 0 1.3889cqw;
    height: 7.22cqw;
	border-radius: 1.3889cqw;
	background: linear-gradient(180deg, #fff, var(--color-card-bg));
}
.eas_deliver-cards-less .eas_deliver-card {
    height: 9.44cqw;
}
.eas_deliver-cards-less .eas_deliver-row {
        width: 60cqw;
}
.eas_deliver-cards-less .eas_deliver-row:nth-child(2) {
    width: 51.6389cqw;
}
.eas_deliver-cards-less .eas_deliver-row:nth-child(3) {
    width: 51.2cqw;
}
.eas_deliver-cards-less .eas_deliver-row:nth-child(4) {
    width: 58cqw;
}

.eas_deliver-card-icon {
	flex: none;
	width: 4.4444cqw;
	height: 4.4444cqw;
	display: flex;
	align-items: center;
	justify-content: center;
}

.eas_deliver-card-icon svg,
.eas_deliver-card-icon img {
	width: 4.4444cqw;
	height: 4.4444cqw;
}

.eas_deliver-card-copy {
	display: flex;
	flex-direction: column;
	gap: 1.0417cqw;
}

.eas_deliver-card-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 1.6667cqw;
	line-height: 1;
	color: var(--color-ink);
	white-space: nowrap;
}

.eas_deliver-card-text {
	margin: 0;
	font-size: 1.1111cqw;
	line-height: 1.2;
	color: rgba(7, 25, 46, 0.8);
}

.eas_difference {
	padding-top: 100px;
}

.eas_difference-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.eas_difference-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}

.eas_difference-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 44px;
	line-height: 1;
	color: var(--color-ink);
}

.eas_difference-intro {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 467px;
	max-width: 100%;
}

.eas_difference-subtitle {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1;
	color: var(--color-ink);
}

.eas_difference-text {
	margin: 0;
	font-family: var(--font-main);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.2;
	color: rgba(7, 25, 46, 0.8);
}

.eas_difference-grid {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.eas_difference-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.eas_difference-col--left {
	flex: 1;
}

.eas_difference-col--right {
	flex: none;
	width: 467px;
}

.eas_difference-row {
	display: flex;
	gap: 20px;
	flex: 1;
}

.eas_difference-row .eas_difference-card {
	flex: 1;
	width: 0;
}

.eas_difference-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 20px;
	border-radius: 20px;
	backdrop-filter: blur(10px);
}

.eas_difference-col--left > .eas_difference-card--wide {
	flex: 1;
	gap: 30px;
}

.eas_difference-col--right > .eas_difference-card {
	gap: 30px;
}

.eas_difference-col--right > .eas_difference-card:first-child {
	flex: 255;
}

.eas_difference-col--right > .eas_difference-card:last-child {
	flex: 328;
}

.eas_difference-card--navy {
	background: linear-gradient(180deg, rgba(18, 38, 101, 0) 0%, rgba(18, 38, 101, 0.1) 100%);
}

.eas_difference-card--orange {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(254, 94, 50, 0.1) 100%);
}

.eas_difference-card--neutral {
	background: linear-gradient(180deg, #fff, var(--color-card-bg));
}

.eas_difference-icon {
	display: block;
	width: 72px;
	height: 72px;
}

.eas_difference-card-text {
	margin: 0;
	font-family: var(--font-main);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.2;
	color: rgba(7, 25, 46, 0.8);
}

/* ---------- Enterprise Architecture Services: Redwood Migration ---------- */

.eas_redwood {
    padding-top: 100px;
}

.eas_redwood-grid {
    display: flex;
    align-items: stretch;
    gap: 20px;
}

.eas_redwood-card {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    border-radius: 40px;
    padding: 40px;
}

.eas_redwood-card--intro {
    justify-content: space-between;
    min-height: 500px;
    background:
        linear-gradient(rgba(249, 249, 249, 0.9), rgba(249, 249, 249, 0.9)),
        url("../images/sections/redwood-migration-bg.jpg") center / cover no-repeat;
    gap: 10px;
}

.eas_redwood-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.eas_redwood-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.eas_redwood-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eas_redwood-copy p {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
    opacity: 0.8;
}

.eas_redwood-card--list {
    gap: 50px;
    background: var(--color-bg);
}

.eas_redwood-list-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1;
    color: var(--color-orange);
}

.eas_redwood-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.eas_redwood-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.eas_redwood-item-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
}

.eas_redwood-item-text {
    flex: 1;
    min-width: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: var(--color-ink);
}

.eas_redwood-divider {
    display: block;
    height: 1px;
    background: rgba(7, 25, 46, 0.2);
}

/* ---------- Enterprise Architecture Services: Core Service Components ---------- */
.eas_components {
    padding-top: 100px;
}
.eas_components-card {
    position: relative;
    max-width: 1440px;
    width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding: 80px 40px;
    background: var(--color-bg);
    border-radius: 40px;
    overflow: hidden;
}

.eas_components-heading {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 46.324%;
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.eas_components-compass {
    position: absolute;
    left: 40px;
    top: 190px;
    width: 480px;
    height: auto;
    pointer-events: none;
}

.eas_components-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    border-left: 1px solid rgba(7, 25, 46, 0.2);
}

.eas_components-divider {
    display: block;
    height: 1px;
    background: rgba(7, 25, 46, 0.2);
}

.eas_components-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 40px;
}

.eas_components-item:first-child {
    padding-top: 40px;
}

.eas_components-item:last-child {
    padding-bottom: 40px;
}

.eas_components-dot {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.eas_components-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eas_components-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.eas_components-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* Enterprise Architecture Services - Expected Outcomes section */

.eas_outcomes {
    padding-top: 100px;
}

.eas_outcomes-container {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* ---------- Left info column ---------- */

.eas_outcomes-info {
    display: flex;
    flex-direction: column;
    width: 467px;
    height: 266px;
    flex-shrink: 0;
}

.eas_outcomes-head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.eas_outcomes-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: var(--color-ink);
}

.eas_outcomes-subtitle {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.eas_outcomes-pagination {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.eas_outcomes-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border: 1px solid var(--color-ink);
    border-radius: 50%;
    background: none;
    color: var(--color-ink);
    cursor: pointer;
    padding: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.eas_outcomes-arrow:hover {
    background: var(--color-ink);
    color: #ffffff;
}

.eas_outcomes-arrow:disabled {
    opacity: 0.35;
    cursor: default;
    background: none;
    color: var(--color-ink);
}

.eas_outcomes-arrow-icon {
    display: block;
}

.eas_outcomes-count {
    display: flex;
    min-width: 100px;
    justify-content: center;
    align-items: center;
    gap: 7px;
    font-family: var(--font-display);
    font-size: 32px;
    line-height: 1;
    color: var(--color-ink);
}

.eas_outcomes-count-total {
    opacity: 0.5;
}

/* ---------- Cards carousel ---------- */

.eas_outcomes-viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.eas_outcomes-track {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.eas_outcomes-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
    width: 345px;
    gap: 22.18px;
    padding: 14.79px;
    border-radius: 14.79px;
    background: linear-gradient(180deg, rgba(18, 38, 101, 0) 0%, rgba(18, 38, 101, 0.05) 100%);
    backdrop-filter: blur(7.39px);
    -webkit-backdrop-filter: blur(7.39px);
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1), gap 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.5s cubic-bezier(0.4, 0, 0.2, 1), background 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.eas_outcomes-icon {
    display: block;
    width: 73.93px;
    height: 73.93px;
    flex-shrink: 0;
    transition: width 0.3s ease, height 0.3s ease;
}

.eas_outcomes-body {
    display: flex;
    flex-direction: column;
    gap: 7.39px;
}

.eas_outcomes-item-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 17.74px;
    line-height: 1;
    color: rgba(7, 25, 46, 0.8);
}

.eas_outcomes-item-text {
    margin: 0;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 11.83px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.5);
}

.eas_outcomes-item.is-active {
    width: 466.67px;
    gap: 30px;
    padding: 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(254, 94, 50, 0.1) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.eas_outcomes-item.is-active .eas_outcomes-icon {
    width: 100px;
    height: 100px;
}

.eas_outcomes-item.is-active .eas_outcomes-body {
    gap: 10px;
}

.eas_outcomes-item.is-active .eas_outcomes-item-title {
    font-size: 24px;
    color: var(--color-ink);
}

.eas_outcomes-item.is-active .eas_outcomes-item-text {
    font-size: 16px;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Enterprise Architecture Services: The CID Delivery Framework ---------- */

.eas_framework {
    padding-top: 100px;
}

.eas_framework-card {
    height: 483px;
    position: relative;
    overflow: hidden;
    border-radius: 40px;
    padding: 80px 40px 0;
    display: flex;
    flex-direction: column;
    gap: 80px;
    background-color: var(--color-cream);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
        url("../images/enterprise-architecture/framework-bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.eas_framework-intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 588px;
}

.eas_framework-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}
.eas_framework-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.eas_framework-steps {
    display: flex;
    align-items: stretch;
    gap: 29px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.eas_framework-step {
    display: flex;
    gap: 20px;
    flex: 0 1 194px;
    min-width: 138px;
    padding-top: 40px;
    border-top: 1px solid rgba(7, 25, 46, 0.2);
    overflow: hidden;
    transition: flex-basis 0.4s ease 0.25s;
}

.eas_framework-step.is-active {
    flex-basis: 467px;
    transition: flex-basis 0.4s ease;
}

.eas_framework-step-number {
    flex: 0 0 auto;
    font-family: var(--font-display);
    font-size: 100px;
    font-weight: 300;
    line-height: 72px;
    letter-spacing: -4px;
    color: var(--color-ink);
    white-space: nowrap;
    transition: color 0.25s ease;
}

.eas_framework-step.is-active .eas_framework-step-number {
    color: var(--color-orange);
}

.eas_framework-step-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    opacity: 0;
    max-height: 0;
    transition: opacity 0.25s ease, max-height 0.25s ease;
}

.eas_framework-step.is-active .eas_framework-step-content {
    opacity: 1;
    max-height: 220px;
    transition: opacity 1s ease 0.4s, max-height 0.4s ease 0.4s;
}

.eas_framework-step-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.eas_framework-step-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* Enterprise Architecture Services - Section 08: Professional Leadership */
/* Source: Figma node 1173:2125 */

.eas_leadership {
	padding: 100px 0;
}

.eas_leadership-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.eas_leadership-title {
	margin: 0;
	width: 100%;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 44px;
	line-height: 44px;
	text-align: center;
	color: var(--color-ink);
}
.eas_leadership-subtitle {
    color: #07192E;
    text-align: center;
    font-family: var(--font-display);
    font-size: 24px;
    margin-top: 20px;
}
.eas_leadership-grid {
	width: 100%;
	display: flex;
	flex-direction: column;
	margin-top: 60px;
}

.eas_leadership-row {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.eas_leadership-card {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	padding: 30px 0;
}

.eas_leadership-icon {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: contain;
}

.eas_leadership-card-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.eas_leadership-card-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 26px;
	color: var(--color-ink);
    min-height: 52px;
}

.eas_leadership-card-text {
	margin: 0;
	font-family: var(--font-main);
	font-weight: 400;
	font-size: 16px;
	line-height: 19.2px;
	color: var(--color-ink);
	opacity: 0.8;
}

.eas_leadership-divider {
	flex: 0 0 1px;
	width: 1px;
	background-color: rgba(7, 25, 46, 0.2);
	align-self: stretch;
}

.eas_leadership-divider--horizontal {
	width: 100%;
	height: 1px;
	flex: 0 0 1px;
	align-self: auto;
}

/* ---------- Professional Leadership: chaos_mode ---------- */
/* Source: Figma node 1173:2553 */

.eas_leadership-grid.chaos_mode {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.eas_leadership-grid.chaos_mode::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: var(--color-orange);
}

.chaos_mode .eas_leadership-row {
	display: contents;
}

.chaos_mode .eas_leadership-card {
	padding: 30px;
	border: 1px solid rgba(7, 25, 46, 0.2);
	box-sizing: border-box;
}

/* Column + border-collapse: fixed by row parity, repeats every cycle (2 PHP-rows = 3 grid-rows) */
.chaos_mode .eas_leadership-row:nth-of-type(odd) .eas_leadership-card:nth-of-type(1) {
	grid-column: 1;
}
.chaos_mode .eas_leadership-row:nth-of-type(odd) .eas_leadership-card:nth-of-type(2) {
	grid-column: 2;
	margin-left: -1px;
	border-left: unset;
}
.chaos_mode .eas_leadership-row:nth-of-type(odd) .eas_leadership-card:nth-of-type(3) {
	grid-column: 3;
	margin: -1px 0 -1px -1px;
}
.chaos_mode .eas_leadership-row:nth-of-type(even) .eas_leadership-card:nth-of-type(1) {
	grid-column: 4;
	margin: -1px 0 -1px 0;
	border-left: unset;
}
.chaos_mode .eas_leadership-row:nth-of-type(even) .eas_leadership-card:nth-of-type(2) {
	grid-column: 2;
}
.chaos_mode .eas_leadership-row:nth-of-type(even) .eas_leadership-card:nth-of-type(3) {
	grid-column: 3;
	border-left: unset;
	border-top: unset;
}

/* Grid row per cycle: CSS can't compute this, so each cycle (2 PHP-rows) is listed explicitly.
   To support more items, copy the next block and bump the nth-of-type row indices by +2
   and the grid-row values by +3. */
.chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(1),
.chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(2) {
	grid-row: 1;
}
.chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(3),
.chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(1) {
	grid-row: 2;
}
.chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(2),
.chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(3) {
	grid-row: 3;
}

.chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(1),
.chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(2) {
	grid-row: 4;
}
.eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(2) {
    border-top: unset;
}
.chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(3),
.chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(1) {
	grid-row: 5;
}
.chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(2),
.chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(3) {
	grid-row: 6;
}

.chaos_mode .eas_leadership-divider,
.chaos_mode .eas_leadership-divider--horizontal {
	display: none;
}

/* ---------- Enterprise Architecture Services: Contact CTA ---------- */

.eas_contact {
    padding: 100px 0;
    background: #ffffff;
}

.eas_contact .add_content {
    padding: 184px 102px 172px 50px;
    gap: 74px;
}

.eas_contact .add_top {
    align-items: flex-start;
}

.eas_contact_heading {
    width: 643px;
    max-width: calc(60% - 20px);
    font-size: 64px;
}

.eas_contact_text {
    width: 508px;
    max-width: calc(40% - 20px);
}

.eas_contact-intro {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0 0 40px;
}

.eas_contact-head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.eas_contact-title {
    width: 643px;
    max-width: 100%;
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 44px;
    line-height: 1;
    color: #ffffff;
}

.eas_contact-text {
    width: 508px;
    max-width: 100%;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.8);
}

/* ---------- Blog: Intro ---------- */

.blog_intro {
    padding-top: 96px;
    background-color: #ffffff;
}

.blog_intro-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 61px;
}

.blog_intro-head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.blog_intro-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.28px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.blog_intro-text {
    width: 669px;
    max-width: 100%;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.blog_filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
}

.blog_filters-item {
    padding: 15px 30px;
    border: 1px solid var(--color-navy);
    border-radius: 50px;
    background-color: transparent;
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-navy);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.blog_filters-item:hover {
    border-color: var(--color-orange);
    color: var(--color-orange);
}

.blog_filters-item.is-active {
    border-color: var(--color-orange);
    background-color: var(--color-orange);
    color: var(--color-cream);
}

.blog_filters-scrollbar {
    position: relative;
    height: 3px;
    border-radius: 2px;
    background-color: rgba(7, 25, 46, 0.2);
    overflow: hidden;
}

.blog_filters-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 2px;
    background-color: var(--color-orange);
}

/* ---------- Blog: Grid ---------- */

.blog_grid {
    padding-top: 40px;
    background-color: #ffffff;
}

.blog_grid-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.blog_card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    border-radius: 20px;
    background-color: var(--color-card-bg);
    color: inherit;
    text-decoration: none;
    max-width: 100%;
}

.blog_card-media {
    display: block;
    aspect-ratio: 427 / 262;
    border-radius: 20px;
    overflow: hidden;
}

.blog_card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog_card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 20px;
}

.blog_card-text {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.blog_card-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1.1;
    color: var(--color-ink);
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog_card-excerpt {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog_card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
}

.blog_card-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.blog_card-author {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-ink);
}

.blog_card-author svg {
    flex-shrink: 0;
}

.blog_card-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--color-ink);
}

.blog_card-date,
.blog_card-read {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.blog_card-sep {
    width: 1px;
    flex-shrink: 0;
    height: 9px;
    background-color: var(--color-ink);
}

.blog_card-link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--color-orange);
    color: #ffffff;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.blog_card:hover .blog_card-link {
    background-color: var(--color-ink);
    transform: rotate(45deg);
}

.blog_pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 40px;
}

.blog_pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: var(--color-card-bg);
    color: var(--color-ink);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.blog_pagination-arrow:hover {
    background-color: var(--color-ink);
    color: #ffffff;
}

.blog_pagination-arrow.is-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.blog_pagination-list {
    display: flex;
    align-items: center;
    gap: 5px;
}

.blog_pagination-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: none;
    font-family: var(--font-main);
    font-size: 14px;
    color: var(--color-ink);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.blog_pagination-item:hover {
    background-color: var(--color-card-bg);
}

.blog_pagination-item.is-active {
    background-color: var(--color-orange);
    color: #ffffff;
}

.blog_pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 14px;
    color: var(--color-ink);
}

/* ---------- Blog: Newsletter CTA ---------- */

.blog_cta {
    padding-top: 100px;
    background-color: #ffffff;
}

.blog_cta-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 40px;
    overflow: hidden;
}

.blog_cta-visual {
    aspect-ratio: 1440 / 307;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.blog_cta-panel {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 80px 40px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.blog_cta-title {
    max-width: calc(100% - 450px);
    margin: 0;
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 0.9;
    text-transform: capitalize;
    color: #ffffff;
}

.blog_cta-text {
    max-width: calc(100% - 450px);
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.8);
}

.blog_cta-form {
    position: absolute;
    top: min(195px, 29.31%);
    right: 40px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 427px;
    max-width: calc(100% - 80px);
    padding: 40px;
    border-radius: 20px;
    background: var(--color-card-bg);
}

.blog_cta-form .footer_form {
    gap: 10px;
}

.blog_cta-text {
    font-size: 18px;
}
.blog_cta-form-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

/* ---------- Article: Head ---------- */

.article_head {
    padding: 96px 0 60px;
    background-color: #ffffff;
}

.article_head-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 60px;
}

.article_head-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.88px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.article_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px;
}

.article_meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.article_meta-item:first-child {
    max-width: 45%;
}

.article_meta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-orange);
}

.article_meta-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.article_meta-label {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.article_meta-value {
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.article_meta-sep {
    width: 1px;
    height: 24px;
    background-color: rgba(18, 38, 101, 0.2);
}

/* ---------- Article: Table of Contents ---------- */

.article_toc {
    padding: 0 0 100px;
    background-color: #ffffff;
}

.article_toc-container {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.article_toc-media {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 40px;
    min-width: 0;
    max-width: 953px;
    overflow: hidden;
}

.article_toc-media-image {
    aspect-ratio: 953 / 585;
    border-radius: 20px;
    overflow: hidden;
}

.article_toc-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article_toc-panel {
    display: flex;
    position: sticky;
    top: 120px;
    flex: 0 0 467px;
    width: 467px;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    border-radius: 40px;
    background-color: var(--color-bg);
}

.article_toc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 20px;
    border-radius: 20px;
    background-color: #ffffff;
}

.article_toc-title {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-navy);
}

.article_toc-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: var(--color-orange);
    color: #ffffff;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.article_toc-toggle.is-collapsed {
    transform: rotate(-180deg);
}

.article_toc-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 1000px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.article_toc-list.is-collapsed {
    max-height: 0;
}

.article_toc-item {
    border-radius: 20px;
    background-color: #ffffff;
}

.article_toc-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
}

.article_toc-dot {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--color-bg);
    transition: background 0.2s ease;
}

.article_toc-item.is-active .article_toc-dot {
    background: linear-gradient(90deg, #f29c66, var(--color-orange));
}

.article_toc-text {
    font-size: 18px;
    line-height: 1.2;
    color: var(--color-ink);
}

/* ---------- Article: Body ---------- */

.article_body-container {
    max-width: 100%;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

.article_body-container p {
    margin: 0 0 15px;
    color: rgba(7, 25, 46, 0.8);
}

.article_body-container h2,
.article_body-container h3,
.article_body-container h4 {
    margin: 30px 0 15px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-ink);
}

.article_body-container ul,
.article_body-container ol {
    margin: 0 0 15px;
    padding-left: 24px;
}

.article_body-container li {
    margin-bottom: 10px;
    color: rgba(7, 25, 46, 0.8);
}

.article_body-container a {
    color: var(--color-orange);
}

.article_body-container img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 30px 0;
    border-radius: 20px;
}


.article_video {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 30px 0;
    border-radius: 20px;
    overflow: hidden;
    background-color: var(--color-ink);
    cursor: pointer;
}

.article_body-container .article_video-poster {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.article_video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 106px;
    height: 111px;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
}

.article_video-play svg {
    width: 100%;
    height: 100%;
}

.article_video:hover .article_video-play {
    transform: translate(-50%, -50%) scale(1.08);
}

.article_video-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.article_getstarted {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    max-width: 100%;
    margin: 60px 0;
}

.article_getstarted.eas_contact-card {
    padding: 90px 60px;
}

.article_getstarted .eas_contact-intro {
    align-items: center;
    margin-bottom: 50px;
}

.article_getstarted .eas_contact-head {
    align-items: center;
}

.article_getstarted .eas_contact-title {
    flex: none;
    width: auto;
    max-width: 500px;
    margin: 0;
    font-weight: 400;
    font-size: 42px;
    line-height: 0.9;
    text-align: center;
    color: #ffffff;
}

.article_getstarted .eas_contact-text {
    flex: none;
    width: auto;
    max-width: 400px;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}

.article_getstarted .getstarted_btn--primary {
    position: relative;
    z-index: 1;
    padding: 11px 32px;
    font-size: 12px;
    color: #ffffff;
}

.article_getstarted .getstarted_btn--primary:hover {
    color: var(--color-navy);
}

.article_getstarted .getstarted_btn-icon {
    width: 12px;
    height: 12px;
}

/* ---------- Article: Recommended ---------- */

.recommended {
    background-color: #ffffff;
}

.recommended_title {
    margin: 0 0 40px;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.88px;
    color: var(--color-ink);
}

.recommended_viewport {
    overflow: hidden;
}

.recommended_list {
    display: flex;
    align-items: stretch;
    gap: 20px;
    transition: transform 0.3s ease;
}

.recommended_list .blog_card {
    flex: 0 0 calc((100% - 40px) / 3);
    min-width: 0;
}

.recommended_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

.recommended_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: var(--color-card-bg);
    color: var(--color-ink);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.recommended_arrow:hover {
    background-color: var(--color-ink);
    color: #ffffff;
}

.recommended_arrow.is-disabled {
    opacity: 0.4;
    pointer-events: none;
}

.recommended_arrow svg {
    display: block;
    width: 18px;
    height: 18px;
}

/* ---------- Contact hero ---------- */

.contact_hero {
    position: relative;
    height: 800px;
    background-color: var(--color-bg);
    background-repeat: no-repeat;
    background-position: 0 0, center bottom, center bottom, center bottom;
    background-size: auto, 1520px auto, 1520px auto, 1520px auto;
    background-image:
        linear-gradient(to bottom, transparent 0%, transparent 82.13%, var(--color-bg) 100%),
        linear-gradient(to right, transparent 0%, transparent 85%, var(--color-bg) 100%),
        linear-gradient(to right, var(--color-bg) 0%, var(--color-bg) 38.42%, transparent 52.86%, transparent 100%),
        url("../images/contact/hero-bg.png");
}

.contact_hero-bg {
    display: none;
}

.contact_hero-container {
    position: relative;
    height: 100%;
    padding-top: 96px;
}

.contact_hero-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 635px;
    margin-top: 183px;
}

.contact_hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 54px;
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -1.08px;
    text-transform: capitalize;
    color: var(--color-ink);
}

.contact_hero-sub {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact_hero-subtitle {
    margin: 0;
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.contact_hero-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* ---------- Contact form section ---------- */

.contact_form-section {
    padding-top: 60px;
}

.contact_form-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

/* -- Direct contact options -- */

.contact_options {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 588px;
    flex-shrink: 0;
    margin-top: 40px;
}

.contact_options-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 400;
    line-height: 0.91;
    color: var(--color-ink);
}

.contact_options-groups {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.contact_options-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact_options-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact_options-subtitle {
    margin: 0;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
}

.contact_options-note {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.contact_options-response {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.contact_options-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact_option {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact_option:hover {
    color: var(--color-ink);
}

.contact_option-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--color-card-bg);
    color: var(--color-orange);
}

/* -- Form card -- */

.contact_form-card {
    flex: 1;
    display: flex;
    justify-content: center;
    padding: 40px;
    border-radius: 20px;
    background: var(--color-card-bg);
}

.contact_form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 752px;
}

.contact_form-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 400;
    text-align: center;
    color: var(--color-ink);
    margin-bottom: 20px;
}

.contact_form-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact_form-row {
    display: flex;
    gap: 10px;
}

.contact_form-field {
    flex: 1;
    min-width: 0;
}

.contact_form-field--select {
    position: relative;
}

.contact_form-field--textarea {
    display: flex;
}

.contact_form input,
.contact_form select,
.contact_form textarea {
    width: 100%;
    border: none;
    border-radius: 36px;
    background: #fff;
    padding: 17px 24px;
    font-family: var(--font-main);
    font-size: 16px;
    color: var(--color-ink);
    appearance: none;
}

.contact_form textarea {
    border-radius: 20px;
    height: 164px;
    padding: 20px 24px;
    resize: vertical;
}

.contact_form input::placeholder,
.contact_form textarea::placeholder {
    color: rgba(7, 25, 46, 0.5);
}

.contact_form select {
    padding-right: 44px;
    color: rgba(7, 25, 46, 0.5);
    cursor: pointer;
}

.contact_form select:invalid {
    color: rgba(7, 25, 46, 0.5);
}

.contact_form input:focus,
.contact_form select:focus,
.contact_form textarea:focus {
    outline: 2px solid var(--color-orange);
    outline-offset: 1px;
}

.contact_form-select-icon {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    pointer-events: none;
}

.contact_form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 48px;
    border: none;
    border-radius: 50px;
    background: var(--color-orange);
    color: #fff;
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 500;
    text-transform: capitalize;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-bottom: 10px;
}
/* .wpcf7 .contact_form-submit {
    width: 100%;
} */

.contact_form-submit:hover {
    background: var(--color-navy);
}

.contact_form-privacy {
    margin: 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

/* -- Contact Form 7 markup adjustments -- */

/* wpautop wraps every field/button in a stray <p> and inserts <br> —
   strip them out so the layout matches the original hand-coded markup. */
.contact_form-field > p,
.contact_form > p:not(.contact_form-privacy) {
    display: contents;
}

.contact_form br {
    display: none;
}

.contact_form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.contact_form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    padding: 0 24px;
    font-size: 13px;
    color: var(--color-orange);
}

.contact_form-field--textarea .wpcf7-not-valid-tip {
    padding: 0;
}

.contact_form .screen-reader-response {
    display: none;
}

.contact_form .wpcf7-spinner {
    display: none;
}

.contact_form .wpcf7-response-output {
    margin: 0;
    padding: 0;
    border: none;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    color: rgba(7, 25, 46, 0.8);
}

.contact_form.invalid .wpcf7-response-output,
.contact_form.failed .wpcf7-response-output,
.contact_form.aborted .wpcf7-response-output {
    color: var(--color-orange);
    opacity: 1;
}

@media (max-width: 1440px) {
    .security_title {
        font-size: 42px;
    }
    .fame {
        --fame-scale: 0.92;
    }

    .fame_copy {
        gap: 24px;
    }

    .fame_copy .about_hero-title {
        font-size: 50px;
    }

    .nav_list {
        gap: 5px;
    }

    .nav_link {
        padding: 10px;
    }

    .standard_button {
        padding: 13px 20px;
        width: fit-content;
    }

    .why_panel--copy {
        padding-right: 40px;
    }

    .why_title {
        font-size: 41px;
    }

    .expertise_intro {
        gap: 9.74vw;
    }

    .training_card--visual {
        justify-content: space-between;
    }

    .training_card--visual .training_card-body {
        margin: unset;
    }

    .add_heading,
    .add_text {
        max-width: calc(50% - 20px);
    }

    .add_content {
        padding-right: 67px;
    }

    .add_actions {
        width: fit-content;
        flex-direction: column;
        align-items: flex-start;
    }

    .addcid_heading {
        font-size: 80px;
    }

    .addteam_heading {
        font-size: 53px;
    }

    .addproject_heading {
        font-size: 53px;
    }

    .eas_contact_heading {
        font-size: 53px;
    }

    .addproject .add_actions {
        margin-top: 100px;
    }

    .footer_intro {
        max-width: 34%;
    }

    .footer_groups {
        max-width: calc(66% - 20px);
    }

    .footer_col--explore,
    .footer_col--services {
        max-width: calc(50% - 10px);
    }

    .footer_groups {
        gap: 20px;
        justify-content: flex-end;
    }

    .footer_cta {
        width: 118%;
    }
    .principles_slide-text {
        font-size: 14px;
    }

    .why_continuous_title {
        font-size: 36px;
    }

    .why_continuous_grid {
        gap: 16px;
    }

    .why_continuous_card {
        padding: 24px;
        gap: 16px;
    }

    .why_continuous_card-icon {
        width: 56px;
        height: 56px;
    }

    .why_continuous_card-title {
        font-size: 22px;
    }
    .eas_hero-content {
        width: 789px;
    }
    .eas_components-compass {
      width: 33.33%;  
    }
    .who_features {
        max-width: 686px;
    }
    .who_feature {
        max-width: calc(50% - 21px);
    }
}

@media (max-width: 1300px) {
    .team_title {
        left: 57%;
    }

    .aceteam {
        --aceteam-scale: 0.85;
    }
}

@media (max-width: 1200px) {
    .whouses_title {
        max-width: calc(25.34% - 20px);
    }
    .next_steps_card-title {
        min-height: 52px;
    }
    .fame {
        --fame-scale: 0.8;
    }

    .fame_copy {
        gap: 18px;
    }

    .fame_copy .about_hero-title {
        font-size: 42px;
    }

    .logo_mark {
        width: 44px;
        height: unset;
    }

    .logo_title {
        font-size: 14px;
    }

    .logo_slogan {
        font-size: 16px;
    }

    .nav_link {
        font-size: 14px;
        padding: 10px 5px;
    }

    .button_text {
        font-size: 14px;
    }

    .button_icon {
        width: 14px;
        height: unset;
    }

    .first_title {
        font-size: 60px;
    }

    .first_text {
        font-size: 14px;
    }

    .first_partner {
        width: 200px;
    }

    .stats {
        width: 46.81%;
        min-width: fit-content;
        justify-content: space-between;
        gap: 20px;
    }

    .stats_label {
        font-size: 14px;
    }

    .stats_value {
        font-size: 32px;
    }

    .stats_item:nth-child(2) {
        width: 30%;
    }

    .first_link {
        font-size: 14px;
    }

    .first_link-icon {
        width: 14px;
        height: unset;
    }

    .first_link--light {
        width: fit-content;
    }

    .about_hero-title,
    .services_hero-title,
    .eas_hero-title,
    .eas_framework-step-number,
    .blog_intro-title {
        font-size: 54px;
    }

    .about_hero-content {
        width: 610px;
    }

    .who_title {
        font-size: 32px;
    }
    .blog_filters-item {
        font-size: 16px;
    }
    .ace_title,
    .sertifications_title,
    .sertifications_team-title,
    .lifetime_pillars-title,
    .lifetime_warranty-title,
    .model_title,
    .addproject_heading,
    .signature_title,
    .fusionquery_title,
    .tool_hero-title,
    .whouses_title,
    .security_title,
    .trusted_quote-title,
    .trusted_stat-value,
    .cases_title,
    .eas_who-label,
    .eas_impact-label,
    .eas_difference-title,
    .eas_components-heading,
    .eas_outcomes-title,
    .eas_leadership-title,
    .eas_framework-title,
    .blog_cta-title,
    .contact_hero-title,
    .contact_options-title,
    .eas_redwood-title,
    .article_head-title {
        font-size: 32px;
    }
    .signature_text,
    .tool_hero-subtitle,
    .security_col-title,
    .trusted_quote-text,
    .eas_hero-subtitle,
    .eas_who-item-title,
    .eas_impact-slide-title,
    .eas_difference-subtitle,
    .eas_outcomes-item-title,
    .eas_leadership-card-title,
    .blog_card-title,
    .blog_cta-form-title,
    .contact_hero-subtitle,
    .contact_options-subtitle {
        font-size: 22px;
    }
    .eas_framework-step-title {
        font-size: 18px;
        margin-bottom: 5px;
    }
    .eas_who-item-icon {
        width: 80px;
    }
    .cases_heading,
    .eas_outcomes-count,
    .contact_form-title {
        font-size: 26px;
    }

    .ace_stats {
        padding: 3.64vw 0 0 39px;
    }

    .ace_stats--offset {
        padding: 10vw 0 3.65vw 40px;
    }

    .ace_graphic {
        margin-top: auto;
    }

    .why_title {
        font-size: 32px;
    }

    .principles_title {
        font-size: 32px;
    }

    .principles_head {
        height: calc(45.167vw - 127.19px);
    }

    .team_title {
        left: 50%;
        font-size: 48px;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .team_title::before {
        top: 50%;
        width: 200px;
        height: 396px;
        transform: translate(-50%, -50%) rotate(71deg);
    }

    .how_title {
        font-size: 32px;
    }

    .how_header {
        gap: 30px;
    }

    .how_circle-label {
        font-size: 16px;
    }

    .how_card {
        gap: 20px;
        padding: 30px;
    }

    .how_visual {
        width: 43.05%;
    }

    .join_head-title {
        font-size: 32px;
    }

    .join_card-number {
        font-size: 26px;
    }

    .join_card-title {
        font-size: 20px;
    }

    .join_card-group {
        gap: 20px;
    }

    .join_card-top {
        gap: 10px;
    }

    .join_card-item {
        gap: 25px;
    }

    .aceteam_title {
        font-size: 32px;
    }

    .aceteam {
        --aceteam-scale: 0.8;
    }

    .aceteam_card-title {
        font-size: 24px;
    }

    .expertise_title {
        font-size: 32px;
    }

    .expertise_intro {
        width: unset;
    }

    .expertise_container {
        gap: 40px;
    }

    .trust_title {
        font-size: 32px;
    }
    .trust_track {
        width: 100%;
    }
    .trust_logos {
        width: 100%;
        gap: unset;
        justify-content: space-around;
    }

    .warranty_title {
        font-size: 32px;
    }

    .warranty_item-title {
        font-size: 22px;
    }

    .warranty_card {
        padding: 5.21vw;
    }

    .training_title,
    .clients_title {
        font-size: 32px;
    }

    .clients_card {
        padding: 60px 40px;
        gap: 20px;
    }

    .clients_intro {
        gap: 10px;
        width: 271px;
    }

    .clients_name {
        font-size: 20px;
    }

    .clients_photo {
        width: 173px;
        height: 173px;
    }

    .clients_person {
        width: fit-content;
    }

    .clients_slide {
        gap: 30px;
    }

    .clients_text {
        font-size: 20px;
    }

    .clients_slider {
        gap: 20px;
    }

    .community_title {
        font-size: 32px;
    }

    .community_item-title {
        font-size: 22px;
    }

    .add_text {
        font-size: 20px;
        max-width: calc(44% - 20px);
    }

    .add_content {
        padding: 100px 67px;
    }

    .add_content {
        gap: 40px;
    }

    .add_card {
        height: fit-content;
    }

    .add_top {
        align-items: center;
    }

    .addcid_heading {
        font-size: 48px;
    }

    .addteam_heading {
        font-size: 32px;
    }

    .eas_contact_heading {
        font-size: 32px;
    }

    .addteam .add_content {
        min-height: 500px;
        justify-content: center;
    }

    .addproject_heading {
        font-size: 32px;
    }

    .addproject .add_content {
        padding: 100px 50px 40px 30px;
    }

    .addproject .add_actions {
        margin-top: 60px;
    }

    .getstarted_title {
        font-size: 72px;
    }

    .publications_card-bottom,
    .publications_meta {
        gap: 10px;
    }

    .publications_meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .publications_meta-divider {
        display: none;
    }

    .footer_cta {
        font-size: 84px;
        width: 100%;
    }

    .notfound_digit {
        font-size: 320px;
        letter-spacing: -6.4px;
        padding-right: 0;
    }
    .notfound_icon-img {
        margin-left: 0;
    }
    .notfound_visual {
        justify-content: center;
        gap: 20px;
    }

    .notfound_icon {
        width: 280px;
        height: 320px;
        margin: 0 -20px;
    }
    .principles_slide-panel {
        gap: 10px;
        padding: 15px;
    }
    .principles_slide-text {
        font-size: 12px;
    }
    .principles_slide-index {
        font-size: 22px;
    }

    .why_continuous_head {
        gap: 30px;
    }

    .why_continuous_intro {
        gap: 16px;
    }

    .why_continuous_title {
        font-size: 32px;
    }

    .why_continuous_desc {
        font-size: 14px;
    }

    .why_continuous_grid {
        gap: 16px;
    }

    .why_continuous_card {
        padding: 20px;
        gap: 16px;
    }

    .why_continuous_card-row,
    .why_continuous_card-body {
        gap: 16px;
    }

    .why_continuous_card-icon {
        width: 48px;
        height: 48px;
    }

    .why_continuous_card-title {
        font-size: 20px;
    }

    .why_continuous_card-text {
        font-size: 14px;
    }

    .contact_options {
        width: 460px;
    }
    .services_hero-content {
        width:  590px;
    }
    .eas_hero-content {
        width:  655px;
    }
    .eas_components-heading {
        width: 40%;
    }
    .eas_outcomes-info {
        width: 32.43%;
    }
    .eas_outcomes-item {
        width: 270px;
    }
    .eas_outcomes-icon {
        width: 50px;
        height: 50px;
    }
    .eas_outcomes-item-title {
        font-size: 18px;
    }
    .eas_outcomes-item-text {
        font-size: 10px;
    }
    .eas_outcomes-item.is-active {
        width: 310px;
        gap: 20px;
    }
    .eas_outcomes-item.is-active .eas_outcomes-item-title {
        font-size: 22px;
    }
    .eas_outcomes-item.is-active .eas_outcomes-item-text {
        font-size: 14px;
    }
    .eas_outcomes-item.is-active .eas_outcomes-icon {
        width: 60px;
        height: 60px;
    }
    .eas_outcomes-pagination {
        gap: 10px;
    }
    .eas_outcomes-arrow {
        width: 45px;
        height: 45px;
    }
    .eas_framework-card {
        height: 400px;
        padding: 80px 40px;
        gap: 40px
    }
    .blog_grid-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;  
    }
    .contact_hero-content {
        width: 500px;
        margin-top: 140px;
    }
    .who_features {
        max-width: fit-content
    }
    .fly_intro-text {
        max-width: 50%;
    }
}
@media ((max-width: 1190px) and (min-width: 1025px)) or ((max-width: 799px) and (min-width: 769px)) {
    .blog_card-info {
        flex-direction: column;
        align-items: flex-start;
    }
    .blog_card-sep {
        display: none;
    }
    .blog_card-footer {
        align-items: flex-end;
    }
}
@media (max-width: 1024px) {
    .fusionquery_intro {
        padding-right: 10px;
    }
    .fame {
        --fame-scale: 0.66;
    }
    .fame_copy {
        gap: 24px;
    }
    .fame_copy .about_hero-title {
        font-size: 32px;
    }
    .fame_text {
        font-size: 14px;
    }
    .standard_title {
        font-size: 32px;
    }
    .logo_title {
        font-size: 12px;
    }

    .logo_slogan {
        font-size: 14px;
    }

    .logo_text {
        width: fit-content;
    }

    .logo_mark {
        width: 32px;
    }

    .logo {
        align-items: center;
    }

    .nav_link {
        font-size: 12px;
    }

    .button_text {
        font-size: 12px;
    }

    .button_icon {
        width: 12px;
    }

    .stats_item:nth-child(1) {
        width: 113px;
    }

    .stats_item:nth-child(2) {
        width: 135px;
    }

    .first_link.first_link--accent {
        padding: 16px;
    }

    .about_hero-bg {
        width: 82%;
        left: unset;
        right: 0;
        transform: translateY(-50%)
    }

    .about_hero-title {
        font-size: 42px;
    }

    .about_hero-content {
        width: 50%;
    }

    .about_hero-text {
        width: 100%;
    }

    .quote_card {
        padding: 0 20px;
        grid-template-columns: calc(50% - 0.5px) 1px calc(50% - 0.5px);
        height: 502px;
    }

    .quote_content {
        padding-top: 5.46vw;
    }

    .quote_name {
        font-size: 24px;
    }

    .quote_footer-inner {
        gap: 10px;
    }

    .quote_role {
        font-size: 16px;
    }

    .who_features {
        width: 100%;
        justify-content: space-between;
    }

    .why_panel--copy {
        gap: 20px;
        padding: 25px;
    }

    .why_body {
        gap: 10px;
    }

    .why_title {
        font-size: 24px;
    }

    .principles_slide {
       width: calc(100cqw - 20px);
    }

    .how_circle-label {
        font-size: 14px;
    }

    .aceteam {
        --aceteam-scale: 0.7;
    }

    .fly_title {
        font-size: 36px;
    }

    .fly_button {
        padding: 16px 46px;
    }

    .fly_button-text,
    .fly_feature-desc {
       font-size: 16px;
    }

    .fly_top,
    .fly_intro-text {
        margin-bottom: 60px;
    }

    .fly_feature-title {
        font-size: 24px;
    }

    .fly_feature {
        gap: 20px;
    }

    .fly_feature-lead {
        font-size: 18px;
    }

    .fly_feature-body {
        gap: 9px;
    }

    .trust_logo img {
        width: 100px;
        height: auto;
    }

    .warranty_meta-row {
        flex-wrap: wrap;
        gap: 20px;
    }

    .warranty_nav-item,
    .warranty_eyebrow {
        font-size: 14px;
    }

    .warranty_nav {
        gap: 5px;
    }

    .warranty_meta-row {
        gap: 10px;
    }

    .community_container {
        flex-direction: column;
    }

    .community_intro,
    .community_grid,
    .community_title,
    .community_text {
        width: 100%;
    }

    .community_grid {
        margin-top: 20px;
    }

    .add_content {
        padding: 100px 20px;
        gap: 50px;
    }

    .add_btn {
        padding: 16px 20px;
    }

    .footer_intro,
    .footer_groups,
    .footer_col--explore,
    .footer_col--services {
        display: contents;
    }

    .footer_intro-top {
        order: 1;
        width: 100%;
    }

    .footer_col--explore .footer_col-nav {
        order: 2;
    }

    .footer_col--services .footer_col-nav {
        order: 3;
    }

    .footer_cta {
        order: 4;
    }

    .footer_contacts {
        order: 5;
        margin-right: auto;
    }

    .footer_signup {
        order: 6;
    }

    .footer_top {
        column-gap: 100px;
        row-gap: 30px;
        justify-content: flex-start;
    }

    .footer_desc {
        max-width: unset;
    }
    .principles_slide-text {
        font-size: 14px;
    }

    .why_continuous_head {
        gap: 24px;
    }

    .why_continuous_card {
        padding: 20px;
        gap: 12px;
    }

    .why_continuous_card-icon {
        width: 40px;
        height: 40px;
    }

    .why_continuous_card-title {
        font-size: 18px;
    }

    .lifetime_grid {
        flex-direction: column;
    }

    .lifetime_pillars-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px 30px;
    }

    .lifetime_pillar:last-child {
        grid-column: 1 / -1;
    }

	.eas_difference-head {
		flex-direction: column;
	}

	.eas_difference-intro {
		width: 100%;
	}

	.eas_difference-grid {
		flex-direction: column;
	}
    .eas_difference-col--right > .eas_difference-card:last-child  {
        width: 48%;
        flex: unset;
    }
	.eas_difference-col {
		flex-direction: column;
	}
    .eas_difference-col--right {
		flex-direction: row;
        width: 100%;
	}

	.eas_difference-row .eas_difference-card {
		width: 48%;
	}

    .article_head-title {
        font-size: 36px;
    }

    .article_toc-container {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .article_toc-panel {
        position: static;
        width: 100%;
        flex: 1 1 auto;
    }

    .recommended_title {
        font-size: 36px;
    }

    .recommended_list .blog_card {
        flex: 0 0 calc((100% - 20px) / 2);
    }

    .contact_form-container {
        flex-direction: column;
        gap: 40px;
    }

    .contact_options {
        width: 100%;
    }

    .contact_form-card {
        width: 100%;
        box-sizing: border-box;
    }
    .whouses_row {
        flex-direction: column;
    }
    .whouses_title {
        max-width: 100%;
    }
    .whouses_grid {
        width: 100%;
    }
    .security_col {
        padding: 50px 0;
        gap: 20px;
    }
    .security_list-item {
        padding: 10px 20px;
    }
    .services_hero-content {
        width: 520px;
    }
    .services_hero-title,
    .eas_hero-title {
        font-size: 42px;
    }
    .services_hero-text {
        font-size: 14px;
    }
    .eas_hero-content {
        width:  545px;
    }
    .eas_hero-content {
        margin-top: 60px;
    }
    .eas_who-cell {
        padding: 18px;
    }
    .eas_who-item-top {
        gap: 20px;
    }
    .eas_deliver-cards:not(.eas_deliver-cards-less) {
        gap: 1.6722cqw;
    }
    .eas_deliver-card {
        min-height: 9.0862cqw;
    }
    .eas_deliver-card-copy {
        min-width: 0;
    }
    .eas_deliver-card-text {
        font-size: 1.3cqw;
        /* max-width: 37.57cqw; */
        white-space: normal;
    }
    .eas_deliver-text {
        font-size: 1.5cqw;
    }
    .eas_deliver-row {
        width: 60.25cqw;
    }
    .eas_deliver-row:nth-child(2) {
        width: 52.3389cqw;
    }
    .eas_deliver-row:nth-child(4) {
        width: 53.3cqw;
    }
    .eas_deliver-row:nth-child(5) {
        width: 63cqw;
    }
    .eas_outcomes-info {
        width: 23.43%;
        min-width: 212px;
    }

    .eas_framework-intro {
        width: 100%;
    }

    .eas_framework-card {
        height: auto;
    }

    .eas_framework-steps {
        flex-direction: column;
        gap: 32px;
    }

    .eas_framework-step,
    .eas_framework-step.is-active {
        flex-basis: auto;
        width: 100%;
    }

    .eas_framework-step-number {
        font-size: 56px;
        line-height: 1;
    }

    .eas_framework-step-content {
        opacity: 1;
        max-height: none;
    }

    .eas_framework-step.is-active .eas_framework-step-number {
        color: var(--color-ink);
    }
    .eas_contact .add_content {
        padding: 150px 102px 100px 50px;
    }
    .blog_cta-form {
        width: 300px;
        top: 11.31%;
    }
    .blog_cta-title, .blog_cta-text {
        max-width: calc(100% - 300px);
    }
    .contact_hero-content {
        margin-top: 100px;
    }
    .article_meta {
        gap: 25px;
    }
    .chaos_mode .eas_leadership-card {
        padding: 20px;
    }
    .aceteam_content {
        margin-top: 0;
    }
    .why_continuous_card--quarterly .why_continuous_card-media,
    .why_continuous_card--recertification .why_continuous_card-media {
        aspect-ratio: unset;
        height: 100%;
    }
}

@media (max-width: 986px) {
    .getstarted_ring--1 {
        left: 20.03%;
        top: -7.9%;
        width: 57.99%;
        height: auto;
        transform: none;
    }
    .getstarted_ring--2 {
        left: 22.95%;
        top: -7.83%;
        width: 57.99%;
        height: auto;
        transform: none;
    }
    .getstarted_ring--3 {
        left: 17.32%;
        top: -19.07%;
        width: 63.13%;
        height: auto;
        transform: none;
    }
    .getstarted_ring--4 {
        left: 19.55%;
        top: -19.07%;
        width: 63.13%;
        height: auto;
        transform: none;
    }
    .getstarted_content {
        padding: 80px 67px;
    }
    .team_cta {
        width: 262px;
        font-size: 16px;
        white-space: wrap;
    }
    .aceteam {
        --aceteam-scale: 0.6;
    }
    .aceteam_container {
        align-items: center;
    }
    .tool_hero-content {
        width: calc(32.57vw + 147px);
    }
    .tool_hero {
        background-size: 100% auto, 100% auto;
        background-position: center bottom, center bottom;
        background-image:
            linear-gradient(to right, transparent 0%, transparent 85%, var(--color-bg) 100%),
            linear-gradient(to right, var(--color-bg) 0%, var(--color-bg) 38.42%, transparent 52.86%, transparent 100%);
    }
    .tool_hero::before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 50%;
        left: 0;
        width: 100%;
        aspect-ratio: 1672 / 941;
        transform: translateY(-50%);
        background-image: url("../images/tool/tool-hero-bg.png");
        background-size: 100% 100%;
        background-repeat: no-repeat;
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
        mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
        pointer-events: none;
    }
    .tool_hero-container {
        z-index: 1;
    }
    .services_hero-content {
        width: 420px;
    }

    .eas_leadership-grid.chaos_mode {
        display: flex;
        flex-direction: column;
        position: static;
    }
    .eas_leadership-grid.chaos_mode::before {
        content: none;
    }
    .chaos_mode .eas_leadership-row {
        display: flex;
    }
    .chaos_mode .eas_leadership-card {
        padding: 30px 0;
        border: none;
    }
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(3) {
        grid-row: auto;
        grid-column: auto;
        margin: 0;
        border-right: unset;
    }
    .chaos_mode .eas_leadership-divider,
    .chaos_mode .eas_leadership-divider--horizontal {
        display: block;
    }
    .expertise_card {
        flex: 0 0 100%;
    }
}
@media (max-width: 930px) {
    .who_feature {
        width: calc(50% - 21px);
    }

    .team_divider {
        opacity: 0;
    }

    .team_panel {
        padding: 60px 30px;
    }

    .team_text,
    .team_text_bottom {
        width: 300px;
    }

    .how_content {
        width: 100%;
        height: fit-content;
        gap: 40px;
    }

    .how_card {
        flex-direction: column-reverse;
        padding-bottom: 50px;
    }

    .how_visual {
        width: 100%;
        height: fit-content;
    }

    .how_diagram {
        width: 70%;
        max-width: 70%;
        margin: 0 auto;
    }

    .clients_card {
        flex-direction: column;
    }

    .clients_intro {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .header {
        padding: 19px 0;
    }

    .header_container {
        position: relative;
        height: auto;
        justify-content: flex-end;
        gap: 15px;
        background: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .header_container::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -1;
        border-radius: inherit;
        background: rgba(255, 255, 255, 0.5);
        backdrop-filter: blur(7.5px);
        -webkit-backdrop-filter: blur(7.5px);
    }

    .header_button {
        width: auto;
        height: 32px;
        padding: 8px 10px;
        gap: 5px;
        margin-left: auto;
    }

    .header_nav {
        position: absolute;
        top: calc(100% + 12px);
        left: 0;
        right: 0;
        z-index: 20;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        pointer-events: none;
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
        align-self: auto;
    }

    .header_nav.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .logo {
        gap: 3px;
        align-items: flex-end;
    }

    .logo_mark {
        width: 32px;
        height: 24px;
    }

    .logo_text {
        width: 78px;
        margin-bottom: 0;
        gap: 1px;
    }

    .logo_title {
        font-size: 8.6px;
        line-height: 1;
        margin-bottom: -1px;
    }

    .logo_slogan {
        font-size: 9.5px;
        line-height: 1;
    }

    .nav_list {
        flex-direction: column;
        align-items: stretch;
        height: auto;
        gap: 10px;
        padding: 20px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        box-shadow: 0 20px 40px rgba(7, 25, 46, 0.1);
        margin-left: 0;
    }

    .nav_link {
        justify-content: flex-start;
        padding: 10px;
        font-size: 14px;
        line-height: 1.2;
    }

    .nav_item--dropdown {
        position: static;
        border-radius: 20px;
        transition: background-color 0.25s ease, padding 0.25s ease;
    }

    .nav_item--dropdown.is-open {
        background: var(--color-navy);
        padding: 10px;
    }

    .nav_item--dropdown.is-open .nav_link {
        padding: 0;
        font-size: 16px;
        color: #ffffff;
        justify-content: space-between;
    }

    .nav_item--dropdown.is-open .nav_link:hover {
        background: transparent;
        color: #ffffff;
    }

    .nav_item--dropdown.is-open .nav_chevron {
        display: inline-flex;
    }

    .nav_dropdown {
        position: static;
        width: 100%;
        max-height: 0;
        padding: 0;
        margin-top: 0;
        border-radius: 16px;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        overflow: hidden;
        transition: max-height 0.25s ease, margin-top 0.25s ease;
    }

    .nav_item--dropdown.is-open .nav_dropdown {
        max-height: 260px;
        margin-top: 15px;
        transform: none;
    }

    .nav_dropdown-list {
        gap: 5px;
    }

    .nav_dropdown-link {
        padding: 10px;
        font-size: 14px;
        color: #ffffff;
    }

    .nav_dropdown-link:hover,
    .nav_dropdown-link:focus-visible {
        background: var(--color-accent);
        color: #ffffff;
    }

    .button_text {
        font-size: 14px;
    }

    .button_icon {
        width: 10px;
        height: 10px;
    }

    .header_burger {
        display: flex;
    }
    .security_col-title {
        height: 44px;
        overflow: hidden;
        padding: 0 10px;
    }
    .getstarted_content {
        padding: 80px 67px 25px;
        gap: 30px;
    }
    .getstarted_title {
        font-size: 60px;
    }
}

@media (max-width: 800px) {
    .pc_only_eight {
        display: none;
    }

    .training {
        padding-top: 71px;
    }

    .training_container {
        gap: 31px;
    }

    .training_head {
        gap: 9px;
    }

    .training_title {
        font-size: 24px;
    }

    .training_text {
        width: 100%;
        font-size: 14px;
    }

    .training_grid {
        flex-direction: column;
        gap: 10px;
    }

    .training_col {
        width: 100%;
        gap: 10px;
    }

    .training_col--uneven .training_card:first-child,
    .training_col--uneven .training_card:last-child {
        flex-grow: 0;
    }

    .training_card {
        gap: 19px;
        padding: 20px;
    }

    .training_card_continuous {
        padding-bottom: 20px;
    }

    .training_card--accent-strong {
        gap: 20px;
        padding-bottom: 20px;
    }

    .training_card--visual {
        width: 100%;
        min-height: unset;
        gap: 8px;
    }

    .training_visual {
        width: 195px;
        aspect-ratio: 195/185;
        margin-left: 0;
        margin-top: 12px;
    }

    .training_badge {
        padding: 9px;
        font-size: 12px;
    }

    .training_card-title {
        font-size: 16px;
    }

    .training_card--light .training_card-text {
        min-height: unset;
    }

    .training_card-mark {
        height: 16px;
    }

    .training_card-mark svg {
        width: 27px;
        height: 16px;
    }

    .lifetime,
    .model,
    .addproject,
    .next_steps,
    .signature {
        padding: 80px 0 0;
    }
    .fusionquery_item-title {
        font-size: 20px;
    }
    .next_steps_card-title {
        font-size: 21px;
        min-height: 42px;
    }
    .fame_copy {
        gap: 12px;
    }

    .fame_copy .about_hero-title {
        font-size: 26px;
        letter-spacing: -0.4px;
    }

    .fame_text {
        font-size: 13px;
    }

    .fame_actions {
        flex-wrap: wrap;
        gap: 8px;
    }

    .fame_actions .first_link {
        font-size: 12px;
        padding: 10px 18px;
    }

    .fame_actions .first_link--light {
        width: fit-content;
    }

    .quote_text {
        margin-top: 0;
    }
    .quote_content {
        padding-top: 3.46vw;
    }

    .who_title {
        font-size: 28px;
    }

    .ace_row {
        flex-direction: column;
    }

    .ace_intro {
        width: 100%;
        gap: 25px;
    }

    .ace_graphic {
        width: 50%;
        margin: 0 auto;
    }

    .ace_stats {
        flex-direction: row;
        padding: 30px;
        border-left: none;
        border-top: 1px solid rgba(7, 25, 46, 0.2);
        gap: 50px;
    }

    .ace_stat {
        width: calc(50% - 25px);
    }

    .principles_card {
        flex-direction: column;
        padding: 40px;
        align-items: center;
    }

    .principles_head {
        width: 100%;
        height: auto;
        gap: 20px;
    }

    .principles_viewport {
        flex: none;
        width: 80%;
    }

    .principles_pagination {
        justify-content: center;
    }

    .principles_card {
        max-width: calc(100% - 40px);
        gap: 30px;
        padding: 30px 20px;
        border-radius: 20px;
    }

    .principles_head {
        display: contents;
    }

    .principles_intro {
        order: 1;
        width: 100%;
    }

    .principles_title {
        font-size: 24px;
        text-align: center;
    }
    .principles_text {
        text-align: center;
    }
    .principles_viewport {
        order: 2;
        width: 100%;
        max-width: 405px;
    }

    .principles_slide {
        width: 100cqw;
    }

    .principles_slide-panel {
        left: 30px;
        padding: 20px;
        gap: 10px;
    }

    .principles_slide-index {
        font-size: 18px;
    }

    .principles_slide-text {
        font-size: 14px;
    }

    .principles_pagination {
        order: 3;
        gap: 10px;
    }

    .principles_arrow {
        width: 32px;
        height: 32px;
    }

    .principles_arrow-icon {
        width: 7px;
        height: 12px;
    }

    .principles_pagination-count {
        min-width: 63px;
        gap: 5px;
        font-size: 16px;
        font-family: var(--font-display);
    }

    .join_cards {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        row-gap: 31px;
    }

    .join_cards::before,
    .join_diagonal-cell {
        display: none;
    }

    .join_card-item:not(:nth-child(3)):after {
        content: "";
        height: 1px;
        background: rgba(7, 25, 46, 0.15);
        margin: 0 -40px 0 -39px;
    }

    .join_cards > .join_card-item:nth-child(3) {
        grid-row: auto;
        grid-column: auto;
        margin-top: 0;
    }

    .aceteam_container {
        gap: 20px;
    }

    .fly_feature-title {
        font-size: 20px;
    }

    .fly_feature {
        gap: 15px;
    }

    .fly_card {
        padding-bottom: 40px;
    }

    .fly_features {
        flex-direction: column;
    }

    .fly_feature {
        border-right: unset;
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
        padding: 0 0 20px;
    }

    .fly_feature:last-child {
        border-bottom: unset;
        padding: unset;
    }

    .warranty_item-title {
        font-size: 18px;
    }

    .warranty_item-desc {
        font-size: 13px;
    }

    .warranty_body {
        gap: 8px;
    }

    .warranty_card {
        padding: 4.21vw;
    }

    .add_text {
        max-width: calc(40% - 20px);
    }

    .addcid_heading {
        font-size: 36px;
    }

    .addteam_heading {
        font-size: 24px;
    }

    .addproject_heading {
        font-size: 24px;
    }

    .eas_contact_heading {
        font-size: 24px;
    }

    .addproject .add_content {
        padding: 80px 30px 40px 24px;
    }

    .addproject .add_actions {
        margin-top: 40px;
    }

    .getstarted_title {
        font-size: 44px;
    }

    .getstarted_btn {
        padding: 14px 32px;
        font-size: 16px;
    }

    .publications_list {
        flex-direction: column;
        gap: 20px;
    }

    .publications_card {
        width: 100%;
    }

    .publications_meta {
        flex-direction: row;
        align-items: center;
    }

    .publications_meta-divider {
        display: block;
    }
    .why_continuous_container {
        padding: 40px 20px;
    }
    .why_continuous_head {
        gap: 20px;
    }

    .why_continuous_label {
        font-size: 14px;
    }

    .why_continuous_desc {
        font-size: 13px;
    }

    .why_continuous_grid {
        grid-template-columns: 1fr;
    }

    .why_continuous_card-icon {
        width: 36px;
        height: 36px;
    }
    .model_item-title {
        font-size: 20px;
    }
    .security_row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        row-gap: 30px;
        column-gap: 0;
    }

    .security_intro,
    .security_compare {
        display: contents;
    }

    .security_title {
        flex: 0 0 100%;
        max-width: none;
    }

    .security_lock {
        width: 33%;
        max-width: unset;
        margin-right: 20px;
    }

    .security_col {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
    }
    .security_list-item:nth-child(1) {
        height: 77px;
    }
    .eas_hero-content {
        width: 60%;
    }
    .eas_who-item-title {
        font-size: 18px;
    }
    .eas_deliver {
        padding-top: 70px;
    }
    .eas_deliver-visual {
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .eas_deliver-ring {
        display: none;
    }
    .eas_deliver-photo {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: 100%;
        max-width: 450px;
        margin: 0 auto;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    .eas_deliver-photo-inner {
        width: 78%;
        gap: 15px;
    }
    .eas_deliver-title {
        font-size: 20px;
    }
    .eas_deliver-copy {
        gap: 10px;
    }
    .eas_deliver-subtitle {
        max-width: 100%;
        font-size: 14px;
    }
    .eas_deliver-text {
        max-width: 100%;
        font-size: 14px;
    }
    .eas_deliver-cards {
        position: static;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .eas_deliver-row,
    .eas_deliver-row:nth-child(2),
    .eas_deliver-row:nth-child(3),
    .eas_deliver-row:nth-child(4),
    .eas_deliver-row:nth-child(5),
    .eas_deliver-cards-less .eas_deliver-row,
    .eas_deliver-cards-less .eas_deliver-row:nth-child(2),
    .eas_deliver-cards-less .eas_deliver-row:nth-child(3),
    .eas_deliver-cards-less .eas_deliver-row:nth-child(4),
    .eas_deliver-cards-less .eas_deliver-row:nth-child(5) {
        width: 100%;
        margin-left: 0;
        gap: 0;
        align-items: stretch;
    }
    .eas_deliver-row:nth-child(5) {
        grid-column: 1 / -1;
    }
    .eas_deliver-dot {
        display: none;
    }
    .eas_deliver-card,
    .eas_deliver-cards-less .eas_deliver-card {
        height: 100%;
        padding: 20px;
        border-radius: 20px;
        gap: 10px;
    }
    .eas_deliver-card-icon,
    .eas_deliver-card-icon svg,
    .eas_deliver-card-icon img {
        width: 32px;
        height: 32px;
    }
    .eas_deliver-card-copy {
        gap: 10px;
        align-self: stretch;
    }
    .eas_deliver-card-title {
        font-size: 16px;
        white-space: normal;
    }
    .eas_deliver-card-text {
        font-size: 14px;
        max-width: none;
        margin-top: auto;
    }
    .contact_hero-content {
        width: 50%;
    }
    .article_getstarted.eas_contact-card {
        padding: 50px 60px;
    }
    .why_continuous_card--quarterly .why_continuous_card-media,
    .why_continuous_card--recertification .why_continuous_card-media {
        aspect-ratio: 295 / 392;
        height: unset;
    }
    .first_bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .first_actions {
        width: 335px;
        align-items: flex-start;
    }
    .first_link--light,
    .first_link {
      width: 100%;
    }

    .cases {
        padding-top: 60px;
    }

    .cases_title {
        margin-bottom: 30px;
        font-size: 24px;
    }

    .cases_list {
        gap: 20px;
    }

    .cases_item {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px;
        border-radius: 20px;
    }

    .cases_item--reverse .cases_media,
    .cases_item--reverse .cases_content {
        order: 0;
    }

    .cases_media {
        border-radius: 15px;
    }

    .cases_content {
        gap: 20px;
    }

    .cases_head {
        gap: 10px;
    }

    .cases_index {
        font-size: 14px;
    }

    .cases_heading {
        font-size: 18px;
    }

    .cases_body {
        gap: 15px;
    }

    .cases_blocks {
        gap: 10px;
    }

    .cases_block {
        gap: 10px;
    }

    .cases_pill {
        padding: 10px;
        font-size: 12px;
    }

    .cases_text,
    .cases_note {
        font-size: 14px;
    }

    .cases_link {
        padding: 14px 48px;
        font-size: 14px;
        width: 100%;
        justify-content: center;
        max-width: 375px;
        margin: 0 auto;
    }
    .cases_media-img {
        max-width: 500px;
        margin: 0 auto;
    }

    .eas_components {
        padding-top: 70px;
    }
    .eas_components-card {
        flex-direction: column;
        align-items: stretch;
        padding: 30px 20px;
        gap: 20px;
        border-radius: 20px;
    }
    .eas_components-heading {
        width: 100%;
        font-size: 24px;
    }
    .eas_components-compass {
        position: static;
        width: 100%;
        max-width: 295px;
        margin: 0 auto;
    }
    .eas_components-list {
        gap: 20px;
    }
    .eas_components-item {
        gap: 10px;
        padding-left: 20px;
    }
    .eas_components-item:first-child {
        padding-top: 20px;
    }
    .eas_components-item:last-child {
        padding-bottom: 20px;
    }
    .eas_components-dot {
        width: 10px;
        height: 10px;
    }
    .eas_components-title {
        font-size: 16px;
    }
    .eas_components-text {
        font-size: 14px;
    }
    .fusionquery {
        padding-top: 0;
    }
    .fusionquery_card {
        width: auto;
        max-width: calc(100% - 40px);
        border-radius: 20px;
        padding: 30px 20px;
    }

    .fusionquery_head {
        display: flex;
        flex-direction: column;
        align-items: unset;
        gap: 10px;
        min-height: auto;
        margin-bottom: 25px;
    }

    .fusionquery_intro {
        display: contents;
    }

    .fusionquery_title {
        order: 1;
        font-size: 24px;
    }

    .fusionquery_dot {
        order: 2;
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
        align-self: auto;
        margin: 0;
    }

    .fusionquery_text {
        order: 3;
        font-size: 14px;
    }

    .fusionquery_grid {
        display: flex;
        flex-direction: column;
    }

    .fusionquery_item {
        padding: 20px;
        gap: 10px;
    }

    .fusionquery_item:nth-child(1),
    .fusionquery_item:nth-child(2),
    .fusionquery_item:nth-child(3),
    .fusionquery_item:nth-child(4) {
        grid-column: auto;
        grid-row: auto;
        border: 1px solid rgba(7, 25, 46, 0.2);
        margin-bottom: 0;
        position: static;
    }

    .fusionquery_item:nth-child(n+2) {
        margin-top: -1px;
    }

    .fusionquery_item:nth-child(1)::after {
        display: none;
    }

    .fusionquery_item--diagonal {
        display: none;
    }

    .fusionquery_lines {
        margin-top: 30px;
    }

    .fusionquery_lines-bar {
        height: 16.6px;
    }

    .fusionquery_top {
        gap: 15px;
    }

    .fusionquery_icon {
        width: 40px;
        height: 40px;
    }

    .fusionquery_item-title {
        font-size: 16px;
    }

    .fusionquery_item-text {
        font-size: 14px;
    }

    .why_continuous_container {
        gap: 30px;
        padding: 30px 20px;
        border-radius: 20px;
    }

    .why_continuous_intro {
        gap: 10px;
    }

    .why_continuous_title {
        font-size: 24px;
    }

    .why_continuous_grid {
        gap: 10px;
    }

    .why_continuous_card {
        gap: 20px;
    }

    .why_continuous_card--quarterly,
    .why_continuous_card--recertification {
        flex-direction: column;
    }

    .why_continuous_card--quarterly .why_continuous_card-media,
    .why_continuous_card--recertification .why_continuous_card-media {
        flex: none;
    }

    .why_continuous_card--scale .why_continuous_card-media,
    .why_continuous_card--recertification .why_continuous_card-media {
        order: -1;
    }

    .why_continuous_card--quarterly .why_continuous_card-media,
    .why_continuous_card--recertification .why_continuous_card-media,
    .why_continuous_card--integration .why_continuous_card-media,
    .why_continuous_card--scale .why_continuous_card-media {
        aspect-ratio: 255 / 240;
        max-width: 255px;
    }

    .why_continuous_card-row,
    .why_continuous_card-body {
        gap: 20px;
    }

    .why_continuous_card-row {
        flex-direction: column;
        align-items: stretch;
    }

    .why_continuous_card-icon {
        width: 32px;
        height: 32px;
    }

    .why_continuous_card-title {
        font-size: 16px;
    }
    .fly_intro-text {
        max-width: 100%;
    }
}
@media (max-width: 800px) and (min-width: 769px) {
    .add_actions {
        gap: 10px;
    }
    .add_text {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media (max-width: 768px) {
    .eas_deliver-cards {
        display: flex;
        flex-direction: column;
    }
    .eas_deliver-row:nth-child(5) {
        grid-column: auto;
    }
    .fame {
        --fame-scale: 0.5;
        height: auto;
        min-height: calc(800px * var(--fame-scale, 1));
    }
    .fusionquery {
        padding-top: 50px;
    }
    .whouses,
    .security,
    .trusted,
    .getstarted {
        padding-top: 70px;
    }

    .security_card {
        padding: 30px 20px;
        border-radius: 20px;
    }

    .security_row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "title title"
            "lock  lock"
            "col1  col2";
        row-gap: 0;
        column-gap: 0;
    }

    .security_title {
        grid-area: title;
        font-size: 24px;
    }

    .security_lock {
        grid-area: lock;
        justify-self: center;
        width: 116px;
        max-width: 116px;
        margin: 9px 0 20px;
    }

    .security_col--accent {
        grid-area: col1;
    }

    .security_col:not(.security_col--accent) {
        grid-area: col2;
    }

    .security_col {
        width: 100%;
        padding: 20px 0;
        gap: 15px;
        border-radius: 20px;
    }

    .security_col-title {
        font-size: 16px;
        height: 32px;
        padding: 0 10px;
    }

    .security_list-item {
        padding: 10px;
    }

    .security_list-item:nth-child(1) {
        height: 71px;
    }

    .security_list-item:nth-child(2) {
        height: 88px;
    }

    .security_list-item:nth-child(3) {
        height: 71px;
    }

    .security_list-item:nth-child(4) {
        height: 54px;
    }

    .security_list-text {
        font-size: 14px;
    }

    .security_check {
        width: 24px;
        height: 24px;
    }

    .trusted_container {
        flex-direction: column;
        gap: 10px;
    }

    .trusted_quote {
        gap: 40px;
        min-height: auto;
        padding: 20px;
        border-radius: 20px;
    }

    .trusted_quote-title {
        font-size: 24px;
    }

    .trusted_quote-body {
        gap: 10px;
    }

    .trusted_quote-text {
        font-size: 14px;
    }

    .trusted_quote-author {
        font-size: 14px;
    }

    .trusted_stats,
    .trusted_stats-row {
        gap: 10px;
    }

    .trusted_stat {
        padding: 20px;
        border-radius: 20px;
        gap: 10px;
        justify-content: unset;
    }

    .trusted_stat-value {
        font-size: 18px;
    }

    .trusted_stat-dot {
        width: 10px;
        height: 10px;
    }

    .trusted_stat-label {
        font-size: 14px;
    }

    .getstarted_card {
        max-width: calc(100% - 40px);
        border-radius: 20px;
    }

    .getstarted_ring--1 {
        left: 48.85%;
        top: 0.77%;
        width: auto;
        height: 108.33%;
        transform: translateX(-50%);
    }

    .getstarted_ring--2 {
        left: 52.93%;
        top: 0.84%;
        width: auto;
        height: 108.33%;
        transform: translateX(-50%);
    }

    .getstarted_ring--3 {
        left: 48.66%;
        top: -8.76%;
        width: auto;
        height: 117.93%;
        transform: translateX(-50%);
    }

    .getstarted_ring--4 {
        left: 51.76%;
        top: -8.76%;
        width: auto;
        height: 117.93%;
        transform: translateX(-50%);
    }

    .getstarted_content {
        gap: 50px;
        padding: 30px 20px;
    }

    .getstarted_title {
        font-size: 26px;
        line-height: 0.9;
    }

    .getstarted_actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 5px;
    }

    .getstarted_btn {
        width: 295px;
        max-width: 100%;
        margin: 0 auto;
        padding: 14px 48px;
        font-size: 14px;
    }

    .getstarted_btn-icon {
        width: 16px;
        height: 16px;
    }
    .whouses_title {
        font-size: 24px;
    }

    .eas_who-heading-sub {
        display: inline;
    }
    .eas_impact {
        padding-top: 70px;
    }
    .eas_redwood {
        padding-top: 70px;
    }
    .eas_redwood-grid {
        flex-direction: column;
        gap: 10px;
    }
    .eas_redwood-card {
        flex: none;
        padding: 20px;
        border-radius: 20px;
    }
    .eas_redwood-card--intro {
        justify-content: flex-start;
        gap: 30px;
        min-height: 0;
    }
    .eas_redwood-title {
        font-size: 24px;
    }
    .eas_redwood-dot {
        width: 10px;
        height: 10px;
    }
    .eas_redwood-copy p {
        font-size: 14px;
        line-height: 1.2;
    }
    .eas_redwood-card--list {
        gap: 30px;
    }
    .eas_redwood-list-title {
        font-size: 16px;
    }
    .eas_redwood-list {
        gap: 10px;
    }
    .eas_redwood-item {
        gap: 10px;
    }
    .eas_redwood-item-icon {
        width: 32px;
        height: 32px;
    }
    .eas_redwood-item-text {
        font-size: 14px;
        line-height: 1;
    }
    .eas_components-card {
        width: calc(100% - 40px);
    }

    /* ---------- CID Delivery Framework (mobile) ---------- */

    .eas_framework {
        padding-top: 70px;
    }
    .eas_framework-card {
        gap: 30px;
        padding: 30px 20px;
        border-radius: 20px;
    }
    .eas_framework-intro {
        gap: 10px;
    }
    .eas_framework-title {
        font-size: 24px;
    }
    .eas_framework-text {
        font-size: 14px;
    }
    .eas_framework-steps {
        gap: 0;
    }
    .eas_framework-step,
    .eas_framework-step.is-active {
        flex-direction: column;
        gap: 15px;
        padding: 20px 0;
    }
    .eas_framework-step-number,
    .eas_framework-step.is-active .eas_framework-step-number {
        font-size: 18px;
        line-height: 1.2;
        letter-spacing: -0.72px;
        color: var(--color-orange);
    }
    .eas_framework-step-content {
        gap: 10px;
    }
    .eas_framework-step-title {
        font-size: 16px;
        line-height: 1;
        margin-bottom: 0;
    }
    .eas_framework-step-text {
        font-size: 14px;
    }

    /* ---------- Expected outcomes (mobile) ---------- */

    .eas_outcomes {
        padding-top: 70px;
    }
    .eas_outcomes-container {
        display: grid;
        grid-template-areas:
            "head"
            "viewport"
            "pagination";
        gap: 30px;
        justify-items: center;
    }
    .eas_outcomes-info {
        display: contents;
    }
    .eas_outcomes-head {
        grid-area: head;
        width: 100%;
        text-align: center;
        gap: 10px;
    }
    .eas_outcomes-title {
        font-size: 24px;
    }
    .eas_outcomes-subtitle {
        font-size: 14px;
    }
    .eas_outcomes-pagination {
        grid-area: pagination;
        flex: none;
        gap: 10px;
    }
    .eas_outcomes-arrow {
        width: 32px;
        height: 32px;
    }
    .eas_outcomes-count {
        min-width: auto;
        gap: 5px;
        font-size: 16px;
    }
    .eas_outcomes-viewport {
        grid-area: viewport;
        width: 100%;
        flex: none;
    }
    .eas_outcomes-item,
    .eas_outcomes-item.is-active {
        width: 100%;
        gap: 15px;
        padding: 20px;
        border-radius: 20px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(254, 94, 50, 0.1) 100%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    .eas_outcomes-icon,
    .eas_outcomes-item.is-active .eas_outcomes-icon {
        width: 50px;
        height: 50px;
    }
    .eas_outcomes-body,
    .eas_outcomes-item.is-active .eas_outcomes-body {
        gap: 10px;
    }
    .eas_outcomes-item-title,
    .eas_outcomes-item.is-active .eas_outcomes-item-title {
        font-size: 16px;
        color: var(--color-ink);
    }
    .eas_outcomes-item-text,
    .eas_outcomes-item.is-active .eas_outcomes-item-text {
        font-size: 14px;
        color: rgba(7, 25, 46, 0.8);
    }

    /* ---------- Professional Leadership (mobile) ---------- */

    .eas_leadership {
        padding: 70px 0;
    }
    .eas_leadership-title {
        font-size: 24px;
        text-align: left;
        line-height: unset;
    }
    .eas_leadership-subtitle {
        font-size: 16px;
        margin-top: 10px;
    }
    .eas_leadership-container {
        align-items: flex-start;
    }
    .eas_leadership-grid {
        margin-top: 30px;
    }
    .eas_leadership-row {
        flex-direction: column;
        gap: 0;
    }
    .eas_leadership-card {
        flex: none;
        width: 100%;
        padding: 20px;
        gap: 15px;
        border: 1px solid rgba(7, 25, 46, 0.2);
        margin-top: -1px;
    }
    .eas_leadership-row:first-child .eas_leadership-card:first-child {
        margin-top: 0;
    }
    .eas_leadership-icon {
        width: 40px;
        height: 40px;
    }
    .eas_leadership-card-title {
        font-size: 16px;
        min-height: auto;
    }
    .eas_leadership-card-text {
        font-size: 14px;
        line-height: 16.8px;
    }
    .eas_leadership-divider,
    .eas_leadership-divider--horizontal {
        display: none;
    }
    .chaos_mode .eas_leadership-row {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .chaos_mode .eas_leadership-card {
        flex: none;
        width: 100%;
        padding: 20px;
        gap: 15px;
        border: 1px solid rgba(7, 25, 46, 0.2);
        margin: -1px 0 0;
    }
    .chaos_mode .eas_leadership-row:first-child .eas_leadership-card:first-child {
        margin-top: 0;
    }
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(1) {
        grid-row: auto;
        grid-column: auto;
        margin: 0;
        border-right: 1px solid rgba(7, 25, 46, 0.2);
    }
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(1) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(2) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(3) .eas_leadership-card:nth-of-type(3),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(1),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(2),
    .chaos_mode .eas_leadership-row:nth-of-type(4) .eas_leadership-card:nth-of-type(3) {
        grid-row: auto;
        grid-column: auto;
        margin: -1px 0 0;
        border-right: 1px solid rgba(7, 25, 46, 0.2);
        border-left: 1px solid rgba(7, 25, 46, 0.2);
    }
    .chaos_mode .eas_leadership-divider,
    .chaos_mode .eas_leadership-divider--horizontal {
        display: none;
    }
    .eas_contact .add_bg {
        top: -84px;
    }
    .trust_track {
        width: fit-content;
    }

    .page_content,
    .page_content p,
    .page_content ul,
    .page_content ol {
        font-size: 14px;
    }

    .page_content h2,
    .page_content h3 {
        margin: 32px 0 10px;
        font-size: 14px;
    }

    .fame_visual {
        inset: 0 0 auto 0;
        height: auto;
        aspect-ratio: 375 / 667;
        background:
            linear-gradient(to bottom, transparent 58%, var(--color-bg) 90%),
            url("../images/fame/fame-crystal-mobile.png") no-repeat top center;
        background-size: 100% 100%, 100% auto;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .fame_visual-fade {
        display: none;
    }

    .fame_container {
        padding-top: 340px;
    }

    .fame_content {
        width: 100%;
        gap: 20px;
    }

    .fame_copy {
        gap: 15px;
    }

    .fame_label {
        font-size: 14px;
    }

    .fame_copy .about_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .fame_text {
        margin-top: 5px;
        font-size: 14px;
    }

    .fame_actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .fame_actions .first_link {
        width: 100%;
        padding: 14px 40px;
        font-size: 14px;
    }

    .mobile_only {
        display: block;
    }

    .pc_only {
        display: none;
    }

    .container {
        max-width:  calc(100% - 40px);
    }

    .first {
        height: calc(690px + 400vh);
        background: var(--color-bg);
    }

    .first_pin {
        min-height: 690px;
        height: fit-content;
    }

    .first_video {
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 330px;
        object-position: center 35%;
        z-index: 0;
    }

    .first_pin::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 690px;
        z-index: 1;
        pointer-events: none;
        background:
            linear-gradient(to bottom, rgba(249, 249, 249, 0.35) 0px, rgba(249, 249, 249, 0) 140px),
            linear-gradient(to bottom,
                transparent 300px,
                #E7E0DB 340px,
                #E7E0DB 476px,
                var(--color-bg) 658px,
                var(--color-bg) 690px);
    }

    .first_container {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-top: 220px;
        padding-bottom: 24px;
    }

    .first_partner {
        top: 193px;
        right: -2px;
        width: 113px;
    }

    .first_title {
        font-size: 26px;
        letter-spacing: -0.52px;
    }

    .first_text {
        width: 100%;
        margin: 0;
        font-size: 14px;
    }

    .first_bottom {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 20px;
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }

    .stats {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding-top: 20px;
        border-top: 1px solid rgba(7, 25, 46, 0.15);
    }

    .stats_item,
    .stats_item:nth-child(1),
    .stats_item:nth-child(2) {
        width: 100%;
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    .stats_value {
        font-size: 16px;
    }

    .stats_label {
        font-size: 14px;
        line-height: 1.2;
    }

    .first_actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
        width: 100%;
    }

    .first_actions .first_link {
        width: 100%;
        padding: 14px 24px;
        font-size: 14px;
    }

    /* ---------- About hero (mobile) ---------- */

    .about_hero {
        padding: 67px 0 0px;
    }

    .about_hero picture {
        display: block;
    }

    .about_hero-bg {
        position: static;
        display: block;
        width: 100%;
        max-width: 450px;
        height: 400px;
        margin: 0 auto;
        object-fit: cover;
        object-position: center 25%;
        transform: none;
        -webkit-mask-image:
            linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
            linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
        -webkit-mask-composite: source-in;
        mask-image:
            linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%),
            linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
        mask-composite: intersect;
    }

    .about_hero-container {
        padding-top: 0;
        margin-top: -36px;
    }

    .about_hero .breadcrumb {
        display: none;
    }

    .about_hero-content {
        width: 100%;
        gap: 21px;
        margin-top: 0;
    }

    .about_hero-copy {
        gap: 20px;
    }

    .about_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .about_hero-text {
        width: 100%;
        font-size: 14px;
    }

    .about_hero .first_link {
        width: 100%;
        padding: 14px 40px;
        font-size: 14px;
        max-width: 343px;
        margin: 0 auto;
    }

    .about_hero .first_link-icon {
        width: 16px;
        height: 16px;
        margin-top: -1px;
    }

    /* ---------- Services hero (mobile) ---------- */

    .services_hero {
        padding-top: 67px;
    }

    .services_hero-bg {
        content: url("../images/services/services-hero-bg-preview-mobile.png");
        position: static;
        display: block;
        width: 100%;
        max-width: 375px;
        height: 260px;
        margin: 0 auto;
        object-fit: cover;
        object-position: 50% 0%;
        transform: none;
    }

    .services_hero-container {
        padding-top: 0;
        margin-top: -59px;
    }
    .services_hero .breadcrumb {
        display: none;
    }

    .services_hero-content {
        width: 100%;
        gap: 20px;
        margin-top: 0;
    }

    .services_hero-copy {
        gap: 10px;
    }

    .services_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .services_hero-paragraphs {
        gap: 5px;
    }

    .services_hero-text {
        font-size: 14px;
    }

    .services_hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .services_hero-actions .first_link {
        width: 100%;
        padding: 14px 40px;
        font-size: 14px;
    }

    /* ---------- Tool hero (mobile) ---------- */

    .tool_hero {
        height: auto;
        background-image:
            linear-gradient(to right, var(--color-bg) 0%, transparent 15%, transparent 85%, var(--color-bg) 100%),
            url("../images/tools/tool-hero-bg-mobile.png");
        background-size: 375px auto, 375px auto;
        background-position: top center, top center;
        padding-top: 334px;
    }

    .tool_hero::before {
        display: none;
    }

    .tool_hero .breadcrumb {
        display: none;
    }

    .tool_hero-container {
        padding-top: 0;
    }

    .tool_hero-content {
        width: 100%;
        gap: 20px;
        margin-top: 0;
    }

    .tool_hero-copy {
        gap: 20px;
    }

    .tool_hero-heading {
        gap: 15px;
    }

    .tool_hero-label {
        font-size: 14px;
    }

    .tool_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .tool_hero-summary {
        gap: 10px;
    }

    .tool_hero-subtitle {
        font-size: 16px;
    }

    .tool_hero-text {
        font-size: 14px;
    }

    .tool_hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .tool_hero-actions .first_link {
        width: 100%;
        padding: 14px 40px;
        font-size: 14px;
    }

    /* ---------- Enterprise Architecture hero (mobile) ---------- */

    .eas_hero {
        padding-top: 66px;
        padding-bottom: 20px;
        background-image: var(--eas-hero-bg-mobile, url("../images/enterprise-architecture/hero-bg-mobile.png"));
        background-position: top center;
        background-size: 375px auto;
    }

    .eas_hero::before {
        display: none;
    }

    .eas_hero .breadcrumb {
        font-size: 12px;
    }

    .eas_hero-content {
        width: 100%;
        gap: 20px;
        margin-top: 403px;
    }

    .eas_hero-copy {
        gap: 15px;
    }

    .eas_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .eas_hero-sub {
        gap: 5px;
    }

    .eas_hero-subtitle {
        font-size: 16px;
        letter-spacing: -0.32px;
    }

    .eas_hero-text {
        font-size: 14px;
    }

    .eas_hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .eas_hero-actions .first_link {
        width: 100%;
        padding: 14px 40px;
        font-size: 14px;
    }

    /* ---------- Contact hero (mobile) ---------- */

    .contact_hero {
        height: auto;
        padding-top: 66px;
        padding-bottom: 40px;
        background-image: none;
        overflow: hidden;
    }

    .contact_hero-bg {
        display: block;
        position: absolute;
        top: 0;
        bottom: auto;
        left: 45%;
        width: 460px;
        max-width: none;
        transform: translateX(-50%);
        object-fit: cover;
        object-position: top center;
        z-index: 0;
        -webkit-mask-image:
            linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%),
            linear-gradient(to bottom, #000 0%, #000 85%, transparent 100%);
        -webkit-mask-composite: source-in;
        mask-image:
            linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%),
            linear-gradient(to bottom, #000 0%, #000 85%, transparent 100%);
        mask-composite: intersect;
    }

    .contact_hero .breadcrumb {
        font-size: 12px;
    }

    .contact_hero-container {
        padding-top: 0;
    }

    .contact_hero-content {
        width: 100%;
        gap: 15px;
        margin-top: 364px;
    }

    .contact_hero-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .contact_hero-sub {
        gap: 5px;
    }

    .contact_hero-subtitle {
        font-size: 16px;
        letter-spacing: -0.32px;
    }

    .contact_hero-text {
        font-size: 14px;
    }

    /* ---------- Contact form section (mobile) ---------- */

    .contact_form-container {
        gap: 30px;
    }

    .contact_options {
        margin-top: 0;
        gap: 20px;
    }

    .contact_options-title {
        font-size: 24px;
    }

    .contact_options-groups {
        gap: 20px;
    }

    .contact_options-group {
        gap: 20px;
    }

    .contact_options-heading {
        gap: 5px;
    }

    .contact_options-subtitle {
        font-size: 24px;
    }

    .contact_options-heading .contact_options-subtitle {
        font-size: 18px;
        line-height: 1;
    }

    .contact_options-note,
    .contact_options-response,
    .contact_option {
        font-size: 14px;
    }

    .contact_options-list {
        gap: 10px;
    }

    .contact_form-card {
        padding: 20px;
    }

    .contact_form {
        gap: 15px;
    }

    .contact_form-title {
        font-size: 20px;
        line-height: 1;
        text-align: unset;
        margin-bottom: 5px;
    }

    .contact_form-fields {
        gap: 5px;
    }

    .contact_form-row {
        flex-direction: column;
        gap: 5px;
    }

    .contact_form input,
    .contact_form select,
    .contact_form textarea {
        padding: 14px;
        font-size: 14px;
    }

    .contact_form select {
        padding-right: 40px;
    }

    .contact_form textarea {
        height: 130px;
        padding: 13px 14px;
    }

    .contact_form-select-icon {
        right: 14px;
    }

    .contact_form-submit {
        width: 100%;
        padding: 14px;
        font-size: 14px;
        margin-top: 5px;
        margin-bottom: 0;
    }

    .contact_form-privacy {
        font-size: 14px;
    }

    /* ---------- Blog intro (mobile) ---------- */

    .blog_intro .breadcrumb {
        font-size: 12px;
    }

    .blog_intro-content {
        gap: 15px;
        margin-top: 30px;
    }

    .blog_intro-head {
        gap: 10px;
    }

    .blog_intro-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .blog_intro-text {
        width: 100%;
        font-size: 14px;
        margin-bottom: 5px;
    }

    /* ---------- Article head (mobile) ---------- */

    .article_head-container .breadcrumb {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        font-size: 12px;
    }

    .article_head-container .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    .article_head-container .breadcrumb_link,
    .article_head-container .breadcrumb_sep,
    .article_head-container .breadcrumb_current {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .article_head-content {
        gap: 20px;
        margin-top: 30px;
    }

    .article_head-title {
        font-size: 24px;
        letter-spacing: -0.48px;
    }

    .article_meta {
        gap: 15px;
    }

    .article_meta-item:first-child {
        max-width: none;
    }

    .article_meta-item:first-child + .article_meta-sep {
        display: none;
    }
    .article_meta-item:nth-child(1) {
        width: 100%;
    }
    .article_meta-item:nth-child(3) {
        min-width: 43%;
    }

    .article_meta-label,
    .article_meta-value {
        font-size: 14px;
    }

    .article_meta-icon svg {
        width: auto;
        height: 18px;
    }

    /* ---------- Article TOC (mobile) ---------- */

    .article_toc-container {
        flex-direction: column;
    }

    .article_toc-media {
        display: contents;
    }

    .article_toc-media-image {
        order: 1;
    }

    .article_toc-panel {
        order: 2;
    }

    .article_body-container {
        order: 3;
    }

    /* ---------- Article: Get Started CTA (mobile) ---------- */

    .article_getstarted.eas_contact-card {
        align-items: stretch;
        padding: 30px 20px;
        border-radius: 20px;
        max-width: 100%;
    }

    .article_getstarted .eas_contact-intro {
        align-items: flex-start;
        margin-bottom: 30px;
    }

    .article_getstarted .eas_contact-head {
        align-items: flex-start;
        gap: 15px;
    }

    .article_getstarted .eas_contact-title {
        max-width: none;
        font-size: 26px;
        line-height: 0.9;
        text-align: left;
    }

    .article_getstarted .eas_contact-text {
        max-width: none;
        text-align: left;
    }

    .article_getstarted .getstarted_btn--primary {
        width: 100%;
        padding: 14px 48px;
        font-size: 14px;
    }

    .article_getstarted .getstarted_btn-icon {
        width: 16px;
        height: 16px;
    }

    .blog_filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        cursor: grab;
    }

    .blog_filters::-webkit-scrollbar {
        display: none;
    }

    .blog_filters.is-dragging {
        cursor: grabbing;
        user-select: none;
    }

    .blog_filters-item {
        flex-shrink: 0;
        padding: 14px 28px;
        font-size: 14px;
    }

    /* ---------- Blog grid (mobile) ---------- */

    .blog_grid-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .blog_card-text {
        gap: 10px;
    }

    .blog_card-title {
        font-size: 16px;
    }

    .blog_card-excerpt {
        font-size: 14px;
    }

    .blog_pagination {
        gap: 10px;
        margin-top: 20px;
    }

    .blog_pagination-item,
    .blog_pagination-dots {
        width: 30px;
        height: 30px;
    }
    .blog_pagination-dots {
        width: 15px;
    }

    .blog_card-meta {
        flex: 1;
        min-width: 0;
    }

    .blog_card-info {
        gap: 7px;
        max-width: calc(100% - 44px);
    }

    .blog_card-author svg,
    .blog_card-read svg {
        width: 16px;
        height: 16px;
    }

    .blog_card-date svg {
        width: 14.55px;
        height: 16px;
    }

    /* ---------- Blog: Newsletter CTA (mobile) ---------- */

    .blog_cta {
        padding-top: 70px;
    }

    .blog_cta-visual {
        aspect-ratio: 335 / 214;
        height: 214px;
    }

    .blog_cta-panel {
        gap: 10px;
        padding: 120px 20px 20px;
    }

    .blog_cta-title {
        max-width: 100%;
        font-size: 26px;
    }

    .blog_cta-text {
        max-width: 100%;
        font-size: 14px;
    }

    .blog_cta-form {
        top: 101px;
        left: 20px;
        right: 20px;
        width: auto;
        max-width: none;
        gap: 20px;
        padding: 20px;
    }

    .blog_cta-form-title {
        font-size: 20px;
        width: fit-content;
        height: 40px;
    }

    /* ---------- CEO quote (mobile) ---------- */

    .quote,
    .why {
        padding-top: 70px;
    }
    .principles,
    .team,
    .ace,
    .how {
        margin-top: 70px;
    }

    .quote_card {
        display: flex;
        flex-direction: column;
        width: calc(100% - 40px);
        max-width: none;
        height: auto;
        margin: 0 auto;
        padding: 20px 20px 30px;
        border-radius: 20px;
        overflow: hidden;
        background: #ffffff;
    }
    .quote_photo {
        position: relative;
        z-index: 0;
        order: 1;
        grid-column: unset;
        grid-row: unset;
        width: 100%;
        margin-bottom: -48px;
        overflow: hidden;
    }

    .quote_photo img {
        display: block;
        position: static;
        left: auto;
        top: auto;
        width: 86%;
        max-width: 400px;
        height: auto;
        object-fit: contain;
        transform: none;
        margin: 0 auto;
    }

    .quote_divider,
    .quote_blur,
    .quote_photo::after {
        display: none;
    }

    .quote_footer {
        position: relative;
        z-index: 1;
        order: 2;
        grid-column: unset;
        grid-row: unset;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 20px 0;
        border-top: 1px solid rgba(7, 25, 46, 0.2);
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background: rgba(249, 249, 249, 0.1);
        -webkit-backdrop-filter: blur(9.3px);
        backdrop-filter: blur(9.3px);
    }

    .quote_footer-inner {
        width: 100%;
        gap: 8px;
    }

    .quote_name {
        font-size: 18px;
        line-height: 1.2;
    }

    .quote_role {
        font-size: 14px;
        line-height: 1.3;
    }

    .quote_content {
        position: relative;
        z-index: 1;
        order: 3;
        grid-column: unset;
        grid-row: unset;
        align-self: auto;
        justify-self: auto;
        width: 100%;
        height: auto;
        padding: 20px 0 0;
        padding-left: 0;
        margin-top: 0;
        gap: 5px;
        background: #ffffff;
    }

    .quote_mark {
        width: fit-content;
        height: 25px;
    }
    .quote_mark--open {
        margin-bottom: 5px;
    }
    .quote_text {
        max-width: none;
        font-size: 14px;
        line-height: 1.45;
        color: rgba(7, 25, 46, 0.8);
        padding: 0 5px;
    }

    .quote_lines {
        margin-top: 30px;
    }

    .quote_lines-bar {
        height: 21.25px;
    }

    /* ---------- How we work (mobile) ---------- */

    .how_header {
        gap: 20px;
        padding-right: 0;
    }

    .how_label {
        font-size: 14px;
    }

    .how_intro {
        gap: 10px;
    }

    .how_title {
        font-size: 24px;
    }

    .how_text {
        font-size: 14px;
    }

    .how_goal {
        gap: 10px;
        padding: 15px;
        border-radius: 15px;
        background: linear-gradient(180deg, rgba(18, 38, 101, 0) 0%, rgba(18, 38, 101, 0.15) 100%);
    }

    .how_goal-badge {
        padding: 10px;
    }

    .how_goal-badge-text {
        font-size: 12px;
    }

    .how_goal-text {
        gap: 5px;
    }

    .how_goal-text p {
        font-size: 14px;
    }

    .how_diagram {
        width: 100%;
        max-width: 100%;
    }

    .join {
        padding-top: 40px;
    }

    .join_card {
        max-width: calc(100% - 40px);
        padding: 30px 20px;
        border-radius: 20px;
    }

    .join_head-divider {
        display: none;
    }

    .join_body {
        display: flex;
        flex-direction: column;
    }

    .join_divider {
        display: none;
    }

    .join_intro,
    .join_cards-wrap,
    .join_head-sub {
        display: contents;
    }

    .join_head-title {
        order: 1;
        margin: 0;
        font-size: 24px;
        font-weight: 500;
        letter-spacing: -0.72px;
    }

    .join_dot {
        order: 2;
        width: 10px;
        height: 10px;
        margin: 10px 0 0;
    }

    .join_head-text {
        order: 3;
        width: auto;
        max-width: 100%;
        margin: 10px 0 0;
        font-size: 14px;
        line-height: 1.2;
    }

    .join_intro-text {
        order: 4;
        max-width: 100%;
        margin: 5px 0 0;
        font-size: 14px;
        line-height: 1.2;
    }

    .join_intro-image {
        order: 5;
        width: 97%;
        max-width: 300px;
        margin: 22px auto 0;
    }

    .join_cards {
        order: 6;
        display: flex;
        flex-direction: column;
        margin-top: 16px;
        border-top: 1px solid rgba(7, 25, 46, 0.2);
    }

    .join_card-item {
        gap: 10px;
        padding: 20px 0;
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    }

    .join_card-item:after,
    .join_card-item:not(:nth-child(3)):after {
        content: none;
    }

    .join_card-top {
        gap: 10px;
    }

    .join_card-group {
        gap: 15px;
    }

    .join_card-number {
        font-size: 18px;
    }

    .join_card-title {
        font-size: 16px;
    }

    .join_lines {
        margin-top: 40px;
    }
    .notfound {
        padding: 242px 0 78px;
    }
    .first_link-icon {
        width: 17px;
    }
    .join_result {
        gap: 3px; 
    }
    .join_cards {
        gap: 0;
    }
    .join_result-label {
        font-size: 14px;
    }
    .join_lines {
        margin-top: 30px;
    }
    .join_lines-bar {
        height: 16.6px;
    }

    /* ---------- Enterprise Architecture - Who Is This Service For (375px) ---------- */

    .eas_who-card {
        border-radius: 20px;
    }

    .eas_who-inner {
        display: flex;
        flex-direction: column;
        padding: 30px 20px;
    }

    .eas_who-top {
        order: 2;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 10px;
        margin: 0 0 30px;
        text-align: left;
    }

    .eas_who-dot {
        width: 10px;
        height: 10px;
    }

    .eas_who-heading {
        width: 100%;
        font-size: 14px;
        text-align: left;
    }

    .eas_who-grid {
        display: contents;
    }

    .eas_who-cell--label {
        order: 1;
        margin: 0 0 10px;
        padding: 0;
    }

    .eas_who-label {
        font-size: 24px;
        letter-spacing: normal;
    }

    .eas_who-item {
        order: 3;
        width: 100%;
        margin: 0;
        padding: 20px;
        gap: 10px;
    }

    /* undo the desktop 3-column collapse hack above (nth-child based) so the single-column
       mobile stack gets a plain full border per card, collapsed only via the sibling rule below */
    .eas_who-grid > :nth-child(2),
    .eas_who-grid > :nth-child(3),
    .eas_who-grid > :nth-child(4),
    .eas_who-grid > :nth-child(5),
    .eas_who-grid > :nth-child(6) {
        margin-left: 0;
        margin-top: 0;
        border-right: 1px solid rgb(205, 209, 213);
        border-bottom: 1px solid rgb(205, 209, 213);
    }

    .eas_who-item + .eas_who-item {
        margin-top: -1px;
    }

    .eas_who-item-top {
        gap: 15px;
    }

    .eas_who-item-icon {
        width: 50px;
    }

    .eas_who-item-title {
        font-size: 16px;
    }

    .eas_who-item-text {
        font-size: 14px;
    }

    .eas_who-lines {
        margin-top: 30px;
    }
    .eas_who-lines-bar {
        height: 18.25px;
    }

    /* ---------- Enterprise Architecture - Business Impact (375px) ---------- */

    .eas_impact-container {
        flex-direction: column;
        gap: 10px;
    }

    .eas_impact-intro,
    .eas_impact-showcase {
        width: 100%;
        height: auto;
        border-radius: 20px;
        padding: 20px;
    }

    .eas_impact-intro {
        gap: 30px;
        justify-content: flex-start;
    }

    .eas_impact-label {
        font-size: 24px;
    }

    .eas_impact-dot {
        width: 10px;
        height: 10px;
    }

    .eas_impact-intro-body {
        gap: 10px;
    }

    .eas_impact-title {
        font-size: 16px;
    }

    .eas_impact-text {
        font-size: 14px;
    }

    .eas_impact-showcase {
        gap: 20px;
    }

    .eas_impact-image {
        width: 100%;
        max-width: 500px;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .eas_impact-slide-title {
        font-size: 16px;
    }

    .eas_impact-slide-text {
        font-size: 14px;
    }

    .eas_impact-pagination {
        width: auto;
        gap: 10px;
    }

    .eas_impact-nav {
        width: 32px;
        height: 32px;
    }

    .eas_impact-nav-icon {
        width: 7px;
        height: 12px;
    }

    .eas_impact-count {
        font-size: 16px;
    }

    /* ---------- Enterprise Architecture - The CID Difference (375px) ---------- */

    .eas_difference-container {
        gap: 30px;
    }

    .eas_difference-head {
        gap: 20px;
    }

    .eas_difference-title {
        font-size: 24px;
    }

    .eas_difference-subtitle {
        font-size: 16px;
    }

    .eas_difference-text,
    .eas_difference-card-text {
        font-size: 14px;
    }

    .eas_difference-grid,
    .eas_difference-col {
        gap: 10px;
    }

    .eas_difference-col--right {
        flex-direction: column;
    }

    .eas_difference-row {
        flex-direction: column;
        gap: 10px;
    }

    .eas_difference-row .eas_difference-card {
        width: 100%;
    }

    .eas_difference-card,
    .eas_difference-col--left > .eas_difference-card--wide,
    .eas_difference-col--right > .eas_difference-card {
        gap: 15px;
    }

    .eas_difference-col--right > .eas_difference-card:first-child {
        order: 2;
        flex: unset;
        width: 100%;
    }

    .eas_difference-col--right > .eas_difference-card:last-child {
        order: 1;
        width: 100%;
    }

    .eas_difference-icon {
        width: 50px;
        height: 50px;
    }

    /* ---------- ACE (375px) ---------- */

    .ace_row {
        max-width: calc(100% - 40px);
        flex-direction: column;
        gap: 0;
    }

    .ace_intro {
        width: 100%;
        gap: 20px;
    }

    .ace_label {
        font-size: 14px;
    }

    .ace_title {
        font-size: 24px;
    }

    .ace_graphic {
        width: 92%;
        margin: -20px auto 20px;
    }

    .ace_stats,
    .ace_stats--offset {
        flex-direction: column;
        padding: 0;
        gap: 0;
        border-left: none;
        border-top: none;
    }

    .ace_stat {
        width: 100%;
        gap: 10px;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    }

    .ace_stat-value {
        font-size: 16px;
        line-height: 1.2;
    }

    .ace_stat-text {
        font-size: 14px;
    }

    .how_card {
        flex-direction: column;
        max-width: calc(100% - 40px);
        padding: 30px 20px;
        gap: 20px;
        border-radius: 20px;
        background: url("../images/about/how-bg-texture-mobile.png") center / cover no-repeat;
    }

    .how_visual {
        order: 2;
        width: 100%;
        height: auto;
    }

    .how_content {
        order: 1;
        width: 100%;
        height: auto;
        padding: 20px;
        gap: 20px;
        border-radius: 20px;
    }

    .how_header {
        gap: 20px;
        padding-right: 0;
    }

    .how_circle-label {
        font-size: 14px;
    }

    .how_circle--share {
        gap: 10px;
    }
    .how_circle--train,
    .how_circle--document {
        gap: 6px;
    }

    .how_circle--share .how_circle-icon {
        width: 32px;
        height: 36px;
    }

    .how_circle--train .how_circle-icon {
        width: 36px;
        height: 36px;
    }

    .how_circle--document .how_circle-icon {
        width: 33px;
        height: 36px;
    }

    /* ---------- Why We Exist (375px) ---------- */

    .why_card {
        width: auto;
        max-width: calc(100% - 40px);
        height: auto;
        flex-direction: column;
        gap: 10px;
    }

    .why_panel {
        width: 100%;
        height: auto;
        border-radius: 20px;
    }

    .why_panel--copy {
        gap: 20px;
        padding: 30px 20px;
    }

    .why_label {
        font-size: 14px;
    }

    .why_body {
        gap: 20px;
    }

    .why_paragraphs {
        gap: 10px;
    }

    .why_text-group {
        gap: 5px;
    }

    .why_text {
        font-size: 14px;
    }

    .why_panel--visual {
        aspect-ratio: 709 / 446;
    }

    /* ---------- Principles (375px) ---------- */

    .principles_card {
        max-width: calc(100% - 40px);
        gap: 30px;
        padding: 30px 20px;
        border-radius: 20px;
    }

    .principles_head {
        display: contents;
    }

    .principles_intro {
        order: 1;
        width: 100%;
    }

    .principles_title {
        font-size: 24px;
        text-align: center;
    }
    .principles_text {
        text-align: center;
    }
    .principles_viewport {
        order: 2;
        width: 100%;
        max-width: 405px;
    }

    .principles_slide {
        width: 100cqw;
    }

    .principles_slide-panel {
        left: 30px;
        padding: 20px;
        gap: 10px;
    }

    .principles_slide-index {
        font-size: 18px;
    }

    .principles_slide-text {
        font-size: 14px;
    }

    .principles_pagination {
        order: 3;
        gap: 10px;
    }

    .principles_arrow {
        width: 32px;
        height: 32px;
    }

    .principles_arrow-icon {
        width: 7px;
        height: 12px;
    }

    .principles_pagination-count {
        min-width: 63px;
        gap: 5px;
        font-size: 16px;
        font-family: var(--font-display);
    }

    /* ---------- Expertise (375px) ---------- */

    .expertise_container {
        flex-direction: column;
        gap: 20px;
    }

    .expertise_intro {
        display: contents;
    }

    .expertise_intro-head {
        order: 1;
        gap: 10px;
    }

    .expertise_title {
        font-size: 24px;
    }

    .expertise_text {
        font-size: 14px;
        color: var(--color-ink);
    }

    .expertise_slider {
        order: 2;
        flex: unset;
        min-width: unset;
    }

    .expertise_pagination {
        order: 3;
        justify-content: center;
        gap: 10px;
    }

    .expertise_arrow {
        width: 32px;
        height: 32px;
    }

    .expertise_arrow-icon {
        width: 7px;
        height: 12px;
    }

    .expertise_pagination-count {
        min-width: 63px;
        gap: 5px;
        font-size: 16px;
    }

    .expertise_pagination-total {
        opacity: 1;
    }

    .expertise_button {
        order: 4;
        width: 100%;
        padding: 14px 20px;
        font-size: 14px;
    }

    .expertise_card {
        gap: 10px;
        flex: 0 0 100%;
    }

    .expertise_card-image {
        border-radius: 9px;
    }

    .expertise_card-caption {
        font-size: 16px;
    }
    .expertise {
        padding-top: 70px;
    }
    .expertise_pagination-total {
        color: rgba(7, 25, 46, 0.50);
    }

    /* ---------- AceTeam ---------- */

    .aceteam {
        padding-top: 71px;
    }

    .aceteam_container {
        flex-direction: column;
        gap: 30px;
    }

    .aceteam_content {
        display: contents;
    }

    .aceteam_intro {
        order: 1;
        width: 100%;
        gap: 15px;
    }

    .aceteam_head {
        gap: 9px;
    }

    .aceteam_title {
        font-size: 24px;
    }

    .aceteam_text {
        font-size: 14px;
    }

    .aceteam_label {
        font-size: 14px;
    }

    .aceteam_visual-wrap {
        order: 2;
        width: 100vw;
        height: 157px;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        --aceteam-avatar-size: clamp(35px, 35px + (100vw - 390px) * 0.092593, 70px);
        --aceteam-main-size: clamp(157px, 157px + (100vw - 390px) * 0.113757, 200px);
    }

    .aceteam_ring {
        display: none;
    }

    .aceteam_wave {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .aceteam_wave path {
        stroke: var(--aceteam-ring);
    }

    .aceteam_visual {
        width: 100%;
        height: 100%;
        transform: none;
    }

    .aceteam_dot--top {
        left: calc(6.6667% - 5px);
        top: 95px;
        width: 10px;
        height: 10px;
    }

    .aceteam_dot--bottom {
        left: calc(93.3333% - 5px);
        top: 95px;
        width: 10px;
        height: 10px;
    }

    .aceteam_photo--main {
        left: calc(50% - var(--aceteam-main-size) / 2);
        top: calc(78.5px - var(--aceteam-main-size) / 2);
        width: var(--aceteam-main-size);
        height: var(--aceteam-main-size);
    }

    .aceteam_photo--avatar-top {
        left: calc(19.0667% - var(--aceteam-avatar-size) / 2);
        top: calc(87.5px - var(--aceteam-avatar-size) / 2);
        width: var(--aceteam-avatar-size);
        height: var(--aceteam-avatar-size);
    }

    .aceteam_photo--avatar-bottom {
        left: calc(80.9333% - var(--aceteam-avatar-size) / 2);
        top: calc(87.5px - var(--aceteam-avatar-size) / 2);
        width: var(--aceteam-avatar-size);
        height: var(--aceteam-avatar-size);
    }

    .aceteam_features {
        order: 3;
        width: 100%;
        gap: 21px;
    }

    .aceteam_card {
        display: grid;
        grid-template-columns: 32px 1fr;
        align-items: start;
        gap: 8px 10px;
    }

    .aceteam_card-icon {
        grid-column: 1;
        grid-row: 2;
        width: 32px;
        height: 32px;
    }

    .aceteam_card-body {
        display: contents;
    }

    .aceteam_card-title {
        grid-column: 2;
        grid-row: 1;
        font-size: 16px;
    }

    .aceteam_card-text {
        grid-column: 2;
        grid-row: 2;
        font-size: 14px;
        max-width: none;
        margin-top: 2px;
    }

    .aceteam_pagination {
        justify-content: center;
        gap: 10px;
    }

    .aceteam_arrow {
        width: 32px;
        height: 32px;
    }

    .aceteam_pagination-count {
        min-width: 60px;
        font-size: 16px;
    }
    .aceteam_arrow-icon {
        width: 8px;
    }

    /* ---------- Fly (375px) ---------- */

    .fly {
        padding-top: 60px;
    }

    .fly_card {
        max-width: calc(100% - 40px);
        padding: 32px 20px 30px;
        border-radius: 20px;
    }

    .fly_top {
        display: contents;
    }

    .fly_title {
        order: 1;
        margin-bottom: 8px;
        font-size: 24px;
        line-height: 1;
    }

    .fly_intro {
        order: 2;
    }

    .fly_intro-text {
        width: 100%;
        margin-bottom: 30px;
    }

    .fly_intro-text p {
        font-size: 14px;
        line-height: 1.2;
    }

    .fly_features {
        order: 3;
        margin-bottom: 30px;
        gap: 0;
        border-top: none;
        border-left: 1px solid rgba(7, 25, 46, 0.2);
    }

    .fly_feature {
        padding: 20px;
    }

    .fly_feature:last-child {
        border-bottom: none;
        padding: 20px 0 20px 20px;
    }

    .fly_feature-title {
        font-size: 16px;
        line-height: 1;
    }

    .fly_feature-body {
        padding-right: 0;
    }

    .fly_feature-lead,
    .fly_feature-desc {
        font-size: 14px;
    }

    .fly_button {
        order: 4;
        width: fit-content;
        margin: 0 auto;
        padding: 6px 48px;
    }

    .fly_button-text {
        font-size: 14px;
        white-space: normal;
        text-align: center;
    }

    .trust {
        padding-top: 71px;
    }

    .trust_container {
        gap: 20px;
    }

    .trust_title {
        font-size: 24px;
    }

    .trust_logos {
        width: auto;
        justify-content: center;
        gap: 22px;
    }

    .trust_logo {
        flex-shrink: 0;
    }

    .trust_logo img {
        width: auto;
        height: 24px;
    }

    /* ---------- Warranty (375px) ---------- */

    .warranty_card {
        max-width: calc(100% - 40px);
        padding: 30px 20px;
        border-radius: 20px;
    }

    .warranty_head {
        gap: 25px;
    }

    .warranty_meta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .warranty_nav-sep {
        font-size: 14px;
    }

    .warranty_intro {
        flex-direction: column;
        align-items: flex-start;
        gap: 9px;
    }

    .warranty_title {
        width: 100%;
        font-size: 24px;
        line-height: 1;
    }

    .warranty_desc {
        width: 100%;
        font-size: 14px;
        line-height: 1.2;
    }

    .warranty_grid {
        flex-direction: column;
        gap: 25px;
    }

    .warranty_item {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
    }

    .warranty_index {
        display: none;
    }

    .warranty_icon {
        width: 50px;
        height: 50px;
        flex-shrink: 0;
    }

    .warranty_body {
        gap: 11px;
    }

    .warranty_item-title {
        font-size: 16px;
        line-height: 1;
    }

    .warranty_item-desc {
        font-size: 14px;
        line-height: 1.2;
    }
    .warranty {
        padding-top: 69px;
    }
    .warranty_card {
        gap: 31px;
    }
    .warranty_nav {
        flex-wrap: wrap;
    }
    /* ---------- Clients (375px) ---------- */

    .clients_card {
        width: auto;
        max-width: calc(100% - 40px);
        gap: 20px;
        padding: 30px 20px;
        border-radius: 20px;
    }

    .clients_intro {
        width: 100%;
        gap: 10px;
    }

    .clients_title {
        font-size: 24px;
    }

    .clients_subtitle {
        font-size: 14px;
    }

    .clients_slider {
        align-items: center;
        gap: 20px;
    }

    .clients_slide {
        flex-direction: column;
        gap: 8px;
    }

    .clients_person {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
        width: auto;
    }

    .clients_photo {
        width: 146px;
        height: 146px;
        border-radius: 10px;
    }

    .clients_name {
        font-size: 16px;
        margin-bottom: 5px;
    }

    .clients_role {
        font-size: 14px;
    }

    .clients_divider {
        width: 100%;
        height: 1px;
        margin-left: 0;
    }

    .clients_text {
        font-size: 14px;
        margin-top: 3px;
    }

    .clients_pagination {
        gap: 10px;
    }

    .clients_arrow {
        width: 32px;
        height: 32px;
        border-color: rgba(7, 25, 46, 0.5);
    }

    .clients_arrow-icon {
        width: 7px;
        height: 12px;
    }

    .clients_pagination-count {
        min-width: 62px;
        font-size: 16px;
    }
    .clients {
        padding-top: 72px;
    }

    /* ---------- Community (375px) ---------- */

    .community {
        padding-top: 71px;
    }

    .community_container {
        gap: 25px;
    }

    .community_intro {
        gap: 20px;
    }

    .community_eyebrow {
        font-size: 14px;
    }

    .community_head {
        gap: 10px;
    }

    .community_title {
        font-size: 24px;
    }

    .community_text {
        font-size: 14px;
    }

    .community_grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 0;
    }

    .community_item {
        gap: 15px;
    }

    .community_icon {
        width: 40px;
        height: 40px;
    }

    .community_item-title {
        font-size: 16px;
    }

    .community_item-desc {
        font-size: 14px;
    }

    .community_grid > .community_item:not(:first-child) {
        padding-top: 20px;
        border-top: 1px solid rgba(7, 25, 46, 0.2);
    }
    .community_grid > .community_item:last-child {
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    }
    .community_line {
        display: none;
    }

    /* ---------- Add CID (375px) ---------- */

    .addcid {
        padding-top: 70px;
    }

    .addcid .add_blob {
        filter: blur(53.33vw);
    }

    .addcid .add_blob--1 {
        left: -149.33vw;
        top: -14px;
        width: 247.12vw;
        height: 1073px;
        transform: none;
    }

    .addcid .add_blob--2 {
        left: -137.84vw;
        top: 661px;
        width: 249.6vw;
        height: 936px;
        transform: none;
    }

    .addcid .add_blob--3 {
        left: -100.54vw;
        top: -188px;
        width: 149.04vw;
        height: 641px;
        transform: none;
    }

    .addcid .add_ring--1 {
        left: -75.74vw;
        top: -746px;
        width: 240.53vw;
        height: 902px;
        transform: none;
    }

    .addcid .add_ring--2 {
        left: -75.74vw;
        top: 156px;
        width: 240.53vw;
        height: 902px;
        transform: none;
    }

    .addcid .add_card {
        max-width: calc(100% - 40px);
        border-radius: 20px;
    }

    .addcid .add_content {
        gap: 15px;
        padding: 30px 20px;
    }

    .addcid .add_top {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 130px;
    }

    .addcid .addcid_heading,
    .addcid .add_text {
        width: 100%;
        max-width: 100%;
    }

    .addcid .addcid_heading {
        font-size: 28px;
    }

    .addcid .add_text {
        font-size: 14px;
    }

    .addcid .add_actions {
        width: 100%;
        align-items: stretch;
        gap: 5px;
    }

    .addcid .add_btn,
    .addcid .add_btn--secondary {
        width: 100%;
        padding: 14px 48px;
        font-size: 14px;
    }

    .addcid .add_btn-icon {
        width: 16px;
        height: 16px;
    }
    .clients_person-meta {
        gap: unset;
    }
    .clients_star {
        width: 16px;
    }

    /* ---------- Footer (375px) ---------- */

    .footer {
        padding: 69px 0 31.73px;
    }

    .footer_container {
        gap: 15px;
    }

    .footer_card {
        padding: 30px 20px 34px;
        border-radius: 20px;
    }

    .footer_top {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 0;
    }

    .footer_brand {
        gap: 5px;
    }

    .footer_brand-mark {
        width: 52px;
    }

    .footer_brand-title {
        font-size: 18.25px;
    }

    .footer_brand-slogan {
        font-size: 20.83px;
    }

    .footer_intro-top {
        gap: 20px;
        margin-bottom: 40px;
    }

    .footer_desc {
        font-size: 14px;
    }

    .footer_col-nav {
        gap: 12px;
    }

    .footer_col--explore .footer_col-nav {
        margin-bottom: 40px;
    }

    .footer_col--services .footer_col-nav {
        margin-bottom: 41px;
    }

    .footer_col-title {
        font-size: 16px;
    }

    .footer_links {
        gap: 6px;
    }

    .footer_links a {
        font-size: 14px;
    }
    .footer_links_services {
        gap: 4px;
    }
    .footer_cta {
        width: 100%;
        font-size: 77px;
        margin-bottom: 17px;
    }

    .footer_contacts {
        gap: 5px;
        margin-bottom: 20px;
    }

    .footer_contact {
        font-size: 14px;
    }

    .footer_signup {
        gap: 10px;
    }

    .footer_signup-note {
        font-size: 14px;
    }

    .footer_form {
        gap: 5px;
    }

    .footer_input {
        padding: 14px;
        font-size: 14px;
        max-width: 320px;
    }

    .footer_submit {
        padding: 14px 48px;
        font-size: 14px;
        gap: 11px;
        max-width: 320px;
    }

    .footer_bottom {
        flex-wrap: wrap;
        gap: 10px;
    }

    .footer_copy {
        font-size: 14px;
    }

    .footer_legal a {
        font-size: 14px;
    }
    .footer_submit-icon {
        width: 17px;
        height: 17px;
    }

    /* ---------- Publications (375px) ---------- */

    .publications {
        padding-top: 72px;
    }

    .publications_head {
        margin-bottom: 20px;
    }

    .publications_title {
        font-size: 24px;
    }

    .publications_viewport {
        overflow: hidden;
        container-type: inline-size;
        max-width: 520px;
        margin: 0 auto 15px;
    }

    .publications_list {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 14px;
        width: fit-content;
        transition: transform 0.3s ease;
    }

    .publications_card {
        width: 100cqw;
        gap: 16px;
        padding: 18px 20px 20px 20px;
    }

    .publications_card-top {
        flex: 0 0 auto;
        gap: 15px;
    }

    .publications_tag {
        padding: 9px;
        font-size: 12px;
        margin-bottom: 0;
    }
    .publications_meta {
        font-size: 12px;
    }

    .publications_card-title {
        font-size: 16px;
        margin-bottom: 0;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .publications_card-image {
        /* height: 179px; */
        height: auto;
        aspect-ratio: 295 / 179;
        margin-top: 0;
        border-radius: 10px;
    }
    .publications_meta-item {
        gap: 4px;
    }
    .publications_card-arrow {
        width: 36px;
        height: 36px;
    }

    .publications_card-arrow svg {
        width: 10px;
        height: 11px;
    }

    .publications_pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 21px;
        margin-bottom: 20px;
    }

    .publications_arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 1px solid rgba(7, 25, 46, 0.5);
        border-radius: 50%;
        background: none;
        color: var(--color-ink);
        cursor: pointer;
        transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    }

    .publications_arrow:hover {
        background: var(--color-ink);
        color: #ffffff;
    }

    .publications_arrow.is-disabled {
        opacity: 0.5;
        pointer-events: none;
    }

    .publications_arrow-icon {
        display: block;
        width: 7px;
        height: 12px;
    }
    .publications_pagination {
        gap: 10px;
    }
    .publications_pagination-count {
        display: flex;
        min-width: 63px;
        justify-content: center;
        align-items: center;
        gap: 5px;
        font-family: var(--font-display);
        font-size: 16px;
        line-height: 1;
        color: var(--color-ink);
    }

    .publications_pagination-total {
        opacity: 0.5;
    }

    .publications_link--mobile {
        display: flex;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        justify-content: center;
        font-size: 14px;
    }

    /* ---------- 404 ---------- */

    .notfound_container {
        gap: 12px;
    }

    .notfound_visual {
        width: 347px;
        max-width: 347px;
        justify-content: space-between;
        gap: 0;
        padding-right: 4px;
    }

    .notfound_digit {
        font-size: 149px;
        letter-spacing: -2.98px;
        padding-right: 0;
    }

    .notfound_icon {
        width: 122px;
        height: 139px;
    }

    .notfound_icon-img {
        margin-top: -13px;
        margin-left: 0;
    }

    .notfound_content {
        gap: 25px;
        margin-top: 0;
    }

    .notfound_copy {
        gap: 5px;
    }

    .notfound_title {
        font-size: 18px;
    }

    .notfound_text {
        font-size: 14px;
        letter-spacing: -0.01px;
    }

    .notfound_content .notfound_link {
        width: 100%;
        padding: 14px;
        gap: 10px;
    }

    .who_card {
        max-width: calc(100% - 40px);
        padding: 30px 20px;
        gap: 30px;
        border-radius: 20px;
    }

    .who_head {
        flex-direction: column;
        gap: 10px;
    }

    .who_head-copy {
        width: 100%;
        gap: 20px;
    }

    .who_label {
        font-size: 14px;
    }

    .who_title {
        font-size: 24px;
    }

    .who_head-desc {
        flex: none;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 10px;
    }

    .who_dot {
        width: 10px;
        height: 10px;
    }

    .who_text {
        font-size: 14px;
    }

    .who_features {
        flex-direction: column;
        justify-content: flex-start;
        width: 100%;
    }

    .who_feature {
        width: 100%;
    }

    .who_feature-icon {
        width: 32px;
        height: 32px;
    }

    .who_feature-text {
        font-size: 14px;
    }

    .who_divider {
        width: 100%;
        height: 1px;
    }

    /* ---------- Team ---------- */

    .team_card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "right"
            "left";
        width: 100%;
        max-width: calc(100% - 40px);
        height: auto;
    }

    .team_panel {
        padding: 0;
    }

    .team_panel--right {
        width: 100%;
        height: 281px;
    }

    .team_panel--left {
        width: 100%;
        padding: 90px 20px 105px;
    }

    .team_text,
    .team_text_bottom {
        width: 100%;
        font-size: 14px;
    }

    .team_divider {
        width: 100%;
        height: 1px;
        opacity: 1;
    }

    .team_cta {
        grid-area: left;
        justify-self: stretch;
        align-self: end;
        width: auto;
        margin: 0 20px 30px;
        justify-content: center;
        padding: 14px 24px;
        font-size: 14px;
        white-space: normal;
    }

    .team_glow {
        top: 260px;
        left: 50%;
        width: 320px;
        height: 160px;
        transform: translate(-50%, -50%) rotate(0deg);
        filter: blur(60px);
    }

    .team_title {
        top: 279px;
        left: 50%;
        width: calc(100% - 40px);
        font-size: 24px;
    }

    .team_title::before {
        top: 27px;
        left: 52%;
        width: 125px;
        height: 247px;
        transform: translate(-50%, -50%) rotate(56.876deg);
    }

    /* ---------- Add Team (375px) ---------- */

    .addteam {
        padding-top: 70px;
    }

    .addteam .add_card {
        max-width: calc(100% - 40px);
        border-radius: 20px;
    }

    .addteam .add_blob--1 {
        left: calc(50% - 264px);
        top: -15px;
        width: 927px;
        height: 1073px;
    }

    .addteam .add_blob--2 {
        left: calc(50% - 217px);
        top: 661px;
    }

    .addteam .add_blob--3 {
        left: calc(50% - 265px);
        top: -188px;
        width: 559px;
        height: 641px;
    }

    .addteam .add_ring--1 {
        left: 50%;
        top: -713px;
    }

    .addteam .add_ring--2 {
        left: 50%;
        top: 189px;
    }

    .addteam .add_content {
        min-height: 0;
        justify-content: flex-start;
        gap: 14px;
        padding: 30px 20px;
    }

    .addteam .add_top {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 114px;
    }

    .addteam .addteam_heading,
    .addteam .add_text {
        width: 100%;
        max-width: 100%;
    }

    .addteam .addteam_heading {
        font-size: 26px;
    }

    .addteam .add_text {
        font-size: 14px;
    }

    .addteam .add_actions {
        width: 100%;
    }

    .addteam .add_btn {
        width: 100%;
        padding: 14px 48px;
        font-size: 14px;
    }

    .addteam .add_btn-icon {
        width: 16px;
        height: 16px;
    }

    /* ---------- Add Project (375px) ---------- */

    .addproject {
        padding-top: 70px;
    }

    .addproject .add_card {
        max-width: calc(100% - 40px);
        height: 377px;
        border-radius: 20px;
    }

    .addproject .add_blob--1 {
        left: calc(50% - 97px);
        top: -15px;
        width: 927px;
        height: 1073px;
    }

    .addproject .add_blob--2 {
        left: calc(50% - 49px);
        top: 661px;
    }

    .addproject .add_blob--3 {
        left: calc(50% - 98px);
        top: -188px;
        width: 559px;
        height: 641px;
    }

    .addproject .add_ring {
        transform: translateX(-50%);
    }

    .addproject .add_ring--1 {
        left: 50%;
        top: -709px;
    }

    .addproject .add_ring--2 {
        left: 50%;
        top: 193px;
    }

    .addproject .add_content {
        padding: 30px 20px;
        gap: 0;
    }

    .addproject_label {
        margin-bottom: 20px;
    }

    .addproject .add_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 121px;
    }

    .addproject_heading {
        width: 100%;
        max-width: 100%;
        font-size: 26px;
    }

    .addproject .add_text {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
    }

    .addproject .add_actions {
        width: 100%;
        margin-top: 14px;
    }

    .addproject .add_btn {
        width: 100%;
        padding: 14px 48px;
        font-size: 14px;
    }

    .addproject .add_btn-icon {
        width: 16px;
        height: 16px;
    }

    /* ---------- Enterprise Architecture Services: Contact CTA (375px) ---------- */

    .eas_contact {
        padding: 60px 0;
    }

    .eas_contact .add_card {
        max-width: calc(100% - 40px);
        border-radius: 20px;
    }

    .eas_contact .add_ring {
        width: 240.53vw;
        transform: translateX(-50%);
    }

    .eas_contact .add_ring--1 {
        left: 50%;
        top: -709px;
    }

    .eas_contact .add_ring--2 {
        left: 50%;
        top: 193px;
    }

    .eas_contact .add_content {
        padding: 30px 20px;
        gap: 30px;
    }

    .eas_contact .add_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 98px;
    }

    .eas_contact_heading {
        width: 100%;
        max-width: 100%;
        font-size: 26px;
    }

    .eas_contact_text {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
    }

    .eas_contact .add_actions {
        width: 100%;
    }

    .eas_contact .add_btn {
        width: 100%;
        padding: 14px 48px;
        font-size: 14px;
    }

    .eas_contact .add_btn-icon {
        width: 16px;
        height: 16px;
    }

    /* ---------- Sertifications (375px) ---------- */

    .sertifications {
        padding-top: 46px;
    }
    .why_continuous {
        padding-top: 70px;
    }

    .sertifications_container {
        padding: 30px 20px;
        border-radius: 20px;
    }

    .sertifications_head {
        gap: 10px;
        margin-bottom: 20px;
    }

    .sertifications_dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: linear-gradient(90deg, #f29c66, var(--color-orange));
    }

    .sertifications_desc-mobile p:nth-child(2) {
        margin-top: 5px;
    }

    .sertifications_title,
    .sertifications_team-title {
        font-size: 24px;
    }

    .sertifications_desc {
        font-size: 14px;
    }

    .sertifications_slider {
        --sert-card-width: 100%;
        gap: 10px;
    }

    .sertifications_card {
        gap: 10px;
    }
    .sertifications_card-img {
        border-radius: 10px;
    }

    .sertifications_card-title {
        font-size: 16px;
    }

    .sertifications_pagination {
        gap: 10px;
    }

    .sertifications_arrow {
        width: 32px;
        height: 32px;
    }

    .sertifications_arrow-icon {
        width: 8px;
        height: 13px;
    }

    .sertifications_pagination-count {
        width: 52px;
        font-size: 16px;
    }

    .sertifications_team {
        gap: 24px;
        margin-top: 24px;
    }

    .sertifications_team-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .sertifications_team-card:nth-child(n + 7) {
        display: none;
    }

    .sertifications_team-badge {
        height: 80px;
    }

    .sertifications_team-more {
        align-self: stretch;
        padding: 14px 24px;
        font-size: 14px;
    }

    .sertifications_fade {
        margin-top: 30px;
    }

    .sertifications_fade-bar {
        height: 13.83px;
    }

    /* ---------- Lifetime (375px) ---------- */

    .lifetime,
    .model,
    .next_steps,
    .signature {
        padding: 70px 0 0;
    }

    .lifetime_grid {
        gap: 10px;
    }

    .lifetime_card {
        padding: 20px;
        border-radius: 20px;
    }

    .lifetime_card--pillars {
        gap: 30px;
    }

    .lifetime_pillars-intro {
        gap: 10px;
    }

    .lifetime_label {
        font-size: 14px;
    }

    .lifetime_pillars-title {
        font-size: 24px;
    }

    .lifetime_pillars-desc {
        font-size: 14px;
    }

    .lifetime_pillars-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .lifetime_pillar {
        gap: 10px;
        padding-bottom: 10px;
    }

    .lifetime_pillar-index {
        width: 26px;
        font-size: 18px;
    }

    .lifetime_pillar-title {
        font-size: 16px;
    }

    .lifetime_pillar-text {
        font-size: 14px;
    }

    .lifetime_card--warranty {
        gap: 20px;
    }

    .lifetime_warranty-title {
        font-size: 24px;
    }

    .lifetime_warranty-visual {
        width: 150px;
    }

    .lifetime_warranty-foot {
        gap: 10px;
    }

    .lifetime_warranty-text {
        font-size: 14px;
    }

    .lifetime_warranty-link {
        width: 100%;
        padding: 14px 48px;
    }

    /* ---------- Model (mobile 375) ---------- */

    .model_container {
        padding: 200px 20px 30px;
        border-radius: 20px;
        gap: 30px;
    }

    .model_visual {
        top: 0;
        right: 0;
        left: 0;
        bottom: auto;
        height: 200px;
        justify-content: unset;
        align-items: unset;
        -webkit-mask-image: none;
        mask-image: none;
        background: linear-gradient(to bottom, transparent 55%, var(--color-bg) 100%),
            url("../images/model/model-orbit-mobile.png") no-repeat top center;
        background-size: 100% 100%, 335px auto;
    }

    .model_visual-img {
        display: none;
    }

    .model_intro {
        align-items: flex-start;
        gap: 20px;
    }

    .model_label {
        font-size: 14px;
    }

    .model_intro-text {
        align-items: flex-start;
        gap: 10px;
    }

    .model_title {
        max-width: 100%;
        font-size: 24px;
        text-align: left;
    }

    .model_desc {
        max-width: 100%;
        font-size: 14px;
        text-align: left;
    }

    .model_grid {
        gap: 20px;
    }

    .model_row--three,
    .model_row--two {
        display: contents;
    }

    .model_row--three .model_item:not(:last-child),
    .model_row--two .model_item:first-child {
        border-right: none;
    }

    .model_item {
        align-items: flex-start;
        gap: 15px;
        padding: 0 0 20px;
        text-align: left;
        border-bottom: 1px solid rgba(7, 25, 46, 0.2);
    }

    .model_row--two .model_item:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

    .model_item-icon {
        width: 40px;
        height: 40px;
    }

    .model_item-title {
        font-size: 16px;
        line-height: 1.2;
    }

    .model_item-text {
        font-size: 14px;
    }

    /* ---------- Next Steps (375px) ---------- */

    .next_steps_grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .next_steps_card {
        gap: 15px;
    }

    .next_steps_card-icon {
        width: 32px;
        height: 32px;
    }

    .next_steps_card-title {
        font-size: 16px;
        line-height: 1;
        min-height: 0;
    }

    .next_steps_card-text {
        font-size: 14px;
        line-height: 1.2;
    }

    /* ---------- Signature (375px) ---------- */

    .signature_card {
        height: auto;
        padding: 150px 20px;
        border-radius: 20px;
    }

    .signature_content {
        gap: 10px;
    }

    .signature_title {
        font-size: 24px;
        white-space: nowrap;
    }

    .signature_text {
        font-size: 14px;
    }
}

@media (max-width: 768px) and (min-width: 601px) {
    .whouses_grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    .whouses_card {
        width: 100%;
    }
    .contact_hero-bg {
        left: 50%;
    }
}
@media (max-width: 640px) {
    .blog_card-footer {
        flex-wrap: wrap;
    }

    .article_head {
        padding: 80px 0 40px;
    }

    .article_meta-value {
        white-space: normal;
    }

    .article_toc-panel {
        padding: 16px;
        border-radius: 24px;
    }

    .article_toc-header,
    .article_toc-item {
        border-radius: 16px;
    }

    .article_toc-title {
        font-size: 20px;
    }

    .article_toc-link {
        padding: 16px;
    }

    .recommended {
        padding-bottom: 60px;
    }

    .recommended_title {
        font-size: 28px;
        margin-bottom: 20px;
    }

    .recommended_list .blog_card {
        flex: 0 0 100%;
    }

    .recommended_nav {
        margin-top: 20px;
    }
}
@media (max-width: 600px) {
    .whouses_grid {
        flex-direction: column;
        gap: 10px;
    }

    .whouses_card {
        width: 100%;
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding: 20px 15px 20px 20px;
    }

    .whouses_media {
        width: 114px;
        aspect-ratio: 114 / 110;
        flex-shrink: 0;
    }

    .whouses_label {
        flex-shrink: 1;
        min-width: 0;
        gap: 10px;
    }

    .whouses_dot {
        margin-bottom: 0;
    }

    .whouses_name {
        min-width: 0;
        font-size: 16px;
        white-space: normal;
    }
}

@media (min-width: 376px) and (max-width: 768px) {
    /* ---------- Enterprise Architecture hero (376-768px: fade the fixed-width bg into the edges) ---------- */

    .eas_hero {
        background-image:
            linear-gradient(to right, var(--color-bg) 0%, transparent 15%, transparent 85%, var(--color-bg) 100%),
            var(--eas-hero-bg-mobile, url("../images/enterprise-architecture/hero-bg-mobile.png"));
        background-position: top center, top center;
        background-size: 375px auto, 375px auto;
    }
}

@media (max-width: 412px) {
    .fame {
        --fame-scale: 0.34;
    }

    .warranty_nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }
    .who_card {
        background: url("../images/about/who-bg-texture-mobile.png") center / cover no-repeat;
    }
    .warranty_nav-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 5px;
        width: 100%;
    }

    .warranty_nav-sep--stack {
        display: block;
    }

    .warranty_nav-item-first {
        margin-left: 4px;
    }
}
@media (max-width: 375px) {
    .blog_card-info {
        gap: 5px;
    }
}
@media (max-width: 360px) {
    .blog_card-info {
        flex-direction: column;
        align-items: flex-start;
    }
    .blog_card-sep {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .simple_animation.is-anim-hidden,
    .simple_animation.is-anim-out,
    .simple_animation.is-anim-in {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .first_title,
    .first_text {
        transition: none;
    }

    .clients_slide {
        transition: opacity 0.2s ease;
    }

    .clients_slide.is-pos-right,
    .clients_slide.is-pos-left,
    .clients_slide.is-leaving-next,
    .clients_slide.is-leaving-prev {
        transform: none;
    }

    .trust_track {
        animation: none;
    }
}

/* ---------- Standard page content (page.php) ---------- */

.page_content {
    /* max-width: 953px; */
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

.page_content > *:last-child {
    margin-bottom: 0;
}

.page_content > *:first-child {
    margin-top: 0;
}

.page_content p,
.page_content ul,
.page_content ol {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-ink);
}

.page_content h2,
.page_content h3 {
    margin: 40px 0 12px;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-ink);
}

.page_content ul,
.page_content ol {
    padding-left: 20px;
}

.page_content ul {
    list-style: disc;
}

.page_content li {
    margin-bottom: 4px;
}

.page_content li:last-child {
    margin-bottom: 0;
}

.page_content a {
    color: var(--color-orange);
    text-decoration: underline;
}
