* {
    box-sizing: border-box;
}

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
}

.topbar {
    background: #32383E;
    padding: 6px 0;
}

.topbarShell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}

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

.topbarLink {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.2;
    color: #AEB5CE;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.18s ease-out;
}

.topbarLink:hover {
    color: #DCF8FE;
    box-shadow: none;
}

.topbarLink:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.5);
    border-radius: 0px;
}

.topbarSep {
    width: 1px;
    height: 14px;
    background: rgba(174, 181, 206, 0.3);
    flex-shrink: 0;
}

.siteHead {
    background: #ffffff;
    border-bottom: 1px solid rgba(174, 181, 206, 0.25);
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    position: relative;
}

.headShell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 40px;
    min-height: 100px;
}

.brandMount {
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    flex-shrink: 0;
}

.logoBox {
    width: 68px;
    height: 68px;
    background: rgba(220, 248, 254, 0.6);
    border: 1px solid rgba(174, 181, 206, 0.4);
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    border-radius: 10px 0px 10px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    flex-shrink: 0;
}

.logoBox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.brandText {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.brandName {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #32383E;
}

.brandTagline {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #AEB5CE;
    white-space: nowrap;
}

.primNav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.primNavLink {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    text-decoration: none;
    padding: 12px 20px;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: background 0.15s ease-out, border-color 0.15s ease-out, box-shadow 0.2s ease-out;
    white-space: nowrap;
}

.primNavLink:hover {
    background: rgba(220, 248, 254, 0.5);
    border-color: rgba(174, 181, 206, 0.35);
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.07);
}

.primNavLink:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.55);
}

.primNavLink[aria-current="page"] {
    background: #32383E;
    color: #DCF8FE;
    border-color: #32383E;
}

.primNavLink[aria-current="page"]:hover {
    background: #32383E;
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.2);
}

.siteFooter {
    background: #32383E;
    border-top: 3px solid #AEB5CE;
}

.footerShell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 40px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.footerBrand {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footerLogoBox {
    width: 64px;
    height: 64px;
    background: rgba(220, 248, 254, 0.12);
    border: 1px solid rgba(174, 181, 206, 0.35);
    box-shadow: 0 1px 3px -2px rgba(174, 181, 206, 0.05), 0 6px 20px -2px rgba(174, 181, 206, 0.09);
    border-radius: 0px 10px 0px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    flex-shrink: 0;
}

.footerLogoBox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.footerBrandName {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #DCF8FE;
}

.footerAddr {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #AEB5CE;
    font-style: normal;
}

.footerContactLink {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #AEB5CE;
    text-decoration: none;
    display: block;
    transition: color 0.18s ease-out;
}

.footerContactLink:hover {
    color: #DCF8FE;
}

.footerContactLink:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.5);
    border-radius: 0px;
}

.footerCol {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footerColHead {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #DCF8FE;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(174, 181, 206, 0.2);
}

.footerLegal {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footerLegalLink {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #AEB5CE;
    text-decoration: none;
    transition: color 0.15s ease-out;
    padding: 6px 0;
}

.footerLegalLink:hover {
    color: #DCF8FE;
}

.footerLegalLink:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.5);
    border-radius: 0px;
}

.footerAbout {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #AEB5CE;
}

.footerAbout strong {
    color: #DCF8FE;
    font-weight: 700;
}

.footerBottom {
    max-width: 1170px;
    margin: 0 auto;
    padding: 20px 40px 40px;
    border-top: 1px solid rgba(174, 181, 206, 0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.footerCopy {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: rgba(174, 181, 206, 0.6);
}

.cookieBar {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 4000;
    max-width: 420px;
    background: #ffffff;
    border: 1px solid rgba(174, 181, 206, 0.4);
    border-radius: 10px;
    box-shadow: 0 8px 48px -2px rgba(50, 56, 62, 0.14);
    padding: 20px;
    display: none;
}

.cookieDesc {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin-bottom: 12px;
}

.cookieUses {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #AEB5CE;
    padding: 0;
    margin: 0 0 12px 20px;
}

.cookieUses li {
    margin-bottom: 6px;
}

.cookieTitle {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #32383E;
    margin-top: 12px;
    margin-bottom: 12px;
}

.cookieBtns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.cookieAccept {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    background: #32383E;
    border: 1px solid #32383E;
    border-radius: 10px;
    padding: 12px 20px;
    cursor: pointer;
    min-height: 44px;
    transition: background 0.12s ease-out, width 0.18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.15s ease-out;
}

.cookieAccept:hover {
    background: #32383E;
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.25);
}

.cookieAccept:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.55);
}

.cookieReject {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    background: transparent;
    border: 1px solid rgba(174, 181, 206, 0.5);
    border-radius: 10px;
    padding: 12px 20px;
    cursor: pointer;
    min-height: 44px;
    transition: background 0.12s ease-out, border-color 0.15s ease-out, box-shadow 0.15s ease-out;
}

.cookieReject:hover {
    background: rgba(220, 248, 254, 0.3);
    border-color: #AEB5CE;
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.07);
}

.cookieReject:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 181, 206, 0.55);
}

@media (max-width: 1024px) {
    .headShell {
        padding: 0 20px;
        gap: 20px;
        min-height: 88px;
    }

    .topbarShell {
        padding: 0 20px;
    }

    .footerShell {
        padding: 40px 20px 20px;
        grid-template-columns: 1fr 1fr;
    }

    .footerBottom {
        padding: 20px 20px 40px;
    }
}

@media (max-width: 768px) {
    .headShell {
        grid-template-columns: 1fr;
        padding: 20px;
        min-height: auto;
        gap: 12px;
    }

    .brandMount {
        justify-content: flex-start;
    }

    .primNav {
        justify-content: flex-start;
    }

    .topbarContact {
        flex-wrap: wrap;
        gap: 12px;
    }

    .footerShell {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footerBottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .brandTagline {
        display: none;
    }

    .cookieBar {
        left: 12px;
        right: 12px;
        max-width: none;
        top: 12px;
    }

    .topbarLink {
        font-size: 15px;
    }
}

.rules-section {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #32383E;
}

.rules-section h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin-bottom: 40px;
    margin-top: 0;
}

.rules-section h2 {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin-top: 80px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #DCF8FE;
}

.rules-section h3 {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: 0.015em;
    color: #32383E;
    margin-top: 40px;
    margin-bottom: 12px;
}

.rules-section h4 {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #32383E;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.rules-section h5 {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 6px;
}

.rules-section h6 {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 6px;
}

.rules-section p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin-top: 0;
    margin-bottom: 20px;
}

.rules-section ul,
.rules-section ol {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin-top: 0;
    margin-bottom: 20px;
    padding-left: 40px;
}

.rules-section ul {
    list-style: none;
    padding-left: 20px;
}

.rules-section ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 6px;
}

.rules-section ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    background-color: #AEB5CE;
    border-radius: 0px;
    transform: rotate(45deg);
}

.rules-section ol {
    list-style: none;
    counter-reset: policy-counter;
    padding-left: 20px;
}

.rules-section ol li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 6px;
    counter-increment: policy-counter;
}

.rules-section ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #AEB5CE;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.rules-section li {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
}

.rules-section strong,
.rules-section b {
    font-weight: 700;
    color: #32383E;
}

.rules-section em,
.rules-section i {
    font-style: italic;
    color: #32383E;
}

.rules-section table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    border-radius: 10px;
    overflow: hidden;
}

.rules-section thead {
    background-color: #32383E;
}

.rules-section thead th {
    color: #DCF8FE;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    padding: 12px 20px;
    text-align: left;
    border: none;
}

.rules-section tbody tr {
    border-bottom: 1px solid #DCF8FE;
    transition: background-color 0.12s ease-out;
}

.rules-section tbody tr:last-child {
    border-bottom: none;
}

.rules-section tbody tr:hover {
    background-color: #DCF8FE;
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.09);
}

.rules-section td {
    padding: 12px 20px;
    color: #32383E;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    border: none;
    vertical-align: top;
}

.rules-section th {
    padding: 12px 20px;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    border: none;
    vertical-align: top;
}

.rules-section hr {
    border: none;
    border-top: 2px solid #DCF8FE;
    margin-top: 40px;
    margin-bottom: 40px;
    height: 0;
}

@media (max-width: 1024px) {
    .rules-section {
        padding: 80px 40px;
    }

    .rules-section h1 {
        font-size: 31px;
    }
}

@media (max-width: 768px) {
    .rules-section {
        padding: 40px 20px;
    }

    .rules-section h1 {
        font-size: 31px;
        margin-bottom: 20px;
    }

    .rules-section h2 {
        font-size: 23px;
        margin-top: 40px;
    }

    .rules-section h3 {
        font-size: 15px;
        margin-top: 20px;
    }

    .rules-section table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 10px;
    }
}

@media (max-width: 640px) {
    .rules-section {
        padding: 40px 12px;
    }

    .rules-section h1 {
        font-size: 23px;
    }

    .rules-section h2 {
        font-size: 23px;
    }

    .rules-section ul,
    .rules-section ol {
        padding-left: 12px;
    }
}

.abtus {
    background: #fff;
    overflow-x: clip;
}

.abtus .titblk {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 40px;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
}

.abtus .titblk-imgcol {
    position: relative;
    container-type: inline-size;
}

.abtus .titblk-imgframe {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 48px -2px rgba(50, 56, 62, 0.14);
}

.abtus .titblk-imgframe::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(127deg, rgba(174, 181, 206, 0.55) 0%, rgba(174, 181, 206, 0.55) 30%, transparent 30%, transparent 65%, rgba(50, 56, 62, 0.72) 65%);
    z-index: 1;
    pointer-events: none;
}

.abtus .titblk-imgframe img {
    display: block;
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
}

.abtus .titblk-border {
    position: absolute;
    top: 20px;
    left: -20px;
    width: 100%;
    height: 100%;
    border: 2px solid #AEB5CE;
    border-radius: 10px;
    z-index: 0;
    pointer-events: none;
}

.abtus .titblk-diag {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
    border-radius: 10px;
}

.abtus .titblk-diag::after {
    content: "";
    position: absolute;
    top: 0;
    left: 60%;
    width: 1px;
    height: 141%;
    background: rgba(220, 248, 254, 0.35);
    transform: rotate(35deg);
    transform-origin: top left;
}

.abtus .titblk-txtcol {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.abtus .titblk-tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #fff;
    background: #32383E;
    padding: 6px 12px;
    border-radius: 0px;
    width: fit-content;
}

.abtus .titblk-h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0;
    position: relative;
    display: inline-block;
}

.abtus .titblk-h1 .uline {
    position: relative;
    display: inline-block;
}

.abtus .titblk-h1 .uline::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 3px;
    background: #AEB5CE;
    animation: drawline 0.55s cubic-bezier(0.4, 0, 0.6, 1) 0.4s forwards;
}

@keyframes drawline {
    to {
        width: 100%;
    }
}

.abtus .titblk-manifesto {
    font-size: 23px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0;
    border-top: 2px solid #DCF8FE;
    padding-top: 20px;
}

.abtus .titblk-body {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0;
    opacity: 0.82;
}

.abtus .titblk-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #AEB5CE;
    margin-left: 8px;
    vertical-align: middle;
}

.abtus .titblk-readmore {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #32383E;
    background: #DCF8FE;
    padding: 12px 20px;
    border-radius: 0px;
    text-decoration: none;
    width: fit-content;
    transition: padding 0.18s ease-out, box-shadow 0.18s ease-out;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
}

.abtus .titblk-readmore:hover {
    padding: 12px 40px 12px 20px;
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.22), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.abtus .titblk-readmore svg {
    width: 14px;
    height: 14px;
    stroke: #32383E;
    fill: none;
    stroke-width: 2;
    transition: transform 0.14s ease-out;
}

.abtus .titblk-readmore:hover svg {
    transform: translateX(4px);
}

.abtus .teamblk {
    background: #32383E;
    position: relative;
    overflow: hidden;
}

.abtus .teamblk::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 0% 0%, rgba(50, 56, 62, 0) 40%, rgba(20, 24, 28, 0.6) 100%);
    pointer-events: none;
    z-index: 0;
}

.abtus .teamblk-chevpat {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.06;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpolyline points='10,20 20,10 30,20' fill='none' stroke='%23DCF8FE' stroke-width='1.5'/%3E%3Cpolyline points='10,30 20,20 30,30' fill='none' stroke='%23DCF8FE' stroke-width='1.5'/%3E%3C/svg%3E");
    background-size: 40px 40px;
}

.abtus .teamblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 40px;
    position: relative;
    z-index: 1;
}

.abtus .teamblk-head {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 60px;
}

.abtus .teamblk-htxt {
    flex: 1;
}

.abtus .teamblk-label {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin-bottom: 12px;
    display: block;
}

.abtus .teamblk-h2 {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #fff;
    margin: 0;
    position: relative;
    display: inline-block;
}

.abtus .teamblk-h2::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 0;
    height: 2px;
    background: #DCF8FE;
    animation: drawline 0.45s cubic-bezier(0.4, 0, 0.6, 1) 0.6s forwards;
}

.abtus .teamblk-subdesc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(220, 248, 254, 0.72);
    margin: 0;
    max-width: 360px;
}

.abtus .teamblk-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.abtus .teamblk-card {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid rgba(174, 181, 206, 0.15);
    transition: background 0.2s ease-out, box-shadow 0.2s ease-out;
}

.abtus .teamblk-card:hover {
    background: rgba(255, 255, 255, 0.09);
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.08), 0 8px 48px -2px rgba(50, 56, 62, 0.14);
}

.abtus .teamblk-card.featured {
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.abtus .teamblk-portrait {
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.abtus .teamblk-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.22s ease-out;
}

.abtus .teamblk-card:hover .teamblk-portrait img {
    transform: scale(1.03);
}

.abtus .teamblk-pname {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #fff;
    margin: 0 0 6px 0;
}

.abtus .teamblk-prole {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin: 0 0 12px 0;
}

.abtus .teamblk-pdesc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(220, 248, 254, 0.72);
    margin: 0;
}

.abtus .teamblk-statcard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.abtus .teamblk-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(174, 181, 206, 0.12);
}

.abtus .teamblk-stat:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.abtus .teamblk-statnum {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
}

.abtus .teamblk-statlbl {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.6);
}

.abtus .teamblk-wordrow {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.abtus .teamblk-word {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #32383E;
    background: #DCF8FE;
    padding: 6px 12px;
    border-radius: 0px;
    cursor: default;
    transition: background 0.16s ease-out, box-shadow 0.16s ease-out;
}

.abtus .teamblk-word:hover {
    background: #AEB5CE;
    box-shadow: inset 0 2px 3px rgba(50, 56, 62, 0.12);
}

.abtus .valblk {
    background: #fff;
    position: relative;
}

.abtus .valblk-divider {
    width: 100%;
    height: 48px;
    overflow: hidden;
    line-height: 0;
}

.abtus .valblk-divider svg {
    display: block;
    width: 100%;
    height: 48px;
}

.abtus .valblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 40px;
}

.abtus .valblk-toprow {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start;
    margin-bottom: 80px;
}

.abtus .valblk-h2 {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px 0;
    position: relative;
    display: inline-block;
}

.abtus .valblk-h2::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: #AEB5CE;
    animation: drawline 0.45s cubic-bezier(0.4, 0, 0.6, 1) 0.8s forwards;
}

.abtus .valblk-lead {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px 0;
    opacity: 0.8;
}

.abtus .valblk-imgwrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.abtus .valblk-imgwrap img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    animation: wipein 0.5s cubic-bezier(0.4, 0, 0.6, 1) 0.2s both;
}

@keyframes wipein {
    from {
        clip-path: inset(0 100% 0 0);
    }

    to {
        clip-path: inset(0 0% 0 0);
    }
}

.abtus .valblk-imgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(170deg, rgba(220, 248, 254, 0.18) 0%, rgba(220, 248, 254, 0.18) 40%, transparent 40%);
    pointer-events: none;
}

.abtus .valblk-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.abtus .valblk-item {
    background: #DCF8FE;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow 0.2s ease-out, background 0.2s ease-out;
    position: relative;
    overflow: hidden;
}

.abtus .valblk-item::before {
    content: "";
    position: absolute;
    top: -30px;
    right: -20px;
    width: 80px;
    height: 80px;
    border-radius: 0px;
    background: rgba(174, 181, 206, 0.15);
    transform: rotate(35deg);
    pointer-events: none;
}

.abtus .valblk-item:hover {
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.08), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    background: #c8f0f9;
}

.abtus .valblk-inum {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.3;
}

.abtus .valblk-ih4 {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #32383E;
    margin: 0;
}

.abtus .valblk-idesc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0;
    opacity: 0.75;
}

.abtus .valblk-imgrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 0;
}

.abtus .valblk-imgcard {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
    position: relative;
}

.abtus .valblk-imgcard img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.22s ease-out;
}

.abtus .valblk-imgcard:hover img {
    transform: scale(1.04);
}

.abtus .valblk-imgcap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: rgba(50, 56, 62, 0.75);
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #fff;
}

.abtus .valblk-diag {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    border-radius: 10px;
}

.abtus .valblk-diag::after {
    content: "";
    position: absolute;
    top: 0;
    left: 55%;
    width: 1px;
    height: 160%;
    background: rgba(220, 248, 254, 0.4);
    transform: rotate(28deg);
    transform-origin: top left;
}

@media (max-width: 1024px) {
    .abtus .titblk {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 80px 20px;
    }

    .abtus .titblk-h1 {
        font-size: 31px;
    }

    .abtus .titblk-border {
        display: none;
    }

    .abtus .teamblk-grid {
        grid-template-columns: 1fr 1fr;
    }

    .abtus .teamblk-card.featured {
        grid-column: span 2;
        flex-direction: row;
        align-items: flex-start;
    }

    .abtus .teamblk-portrait {
        width: 200px;
        flex-shrink: 0;
        aspect-ratio: 3/4;
    }

    .abtus .valblk-toprow {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .abtus .valblk-inner {
        padding: 80px 20px;
    }
}

@media (max-width: 768px) {
    .abtus .titblk {
        padding: 40px 20px;
        gap: 20px;
    }

    .abtus .teamblk-inner {
        padding: 40px 20px;
    }

    .abtus .teamblk-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin-bottom: 40px;
    }

    .abtus .teamblk-grid {
        grid-template-columns: 1fr;
    }

    .abtus .teamblk-card.featured {
        grid-column: span 1;
        flex-direction: column;
    }

    .abtus .teamblk-portrait {
        width: 100%;
    }

    .abtus .valblk-checklist {
        grid-template-columns: 1fr;
    }

    .abtus .valblk-imgrow {
        grid-template-columns: 1fr;
    }

    .abtus .valblk-inner {
        padding: 40px 20px;
    }

    .abtus .valblk-toprow {
        margin-bottom: 40px;
    }
}

@media (max-width: 640px) {
    .abtus .titblk-h1 {
        font-size: 23px;
    }

    .abtus .titblk-manifesto {
        font-size: 15px;
    }

    .abtus .teamblk-h2 {
        font-size: 23px;
    }
}

.archv {
    background: #fff;
    overflow-x: clip;
}

.archv * {
    box-sizing: border-box;
}

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

.archv .arcband {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 20px;
}

.archv .tstrip {
    padding: 40px 0;
    background: #fff;
    position: relative;
}

.archv .tstrip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #AEB5CE 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: 0.18;
    pointer-events: none;
}

.archv .tstrip .arcband {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
}

.archv .tstriptext {
    flex: 1 1 0;
    min-width: 0;
}

.archv .tstriptext h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px 0;
    position: relative;
    display: inline-block;
}

.archv .tstriptext h1::after {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #DCF8FE 0% 30%, #AEB5CE 30% 70%, #32383E 70% 100%);
    width: 0;
    animation: hdrul 0.45s cubic-bezier(0.4, 0, 0.6, 1) 0.2s forwards;
}

@keyframes hdrul {
    to {
        width: 100%;
    }
}

.archv .tstriptext .tagline {
    font-size: 23px;
    line-height: 1.7;
    color: #32383E;
    margin: 0;
    letter-spacing: 0.02em;
    max-width: 540px;
}

.archv .tstripimg {
    flex: 0 0 320px;
    width: 320px;
    height: 220px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    opacity: 0;
    animation: fadeimg 0.5s cubic-bezier(0.4, 0, 0.6, 1) 0.35s forwards;
}

@keyframes fadeimg {
    to {
        opacity: 1;
    }
}

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

.archv .wavdiv {
    line-height: 0;
    background: #fff;
}

.archv .wavdiv svg {
    display: block;
    width: 100%;
}

.archv .artgrid {
    background: #32383E;
    padding: 80px 0;
    position: relative;
}

.archv .artgrid::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(180deg,
            transparent 0px,
            transparent 18px,
            rgba(174, 181, 206, 0.07) 18px,
            rgba(174, 181, 206, 0.07) 20px),
        repeating-linear-gradient(90deg,
            transparent 0px,
            transparent 38px,
            rgba(174, 181, 206, 0.04) 38px,
            rgba(174, 181, 206, 0.04) 40px);
    pointer-events: none;
}

.archv .artgrid .arcband {
    position: relative;
    z-index: 1;
}

.archv .gridlabel {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    text-transform: uppercase;
    margin: 0 0 12px 0;
}

.archv .gridh2 {
    font-size: 31px;
    line-height: 1.2;
    color: #DCF8FE;
    margin: 0 0 40px 0;
    letter-spacing: 0.01em;
    position: relative;
    display: inline-block;
}

.archv .gridh2::after {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, #DCF8FE 0% 30%, #AEB5CE 30% 70%, #32383E 70% 100%);
    width: 0;
    animation: hdrul2 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.5s forwards;
}

@keyframes hdrul2 {
    to {
        width: 100%;
    }
}

.archv .artlist {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.archv .artitem {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border-radius: 10px;
    border: 1px solid rgba(174, 181, 206, 0.18);
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
    transition: box-shadow 0.18s cubic-bezier(0.4, 0, 0.6, 1), border-color 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.archv .artitem:hover {
    box-shadow: 0 8px 48px -2px rgba(174, 181, 206, 0.14);
    border-color: rgba(220, 248, 254, 0.35);
}

.archv .artitem:nth-child(even) {
    flex-direction: row-reverse;
}

.archv .artnum {
    flex: 0 0 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 248, 254, 0.08);
    font-size: 31px;
    line-height: 1.2;
    color: rgba(220, 248, 254, 0.3);
    letter-spacing: 0.01em;
    font-weight: 700;
    border-right: 1px solid rgba(174, 181, 206, 0.1);
}

.archv .artitem:nth-child(even) .artnum {
    border-right: none;
    border-left: 1px solid rgba(174, 181, 206, 0.1);
}

.archv .artbody {
    flex: 1 1 0;
    padding: 20px;
    min-width: 0;
}

.archv .artcat {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin: 0 0 6px 0;
    text-transform: uppercase;
}

.archv .artbody h3 {
    font-size: 23px;
    line-height: 1.2;
    color: #DCF8FE;
    margin: 0 0 12px 0;
    letter-spacing: 0.01em;
}

.archv .artbody p {
    font-size: 15px;
    line-height: 1.7;
    color: #AEB5CE;
    margin: 0;
    letter-spacing: 0.01em;
}

.archv .artlink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 15px;
    color: #DCF8FE;
    letter-spacing: 0.02em;
    transition: gap 0.15s ease-out;
}

.archv .artlink svg {
    opacity: 0;
    transition: opacity 0.15s ease-out;
}

.archv .artitem:hover .artlink svg {
    opacity: 1;
}

.archv .artitem:hover .artlink {
    gap: 12px;
}

.archv .artlist:has(.artitem:hover) .artitem:not(:hover) {
    opacity: 0.55;
    transition: opacity 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.archv .artlist .artitem {
    transition: opacity 0.18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.6, 1), border-color 0.18s cubic-bezier(0.4, 0, 0.6, 1);
}

.archv .wavdiv2 {
    line-height: 0;
    background: #32383E;
}

.archv .wavdiv2 svg {
    display: block;
    width: 100%;
}

.archv .metasec {
    background: #DCF8FE;
    padding: 80px 0;
}

.archv .metasec .arcband {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.archv .metaleft h2 {
    font-size: 31px;
    line-height: 1.2;
    color: #32383E;
    margin: 0 0 20px 0;
    letter-spacing: 0.01em;
    position: relative;
    display: inline-block;
}

.archv .metaleft h2::after {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, #32383E 0% 30%, #AEB5CE 30% 70%, #DCF8FE 70% 100%);
    width: 0;
    animation: hdrul3 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.6s forwards;
}

@keyframes hdrul3 {
    to {
        width: 100%;
    }
}

.archv .metaleft p {
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    margin: 0 0 20px 0;
    letter-spacing: 0.01em;
}

.archv .metaleft p:last-child {
    margin-bottom: 0;
}

.archv .metaright {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.archv .topiccard {
    border-radius: 10px;
    border: 1px solid rgba(50, 56, 62, 0.12);
    background: #fff;
    padding: 20px;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
    transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.6, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.6, 1);
    position: relative;
    overflow: hidden;
}

.archv .topiccard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #DCF8FE 0% 30%, #AEB5CE 30% 70%, #32383E 70% 100%);
    border-radius: 10px 10px 0 0;
}

.archv .topiccard:hover {
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    border-color: rgba(50, 56, 62, 0.22);
}

.archv .topiccard h4 {
    font-size: 15px;
    line-height: 1.2;
    color: #32383E;
    margin: 0 0 6px 0;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.archv .topiccard p {
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    margin: 0;
    letter-spacing: 0.01em;
    opacity: 0.8;
}

.archv .glowborder {
    border-radius: 10px;
    border: 1.5px solid rgba(174, 181, 206, 0.0);
    animation: glowbuild 0.9s cubic-bezier(0.4, 0, 0.6, 1) 0.8s forwards;
}

@keyframes glowbuild {
    0% {
        border-color: rgba(174, 181, 206, 0.0);
        box-shadow: none;
    }

    100% {
        border-color: rgba(174, 181, 206, 0.45);
        box-shadow: 0 0 0 4px rgba(220, 248, 254, 0.18), 0 6px 20px -2px rgba(174, 181, 206, 0.09);
    }
}

@media (max-width: 1024px) {
    .archv .tstriptext h1 {
        font-size: 31px;
    }

    .archv .tstripimg {
        flex: 0 0 240px;
        width: 240px;
        height: 180px;
    }

    .archv .metasec .arcband {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .archv .tstrip .arcband {
        flex-direction: column;
        gap: 20px;
    }

    .archv .tstripimg {
        flex: 0 0 auto;
        width: 100%;
        height: 180px;
    }

    .archv .tstriptext h1 {
        font-size: 31px;
    }

    .archv .artitem,
    .archv .artitem:nth-child(even) {
        flex-direction: column;
    }

    .archv .artnum {
        flex: 0 0 48px;
        height: 48px;
        border-right: none;
        border-bottom: 1px solid rgba(174, 181, 206, 0.1);
    }

    .archv .artitem:nth-child(even) .artnum {
        border-left: none;
        border-bottom: 1px solid rgba(174, 181, 206, 0.1);
    }
}

@media (max-width: 640px) {
    .archv .tstrip {
        padding: 20px 0;
    }

    .archv .artgrid {
        padding: 40px 0;
    }

    .archv .metasec {
        padding: 40px 0;
    }

    .archv .tstriptext .tagline {
        font-size: 15px;
    }
}

.frst {
    overflow-x: hidden;
}

.frst .titblk {
    position: relative;
    padding: 80px 20px;
    max-width: 1170px;
    margin: 0 auto;
}

.frst .titblk-grid {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
}

.frst .titblk-imgzone {
    flex: 1 1 52%;
    position: relative;
}

.frst .titblk-imgwrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}

.frst .titblk-imgwrap img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.frst .titblk-imgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 60% 40%, transparent 30%, rgba(50, 56, 62, 0.38) 100%);
    pointer-events: none;
}

.frst .titblk-shape1 {
    position: absolute;
    width: 120px;
    height: 120px;
    border: 2px solid rgba(174, 181, 206, 0.35);
    border-radius: 10px;
    top: -20px;
    left: -20px;
    pointer-events: none;
    transform: rotate(12deg);
}

.frst .titblk-shape2 {
    position: absolute;
    width: 60px;
    height: 60px;
    background: rgba(220, 248, 254, 0.55);
    border-radius: 10px;
    bottom: 30px;
    right: -16px;
    pointer-events: none;
    transform: rotate(-8deg);
}

.frst .titblk-txt {
    flex: 1 1 44%;
    padding: 20px 0;
}

.frst .titblk-eyebrow {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin-bottom: 12px;
    display: block;
}

.frst .titblk-h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
}

.frst .titblk-sub {
    font-size: 23px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    opacity: 0.82;
}

.frst .titblk-thesis {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.72;
    margin: 0 0 40px;
}

.frst .titblk-arrow {
    display: inline-block;
    color: #AEB5CE;
    font-size: 23px;
    margin-left: 6px;
    transition: transform 0.18s ease-out;
}

.frst .titblk-cta {
    display: inline-flex;
    align-items: center;
    background: #32383E;
    color: #DCF8FE;
    font-size: 15px;
    letter-spacing: 0.02em;
    padding: 12px 40px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: padding 0.2s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.18s ease-out;
    text-decoration: none;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.frst .titblk-cta:hover {
    padding: 12px 52px;
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.13), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.frst .titblk-cta:hover .titblk-arrow {
    transform: translateX(6px);
}

.frst .titblk-divider {
    border: none;
    border-top: 1px solid rgba(174, 181, 206, 0.3);
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .titblk-divider::before,
.frst .titblk-divider::after {
    content: "";
    position: absolute;
    top: -4px;
    width: 1px;
    height: 8px;
    background: rgba(174, 181, 206, 0.5);
}

.frst .titblk-divider::before {
    left: 20%;
}

.frst .titblk-divider::after {
    left: 80%;
}

.frst .investblk {
    padding: 80px 20px;
    background: #fff;
}

.frst .investblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: center;
}

.frst .investblk-img {
    flex: 0 0 420px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 48px -2px rgba(174, 181, 206, 0.14);
}

.frst .investblk-img img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.frst .investblk-body {
    flex: 1 1 0;
}

.frst .investblk-label {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin-bottom: 12px;
    display: block;
}

.frst .investblk-h2 {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    position: relative;
    display: inline-block;
}

.frst .investblk-h2::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 2px;
    width: 0;
    background: #AEB5CE;
    transition: width 0.45s cubic-bezier(0.4, 0, 0.6, 1);
}

.frst .investblk-h2:hover::after {
    width: 100%;
}

.frst .investblk-p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.78;
    margin: 0 0 20px;
}

.frst .investblk-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.frst .investblk-item {
    background: rgba(220, 248, 254, 0.38);
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    letter-spacing: 0.01em;
}

.frst .investblk-item strong {
    color: #32383E;
}

.frst .div2 {
    border: none;
    border-top: 1px solid rgba(174, 181, 206, 0.25);
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .div2::before,
.frst .div2::after {
    content: "";
    position: absolute;
    top: -4px;
    width: 1px;
    height: 8px;
    background: rgba(174, 181, 206, 0.4);
}

.frst .div2::before {
    left: 33%;
}

.frst .div2::after {
    left: 66%;
}

.frst .scaleblk {
    padding: 80px 20px;
    background: linear-gradient(160deg, #32383E 0%, #32383E 48%, #AEB5CE 48%, #DCF8FE 100%);
}

.frst .scaleblk-inner {
    max-width: 1170px;
    margin: 0 auto;
}

.frst .scaleblk-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

.frst .scaleblk-hed {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    margin: 0;
    flex: 1 1 auto;
}

.frst .scaleblk-desc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(220, 248, 254, 0.75);
    flex: 0 0 360px;
    margin: 0;
}

.frst .scaleblk-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.frst .metric-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(220, 248, 254, 0.15);
    border-radius: 10px;
    padding: 20px;
    transition: background 0.18s ease-out, box-shadow 0.18s ease-out;
}

.frst .metric-card:hover {
    background: rgba(255, 255, 255, 0.11);
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.12);
}

.frst .metric-num {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    display: block;
}

.frst .metric-unit {
    font-size: 23px;
    color: #AEB5CE;
}

.frst .metric-lbl {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(220, 248, 254, 0.65);
    letter-spacing: 0.01em;
    margin-top: 6px;
    display: block;
}

.frst .div3 {
    border: none;
    border-top: 1px solid rgba(50, 56, 62, 0.12);
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .div3::before {
    content: "";
    position: absolute;
    top: -4px;
    left: 50%;
    width: 1px;
    height: 8px;
    background: rgba(50, 56, 62, 0.2);
}

.frst .expblk {
    padding: 80px 20px;
    background: #fff;
    position: relative;
}

.frst .expblk-bg {
    position: absolute;
    inset: 0;
    background-image: url("./assets_gallery/menu-visual-visual.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0.07;
    pointer-events: none;
}

.frst .expblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .expblk-hed {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 40px;
    text-align: center;
}

.frst .expblk-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.frst .exp-card {
    background: rgba(220, 248, 254, 0.22);
    border-radius: 10px;
    padding: 40px;
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
    transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.6, 1);
}

.frst .exp-card:hover {
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.08), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.frst .exp-portrait {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.frst .exp-portrait img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.frst .exp-body {
    flex: 1 1 0;
}

.frst .exp-name {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #32383E;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.frst .exp-role {
    font-size: 15px;
    color: #AEB5CE;
    letter-spacing: 0.01em;
    margin-bottom: 12px;
    display: block;
}

.frst .exp-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    opacity: 0.78;
    margin: 0;
    letter-spacing: 0.01em;
}

.frst .expblk-feed {
    margin-top: 40px;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 6px 20px -2px rgba(174, 181, 206, 0.09);
}

.frst .feed-hed {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #AEB5CE;
    margin-bottom: 20px;
    display: block;
}

.frst .feed-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.frst .feed-entry {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    opacity: 0.82;
    letter-spacing: 0.01em;
}

.frst .feed-dot {
    width: 8px;
    height: 8px;
    border-radius: 0px;
    background: #AEB5CE;
    flex-shrink: 0;
    transform: rotate(45deg);
}

.frst .feed-time {
    font-size: 15px;
    color: #AEB5CE;
    letter-spacing: 0.01em;
    flex-shrink: 0;
    min-width: 80px;
}

.frst .div4 {
    border: none;
    border-top: 1px solid rgba(174, 181, 206, 0.25);
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .div4::before,
.frst .div4::after {
    content: "";
    position: absolute;
    top: -4px;
    width: 1px;
    height: 8px;
    background: rgba(174, 181, 206, 0.4);
}

.frst .div4::before {
    left: 25%;
}

.frst .div4::after {
    left: 75%;
}

.frst .longblk {
    padding: 80px 20px;
    background: rgba(220, 248, 254, 0.18);
    position: relative;
    overflow: hidden;
}

.frst .longblk-curve {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 260px;
    height: 260px;
    border: 2px solid rgba(174, 181, 206, 0.22);
    border-radius: 10px;
    pointer-events: none;
    transform: rotate(22deg);
}

.frst .longblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
}

.frst .longblk-txt {
    flex: 1 1 0;
}

.frst .longblk-hed {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    position: relative;
    display: inline-block;
}

.frst .longblk-hed::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 2px;
    width: 0;
    background: #32383E;
    transition: width 0.42s cubic-bezier(0.4, 0, 0.6, 1);
}

.frst .longblk-hed:hover::after {
    width: 100%;
}

.frst .longblk-p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.78;
    margin: 0 0 20px;
}

.frst .longblk-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.frst .lstep {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
    transition: box-shadow 0.15s ease-out;
}

.frst .lstep:hover {
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.07), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.frst .lstep-num {
    font-size: 23px;
    line-height: 1.2;
    color: #AEB5CE;
    letter-spacing: 0.01em;
    flex-shrink: 0;
    min-width: 40px;
}

.frst .lstep-body {
    flex: 1 1 0;
}

.frst .lstep-title {
    font-size: 15px;
    letter-spacing: 0.01em;
    color: #32383E;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.frst .lstep-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    opacity: 0.72;
    margin: 0;
    letter-spacing: 0.01em;
}

.frst .longblk-img {
    flex: 0 0 380px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 48px -2px rgba(174, 181, 206, 0.14);
    margin-top: 40px;
}

.frst .longblk-img img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.frst .div5 {
    border: none;
    border-top: 1px solid rgba(174, 181, 206, 0.25);
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.frst .div5::before,
.frst .div5::after {
    content: "";
    position: absolute;
    top: -4px;
    width: 1px;
    height: 8px;
    background: rgba(174, 181, 206, 0.4);
}

.frst .div5::before {
    left: 40%;
}

.frst .div5::after {
    left: 60%;
}

.frst .whoблк {
    padding: 80px 20px;
    background: #32383E;
}

.frst .whoblk-inner {
    max-width: 1170px;
    margin: 0 auto;
}

.frst .whoblk-hed {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    margin: 0 0 12px;
}

.frst .whoblk-sub {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(220, 248, 254, 0.65);
    margin: 0 0 40px;
    letter-spacing: 0.01em;
    max-width: 560px;
}

.frst .whoblk-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.frst .whocol {
    border-radius: 10px;
    padding: 40px;
}

.frst .whocol.fits {
    background: rgba(220, 248, 254, 0.08);
    border: 1px solid rgba(220, 248, 254, 0.15);
}

.frst .whocol.notfit {
    background: rgba(174, 181, 206, 0.06);
    border: 1px solid rgba(174, 181, 206, 0.12);
}

.frst .whocol-hed {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    margin: 0 0 20px;
}

.frst .whocol.notfit .whocol-hed {
    color: #AEB5CE;
}

.frst .whocol-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.frst .whocol-item {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(220, 248, 254, 0.78);
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: flex-start;
}

.frst .whocol.notfit .whocol-item {
    color: rgba(174, 181, 206, 0.72);
}

.frst .whocol-icon {
    width: 6px;
    height: 6px;
    background: #DCF8FE;
    border-radius: 0;
    flex-shrink: 0;
    margin-top: 8px;
    transform: rotate(45deg);
}

.frst .whocol.notfit .whocol-icon {
    background: #AEB5CE;
}

.frst .whoblk-note {
    margin-top: 40px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(220, 248, 254, 0.45);
    letter-spacing: 0.01em;
    text-align: center;
}

@keyframes radshift {
    0% {
        background-position: 20% 30%;
    }

    50% {
        background-position: 75% 65%;
    }

    100% {
        background-position: 20% 30%;
    }
}

.frst .scaleblk {
    background: linear-gradient(160deg, #32383E 0%, #32383E 48%, #AEB5CE 48%, #DCF8FE 100%);
    animation: none;
}

.frst .scaleblk-inner {
    position: relative;
}

.frst .scaleblk-radial {
    position: absolute;
    inset: -80px;
    background: radial-gradient(ellipse 400px 300px at var(--rx, 30%) var(--ry, 40%), rgba(220, 248, 254, 0.09) 0%, transparent 70%);
    pointer-events: none;
    animation: radmove 9s ease-in-out infinite;
}

@keyframes radmove {
    0% {
        --rx: 20%;
        --ry: 35%;
    }

    33% {
        --rx: 70%;
        --ry: 60%;
    }

    66% {
        --rx: 45%;
        --ry: 20%;
    }

    100% {
        --rx: 20%;
        --ry: 35%;
    }
}

@supports (animation-timeline: scroll()) {
    .frst .scaleblk-radial {
        animation: radmove 9s ease-in-out infinite;
    }
}

@media (max-width: 1024px) {
    .frst .titblk-h1 {
        font-size: 31px;
    }

    .frst .titblk-grid {
        flex-direction: column;
    }

    .frst .titblk-imgzone {
        flex: 1 1 auto;
        width: 100%;
    }

    .frst .titblk-imgwrap img {
        height: 320px;
    }

    .frst .investblk-inner {
        flex-direction: column;
        gap: 40px;
    }

    .frst .investblk-img {
        flex: 0 0 auto;
        width: 100%;
    }

    .frst .scaleblk-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .frst .scaleblk-top {
        flex-direction: column;
        gap: 20px;
    }

    .frst .scaleblk-desc {
        flex: 1 1 auto;
    }

    .frst .longblk-inner {
        flex-direction: column;
        gap: 40px;
    }

    .frst .longblk-img {
        flex: 0 0 auto;
        width: 100%;
    }

    .frst .expblk-grid {
        grid-template-columns: 1fr;
    }

    .frst .whoblk-cols {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .frst .metric-num {
        font-size: 31px;
    }
}

@media (max-width: 768px) {
    .frst .titblk {
        padding: 40px 20px;
    }

    .frst .investblk,
    .frst .expblk,
    .frst .longblk,
    .frst .whoблк {
        padding: 40px 20px;
    }

    .frst .scaleblk {
        padding: 40px 20px;
    }

    .frst .scaleblk-metrics {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .frst .exp-card {
        padding: 20px;
    }

    .frst .whocol {
        padding: 20px;
    }

    .frst .lstep {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 640px) {
    .frst .scaleblk-metrics {
        grid-template-columns: 1fr;
    }

    .frst .titblk-h1 {
        font-size: 23px;
    }

    .frst .longblk-img img {
        height: 240px;
    }

    .frst .investblk-img img {
        height: 220px;
    }
}

.ctus {
    background: #fff;
    overflow-x: clip;
}

.ctus .pgrid {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 20px;
}

.ctus .titblock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
    position: relative;
}

.ctus .titimg {
    position: relative;
    overflow: hidden;
}

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

.ctus .titimg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(50, 56, 62, 0.62) 0%, rgba(50, 56, 62, 0.62) 40%, rgba(174, 181, 206, 0.38) 100%);
    pointer-events: none;
}

.ctus .tittext {
    background: #DCF8FE;
    padding: 80px 40px 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.ctus .dotgrid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    background-image: radial-gradient(circle, rgba(50, 56, 62, 0.13) 1.5px, transparent 1.5px);
    background-size: 22px 22px;
}

.ctus .strokes {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    pointer-events: none;
}

.ctus .strokes span {
    display: block;
    height: 2px;
    background: rgba(50, 56, 62, 0.22);
    border-radius: 0px;
}

.ctus .strokes span:nth-child(1) {
    width: 32px;
}

.ctus .strokes span:nth-child(2) {
    width: 24px;
}

.ctus .strokes span:nth-child(3) {
    width: 40px;
}

.ctus .strokes span:nth-child(4) {
    width: 20px;
}

.ctus .tlab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 20px;
}

.ctus .tlab .dot {
    width: 10px;
    height: 10px;
    border-radius: 0px;
    background: #32383E;
    display: block;
    flex-shrink: 0;
}

.ctus .tlab span {
    font-size: 15px;
    color: #32383E;
    letter-spacing: 0.02em;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
}

.ctus .tittext h1 {
    font-size: 31px;
    line-height: 1.2;
    color: #32383E;
    letter-spacing: 0.01em;
    margin: 0 0 20px 0;
    animation: trackIn 0.5s cubic-bezier(0.4, 0, 0.6, 1) both;
}

@keyframes trackIn {
    from {
        letter-spacing: -0.04em;
        opacity: 0.4;
    }

    to {
        letter-spacing: 0.01em;
        opacity: 1;
    }
}

.ctus .tittext p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(50, 56, 62, 0.82);
    letter-spacing: 0.01em;
    margin: 0 0 20px 0;
    max-width: 420px;
}

.ctus .cinfo {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.ctus .cinforow {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ctus .cinforow .cdot {
    width: 8px;
    height: 8px;
    border-radius: 0px;
    background: #AEB5CE;
    flex-shrink: 0;
    margin-top: 6px;
}

.ctus .cinforow a,
.ctus .cinforow address {
    font-size: 15px;
    line-height: 1.7;
    color: #32383E;
    letter-spacing: 0.01em;
    font-style: normal;
    text-decoration: none;
    transition: color 0.18s ease-out;
}

.ctus .cinforow a:hover {
    color: #AEB5CE;
}

.ctus .divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 0;
}

.ctus .divider .dline {
    flex: 1;
    height: 1px;
    background: #AEB5CE;
    max-width: 80px;
}

.ctus .divider .dendot {
    width: 6px;
    height: 6px;
    border-radius: 0px;
    background: #AEB5CE;
    flex-shrink: 0;
}

.ctus .formblock {
    background: #fff;
    padding: 80px 0;
}

.ctus .formlayout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start;
}

.ctus .formsidebar {
    position: relative;
    padding: 40px;
    background: #32383E;
    border-radius: 0px;
    box-shadow: 0 8px 48px -2px rgba(50, 56, 62, 0.14);
}

.ctus .formsidebar h2 {
    font-size: 23px;
    line-height: 1.2;
    color: #DCF8FE;
    letter-spacing: 0.01em;
    margin: 0 0 20px 0;
}

.ctus .formsidebar p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(220, 248, 254, 0.72);
    letter-spacing: 0.01em;
    margin: 0 0 40px 0;
}

.ctus .compblock {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 20px;
}

.ctus .compoption {
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 0px;
    border: 1px solid rgba(174, 181, 206, 0.18);
    position: relative;
    transition: border-color 0.18s ease-out, background 0.22s ease-out;
}

.ctus .compoption.recommended {
    border-color: #DCF8FE;
    background: rgba(220, 248, 254, 0.08);
}

.ctus .compoption .optlabel {
    font-size: 15px;
    color: #DCF8FE;
    line-height: 1.2;
    letter-spacing: 0.01em;
    font-weight: 600;
    margin-bottom: 6px;
}

.ctus .compoption .optdesc {
    font-size: 15px;
    color: rgba(220, 248, 254, 0.55);
    line-height: 1.7;
    letter-spacing: 0.01em;
    margin: 0;
}

.ctus .compoption .recbadge {
    position: absolute;
    top: -1px;
    right: 12px;
    background: #DCF8FE;
    color: #32383E;
    font-size: 15px;
    padding: 2px 6px;
    border-radius: 0px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
    font-size: 15px;
}

.ctus .sidebarstrokes {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    pointer-events: none;
}

.ctus .sidebarstrokes span {
    display: block;
    height: 2px;
    background: rgba(220, 248, 254, 0.18);
    border-radius: 0px;
}

.ctus .sidebarstrokes span:nth-child(1) {
    width: 28px;
}

.ctus .sidebarstrokes span:nth-child(2) {
    width: 18px;
}

.ctus .sidebarstrokes span:nth-child(3) {
    width: 36px;
}

.ctus .formarea {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ctus .formarea h3 {
    font-size: 23px;
    line-height: 1.2;
    color: #32383E;
    letter-spacing: 0.01em;
    margin: 0 0 6px 0;
    position: relative;
    display: inline-block;
}

.ctus .formarea h3::after {
    content: "";
    display: block;
    height: 2px;
    background: #AEB5CE;
    width: 0;
    margin-top: 6px;
    animation: underlineIn 0.42s 0.2s cubic-bezier(0.4, 0, 0.6, 1) forwards;
}

@keyframes underlineIn {
    to {
        width: 100%;
    }
}

.ctus .formarea .formdesc {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(50, 56, 62, 0.7);
    letter-spacing: 0.01em;
    margin: 0;
}

.ctus .fieldrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.ctus .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ctus .field.full {
    grid-column: 1 / -1;
}

.ctus .field label {
    font-size: 15px;
    color: #32383E;
    letter-spacing: 0.01em;
    line-height: 1.2;
    font-weight: 600;
}

.ctus .field input[type="text"],
.ctus .field input[type="email"],
.ctus .field input[type="tel"] {
    padding: 12px;
    border: 1px solid rgba(174, 181, 206, 0.5);
    border-radius: 0px;
    background: #fff;
    font-size: 15px;
    color: #32383E;
    letter-spacing: 0.01em;
    line-height: 1.7;
    box-shadow: inset 0 2px 4px -1px rgba(50, 56, 62, 0.05);
    transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.ctus .field input[type="text"]::placeholder,
.ctus .field input[type="email"]::placeholder,
.ctus .field input[type="tel"]::placeholder {
    color: rgba(174, 181, 206, 0.8);
    text-overflow: ellipsis;
}

.ctus .field input[type="text"]:focus,
.ctus .field input[type="email"]:focus,
.ctus .field input[type="tel"]:focus {
    border-color: #32383E;
    box-shadow: inset 0 2px 4px -1px rgba(50, 56, 62, 0.09);
}

.ctus .field input[type="text"]:hover,
.ctus .field input[type="email"]:hover,
.ctus .field input[type="tel"]:hover {
    border-color: #AEB5CE;
}

.ctus .chkgroup {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ctus .chkgroup .grouplabel {
    font-size: 15px;
    color: #32383E;
    letter-spacing: 0.01em;
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 6px;
}

.ctus .chkrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.ctus .chklabel {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 12px;
    border: 1px solid rgba(174, 181, 206, 0.4);
    border-radius: 0px;
    transition: border-color 0.15s ease-out, background 0.2s ease-out;
    position: relative;
}

.ctus .chklabel:hover {
    border-color: #32383E;
    background: rgba(220, 248, 254, 0.3);
    box-shadow: inset 0 1px 3px -1px rgba(50, 56, 62, 0.07);
}

.ctus .chklabel input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #32383E;
    flex-shrink: 0;
    cursor: pointer;
}

.ctus .chklabel .chktxt {
    font-size: 15px;
    color: #32383E;
    letter-spacing: 0.01em;
    line-height: 1.2;
}

.ctus .chklabel .chkdot {
    width: 8px;
    height: 8px;
    border-radius: 0px;
    background: #AEB5CE;
    flex-shrink: 0;
    margin-left: auto;
}

.ctus .privacyrow {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: rgba(220, 248, 254, 0.35);
    border-radius: 0px;
    border: 1px solid rgba(174, 181, 206, 0.3);
}

.ctus .privacyrow input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #32383E;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer;
}

.ctus .privacyrow .privtxt {
    font-size: 15px;
    color: rgba(50, 56, 62, 0.75);
    line-height: 1.7;
    letter-spacing: 0.01em;
}

.ctus .privacyrow .privtxt a {
    color: #32383E;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s ease-out;
}

.ctus .privacyrow .privtxt a:hover {
    color: #AEB5CE;
}

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

.ctus .subbtn {
    display: inline-block;
    padding: 12px 40px;
    background: #32383E;
    color: #DCF8FE;
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    font-weight: 700;
    border: none;
    border-radius: 0px;
    cursor: pointer;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    transition: background 0.2s ease-out, padding 0.18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow 0.18s ease-out;
    position: relative;
}

.ctus .subbtn:hover {
    background: #AEB5CE;
    color: #32383E;
    padding: 12px 52px;
    box-shadow: inset 0 2px 4px -1px rgba(50, 56, 62, 0.12), 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.ctus .subbtn:focus {
    outline: 2px solid #32383E;
    outline-offset: 3px;
}

.ctus .subbtn:active {
    box-shadow: inset 0 2px 4px -1px rgba(50, 56, 62, 0.18);
}

.ctus .arrowaccent {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #AEB5CE;
    margin-left: 6px;
    vertical-align: middle;
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    .ctus .titblock {
        grid-template-columns: 1fr 1fr;
    }

    .ctus .formlayout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ctus .formsidebar {
        order: 2;
    }

    .ctus .formarea {
        order: 1;
    }
}

@media (max-width: 768px) {
    .ctus .titblock {
        grid-template-columns: 1fr;
    }

    .ctus .titimg {
        min-height: 240px;
    }

    .ctus .tittext {
        padding: 40px 20px;
    }

    .ctus .fieldrow {
        grid-template-columns: 1fr;
    }

    .ctus .chkrow {
        grid-template-columns: 1fr;
    }

    .ctus .formblock {
        padding: 40px 0;
    }

    .ctus .submitrow {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .ctus .tittext h1 {
        font-size: 23px;
    }

    .ctus .formsidebar h2 {
        font-size: 23px;
    }

    .ctus .formsidebar {
        padding: 20px;
    }
}

.srvc {
    background: #fff;
    overflow-x: clip;
    position: relative;
}

.srvc * {
    box-sizing: border-box;
}

.srvc a {
    color: #32383E;
    text-decoration: none;
    transition: color 0.18s ease-out;
}

.srvc a:hover {
    color: #AEB5CE;
}

.srvc .pg-wrap {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── TITLE BLOCK ── */
.srvc .titblk {
    padding: 80px 20px 40px;
    text-align: center;
    position: relative;
}

.srvc .titblk-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
}

.srvc .titblk-geo {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 320px;
    border: 1.5px solid rgba(174, 181, 206, 0.18);
    border-radius: 0px;
    pointer-events: none;
    animation: geoSpin 18s linear infinite;
}

.srvc .titblk-geo2 {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%) rotate(22deg);
    width: 240px;
    height: 240px;
    border: 1px solid rgba(220, 248, 254, 0.35);
    border-radius: 0px;
    pointer-events: none;
    animation: geoSpin 26s linear infinite reverse;
}

@keyframes geoSpin {
    from {
        transform: translateX(-50%) rotate(0deg);
    }

    to {
        transform: translateX(-50%) rotate(360deg);
    }
}

.srvc .titblk-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AEB5CE;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.srvc .titblk-imgwrap {
    width: 220px;
    height: 160px;
    margin: 0 auto 20px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.srvc .titblk-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(0px) grayscale(15%);
    transition: filter 0.45s cubic-bezier(0.4, 0, 0.6, 1);
}

.srvc .titblk-imgwrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(220, 248, 254, 0.45) 0%, rgba(220, 248, 254, 0.45) 40%, rgba(174, 181, 206, 0.25) 100%);
    pointer-events: none;
    border-radius: 10px;
}

.srvc .titblk-imgwrap:hover img {
    filter: blur(0px) grayscale(0%);
}

.srvc .titblk-grain {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
    opacity: 0.5;
    pointer-events: none;
}

.srvc .titblk-h1 {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    position: relative;
    z-index: 1;
    animation: revealDown 0.55s cubic-bezier(0.4, 0, 0.6, 1) both;
}

@keyframes revealDown {
    from {
        opacity: 0;
        transform: translateY(-18px);
    }

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

.srvc .titblk-sub {
    font-size: 23px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    max-width: 560px;
    margin: 0 auto 20px;
    position: relative;
    z-index: 1;
    opacity: 0.82;
    animation: revealDown 0.65s 0.1s cubic-bezier(0.4, 0, 0.6, 1) both;
}

.srvc .titblk-arrow {
    display: inline-block;
    width: 36px;
    height: 2px;
    background: #AEB5CE;
    position: relative;
    vertical-align: middle;
    margin-left: 12px;
    animation: revealDown 0.75s 0.2s cubic-bezier(0.4, 0, 0.6, 1) both;
}

.srvc .titblk-arrow::after {
    content: '';
    position: absolute;
    right: 0;
    top: -4px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #AEB5CE;
    border-right: 2px solid #AEB5CE;
    transform: rotate(45deg);
}

/* ── SERVICES GRID ── */
.srvc .srvgrid {
    padding: 80px 20px;
    background: #32383E;
}

.srvc .srvgrid-inner {
    max-width: 1170px;
    margin: 0 auto;
}

.srvc .srvgrid-label {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AEB5CE;
    margin-bottom: 20px;
    display: block;
}

.srvc .srvgrid-head {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    margin: 0 0 40px;
    max-width: 520px;
    position: relative;
    display: inline-block;
}

.srvc .srvgrid-head::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 2px;
    background: #AEB5CE;
    transition: width 0.55s cubic-bezier(0.4, 0, 0.6, 1);
}

.srvc .srvgrid-inner:hover .srvgrid-head::after {
    width: 100%;
}

.srvc .srvgrid-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.srvc .srvcard {
    background: rgba(220, 248, 254, 0.06);
    border: 1px solid rgba(174, 181, 206, 0.18);
    border-radius: 10px;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
    transition: background 0.22s ease-out, box-shadow 0.22s ease-out;
}

.srvc .srvcard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #DCF8FE 0%, #DCF8FE 50%, #AEB5CE 100%);
    opacity: 0;
    transition: opacity 0.22s ease-out;
}

.srvc .srvcard:hover {
    background: rgba(220, 248, 254, 0.11);
    box-shadow: 0 8px 48px -2px rgba(50, 56, 62, 0.14);
}

.srvc .srvcard:hover::before {
    opacity: 1;
}

.srvc .srvcard:active {
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.18);
}

.srvc .srvcard-num {
    font-size: 72px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: rgba(174, 181, 206, 0.12);
    position: absolute;
    top: 12px;
    right: 20px;
    pointer-events: none;
}

.srvc .srvcard-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 20px;
}

.srvc .srvcard-h {
    font-size: 23px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #DCF8FE;
    margin: 0 0 12px;
}

.srvc .srvcard-p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(220, 248, 254, 0.72);
    margin: 0;
}

/* ── TEAM / REVIEW STRIP ── */
.srvc .teamstrip {
    padding: 80px 20px;
    background: #DCF8FE;
    position: relative;
}

.srvc .teamstrip-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

.srvc .teamstrip-col {
    flex: 1 1 0;
}

.srvc .teamstrip-label {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #32383E;
    opacity: 0.55;
    margin-bottom: 20px;
    display: block;
}

.srvc .teamstrip-head {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    position: relative;
    display: inline-block;
}

.srvc .teamstrip-head::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 0;
    height: 2px;
    background: #32383E;
    transition: width 0.48s cubic-bezier(0.4, 0, 0.6, 1);
}

.srvc .teamstrip-col:hover .teamstrip-head::after {
    width: 100%;
}

.srvc .teamstrip-p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 40px;
    opacity: 0.82;
}

.srvc .portraits {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.srvc .portrait-card {
    flex: 1 1 0;
}

.srvc .portrait-imgwrap {
    width: 100%;
    aspect-ratio: 7/9;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
}

.srvc .portrait-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(3px);
    transition: filter 0.45s cubic-bezier(0.4, 0, 0.6, 1);
}

.srvc .portrait-imgwrap:hover img {
    filter: blur(0px);
}

.srvc .portrait-name {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 6px;
}

.srvc .portrait-role {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.55;
    margin: 0;
}

.srvc .teamstrip-metrics {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 80px;
}

.srvc .metric-item {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 1px 3px -2px rgba(50, 56, 62, 0.05);
}

.srvc .metric-val {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 6px;
}

.srvc .metric-desc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.65;
    margin: 0;
}

.srvc .metric-bar {
    height: 4px;
    background: rgba(174, 181, 206, 0.25);
    border-radius: 0px;
    margin-top: 12px;
    overflow: hidden;
}

.srvc .metric-fill {
    height: 100%;
    background: #32383E;
    border-radius: 0px;
    transition: width 1.2s cubic-bezier(0.4, 0, 0.6, 1);
}

/* ── CTA STRIP ── */
.srvc .ctastrip {
    padding: 80px 20px;
    background: #fff;
    position: relative;
    overflow: hidden;
}

.srvc .ctastrip-deco {
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 300px;
    height: 300px;
    border: 1.5px solid rgba(174, 181, 206, 0.15);
    border-radius: 0px;
    pointer-events: none;
    animation: geoSpin 22s linear infinite;
}

.srvc .ctastrip-deco2 {
    position: absolute;
    bottom: -30px;
    right: -30px;
    width: 200px;
    height: 200px;
    border: 1px solid rgba(220, 248, 254, 0.4);
    border-radius: 0px;
    pointer-events: none;
    animation: geoSpin 30s linear infinite reverse;
}

.srvc .ctastrip-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: center;
}

.srvc .ctastrip-text {
    flex: 1 1 0;
}

.srvc .ctastrip-label {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AEB5CE;
    margin-bottom: 20px;
    display: block;
}

.srvc .ctastrip-head {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
    position: relative;
    display: inline-block;
}

.srvc .ctastrip-head::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 0;
    height: 2px;
    background: #AEB5CE;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.6, 1);
}

.srvc .ctastrip-text:hover .ctastrip-head::after {
    width: 100%;
}

.srvc .ctastrip-p {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.78;
    margin: 0;
}

.srvc .ctastrip-actions {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.srvc .btn-primary {
    display: inline-block;
    background: #32383E;
    color: #DCF8FE;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    padding: 20px 40px;
    border-radius: 0px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    transition: padding 0.18s ease-out, box-shadow 0.18s ease-out, box-shadow 0.18s ease-out;
    position: relative;
}

.srvc .btn-primary:hover {
    padding: 20px 52px;
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.18), 0 8px 48px -2px rgba(50, 56, 62, 0.14);
    color: #DCF8FE;
}

.srvc .btn-primary:active {
    box-shadow: inset 0 3px 6px rgba(174, 181, 206, 0.22);
}

.srvc .btn-secondary {
    display: inline-block;
    background: transparent;
    color: #32383E;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    padding: 20px 40px;
    border-radius: 0px;
    border: 1.5px solid #AEB5CE;
    cursor: pointer;
    text-decoration: none;
    transition: padding 0.18s ease-out, border-color 0.18s ease-out, box-shadow 0.18s ease-out;
}

.srvc .btn-secondary:hover {
    padding: 20px 52px;
    border-color: #32383E;
    box-shadow: inset 0 2px 4px rgba(174, 181, 206, 0.12);
    color: #32383E;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .srvc .srvgrid-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .srvc .teamstrip-inner {
        flex-direction: column;
    }

    .srvc .teamstrip-metrics {
        flex: none;
        width: 100%;
        padding-top: 0;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .srvc .metric-item {
        flex: 1 1 200px;
    }

    .srvc .ctastrip-inner {
        flex-direction: column;
        gap: 40px;
    }

    .srvc .titblk-h1 {
        font-size: 31px;
    }
}

@media (max-width: 768px) {
    .srvc .srvgrid-cards {
        grid-template-columns: 1fr;
    }

    .srvc .portraits {
        flex-direction: column;
    }

    .srvc .portrait-imgwrap {
        aspect-ratio: 7/9;
        max-width: 280px;
    }

    .srvc .ctastrip-actions {
        width: 100%;
    }

    .srvc .btn-primary,
    .srvc .btn-secondary {
        width: 100%;
        text-align: center;
    }

    .srvc .titblk-h1 {
        font-size: 31px;
    }
}

@media (max-width: 640px) {
    .srvc .titblk {
        padding: 40px 20px 20px;
    }

    .srvc .srvgrid {
        padding: 40px 20px;
    }

    .srvc .teamstrip {
        padding: 40px 20px;
    }

    .srvc .ctastrip {
        padding: 40px 20px;
    }

    .srvc .teamstrip-metrics {
        flex-direction: column;
    }

    .srvc .titblk-geo,
    .srvc .titblk-geo2 {
        width: 180px;
        height: 180px;
    }
}

.successPage {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background: #ffffff;
}

.successPage .successWrap {
    max-width: 560px;
    width: 100%;
    text-align: center;
}

.successPage .iconRing {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    background: #DCF8FE;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 40px;
    box-shadow: 0 6px 20px -2px rgba(174, 181, 206, 0.09);
}

.successPage .iconRing svg {
    display: block;
}

.successPage .successTitle {
    font-size: 31px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #32383E;
    margin: 0 0 20px;
}

.successPage .successMsg {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #32383E;
    opacity: 0.75;
    margin: 0 0 40px;
}

.successPage .successDivider {
    width: 48px;
    height: 2px;
    background: #AEB5CE;
    margin: 0 auto 40px;
}

.successPage .successMeta {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #32383E;
    opacity: 0.55;
    margin: 0 0 40px;
}

.successPage .successMeta a {
    color: #32383E;
    opacity: 1;
    text-decoration: underline;
    text-decoration-color: #AEB5CE;
    text-underline-offset: 3px;
    transition: text-decoration-color 0.18s ease-out, opacity 0.18s ease-out;
}

.successPage .successMeta a:hover {
    text-decoration-color: #32383E;
    opacity: 0.85;
}

.successPage .backBtn {
    display: inline-block;
    padding: 12px 40px;
    background: #32383E;
    color: #DCF8FE;
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 20px -2px rgba(50, 56, 62, 0.09);
    transition: box-shadow 0.22s cubic-bezier(0.4, 0, 0.6, 1), padding 0.16s ease-out;
}

.successPage .backBtn:hover {
    box-shadow: inset 0 2px 4px rgba(50, 56, 62, 0.18), 0 1px 3px -2px rgba(50, 56, 62, 0.05);
    padding: 12px 46px;
}

.successPage .backBtn:focus-visible {
    outline: 2px solid #32383E;
    outline-offset: 4px;
}

@media (max-width: 640px) {
    .successPage {
        padding: 40px 20px;
    }

    .successPage .successTitle {
        font-size: 23px;
    }
}