@charset "UTF-8";

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

body {
    margin: 0;
    font-family: "Lexend", sans-serif;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
}

.brand__bar {
    background: linear-gradient(135deg, #00F7EA 0%, #00c8bd 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 36px;
    position: relative;
}

.brand__bar::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #C01B1D 30%, #FD8E00 70%, transparent);
}

.brand__identity {
    display: flex;
    align-items: center;
    gap: 16px;
}

.brand__image-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 2px solid rgba(192, 27, 29, 0.35);
    border-radius: 8px;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07), -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.brand__image-mount img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    display: block;
}

.brand__wordmark {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #111;
    line-height: 1.15;
}

.brand__wordmark span {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: #333;
    letter-spacing: 0.01em;
}

.primary-navigation {
    background-color: #ffffff;
    border-bottom: 2px solid rgba(0, 247, 234, 0.25);
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.primary-navigation__shell {
    max-width: 1440px;
    margin: 0 auto;
    padding: 8px 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.primary-navigation__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.15;
    color: #222;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: 22px;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative;
}

.primary-navigation__item::before {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1.5px solid transparent;
    border-radius: 18px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.primary-navigation__item:hover {
    color: #111;
    border-color: #00F7EA;
    background-color: rgba(0, 247, 234, 0.08);
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07), -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.primary-navigation__item:hover::before {
    border-color: rgba(0, 247, 234, 0.4);
}

.primary-navigation__item:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 247, 234, 0.55);
}

.primary-navigation__item--active {
    color: #C01B1D;
    border-color: #C01B1D;
    font-weight: 700;
}

.primary-navigation__item--active::before {
    border-color: rgba(192, 27, 29, 0.25);
}

.primary-navigation__icon {
    font-size: 15px;
    line-height: 1;
    color: #FD8E00;
    flex-shrink: 0;
}

.site-footer {
    background-color: #ffffff;
    border-top: 2px solid rgba(0, 247, 234, 0.3);
}

.footer__brand-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 36px 36px 16px;
    border-bottom: 1px solid rgba(0, 247, 234, 0.15);
}

.footer__logo-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 2px solid rgba(0, 247, 234, 0.4);
    border-radius: 8px;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07), -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.footer__logo-mount img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    display: block;
}

.footer__body {
    max-width: 1440px;
    margin: 0 auto;
    padding: 36px 36px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.footer__description {
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #333;
    text-align: center;
    max-width: 560px;
}

.footer__contact-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.footer__contact-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 1.15;
    color: #222;
    text-decoration: none;
    padding: 8px 16px;
    border: 2px solid rgba(0, 247, 234, 0.35);
    border-radius: 14px;
    transition: border-color 0.7s ease-in-out, color 0.7s ease-in-out, box-shadow 0.7s ease-in-out;
}

.footer__contact-item:hover {
    border-color: #00F7EA;
    color: #111;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.footer__contact-item:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 247, 234, 0.55);
}

.footer__contact-icon {
    color: #C01B1D;
    font-size: 15px;
}

.footer__legal-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 16px 36px;
    border-top: 1px solid rgba(0, 247, 234, 0.15);
}

.footer__legal-link {
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 1.15;
    color: #444;
    text-decoration: none;
    padding: 4px 8px;
    border: 1.5px solid rgba(192, 27, 29, 0.25);
    border-radius: 2px;
    transition: border-color 0.65s ease-in-out, color 0.65s ease-in-out;
}

.footer__legal-link:hover {
    color: #C01B1D;
    border-color: #C01B1D;
}

.footer__legal-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 247, 234, 0.55);
}

.footer__copyright {
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 1.15;
    color: #555;
    text-align: center;
    padding: 8px 36px 36px;
}

.footer__copyright strong {
    color: #FD8E00;
    font-weight: 700;
}

.legal-section {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 72px 36px;
    color: #2a2a2e;
}

.legal-section p {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.015em;
    margin-top: 0;
    margin-bottom: 16px;
}

.legal-section ul,
.legal-section ol {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.015em;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 36px;
}

.legal-section ul {
    list-style-type: disc;
}

.legal-section ol {
    list-style-type: decimal;
}

.legal-section li {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.015em;
    margin-bottom: 8px;
}

.legal-section li:last-child {
    margin-bottom: 0;
}

.legal-section ul ul,
.legal-section ol ol,
.legal-section ul ol,
.legal-section ol ul {
    margin-top: 8px;
    margin-bottom: 8px;
}

.legal-section strong,
.legal-section b {
    font-weight: 700;
    color: #1b1b20;
}

.legal-section a {
    color: #00b8ad;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.legal-section a:hover {
    color: #C01B1D;
    text-decoration-color: #C01B1D;
}

.legal-section a:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 2px;
    border-radius: 2px;
}

.legal-section table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.legal-section thead {
    background-color: #f0fffe;
}

.legal-section thead tr {
    border-bottom: 2px solid rgba(0, 247, 234, 0.35);
}

.legal-section tbody tr {
    border-bottom: 1px solid rgba(0, 247, 234, 0.15);
    transition: background-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

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

.legal-section tbody tr:hover {
    background-color: rgba(0, 247, 234, 0.05);
}

.legal-section th {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-align: left;
    color: #1b1b20;
    padding: 16px;
}

.legal-section td {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2a2a2e;
    padding: 16px;
    vertical-align: top;
}

@media (max-width: 768px) {
    .legal-section {
        padding: 36px 16px;
    }

    .legal-section table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .legal-section th,
    .legal-section td {
        padding: 8px 16px;
    }
}

.services-detail {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip;
    background: #ffffff;
}

.services-detail .detail-hero {
    position: relative;
    padding: 72px 36px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 36px;
    align-items: start;
    background: linear-gradient(323deg, #ffffff 0%, #e8fffe 40%, #fff8f0 70%, #ffffff 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease-in-out infinite alternate;
}

@keyframes gradientShift {
    0% {
        background-position: 0% 0%;
    }

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

.services-detail .detail-hero__blob {
    position: absolute;
    border-radius: 22px;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.services-detail .detail-hero__blob--a {
    width: 320px;
    height: 320px;
    background: rgba(0, 247, 234, 0.18);
    top: -36px;
    left: -72px;
}

.services-detail .detail-hero__blob--b {
    width: 200px;
    height: 200px;
    background: rgba(253, 142, 0, 0.13);
    bottom: 36px;
    right: 72px;
}

.services-detail .detail-hero__left {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-hero__meta {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.services-detail .detail-hero__tag {
    display: inline-block;
    padding: 4px 16px;
    border: 2px solid #00F7EA;
    border-radius: 2px;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #005f5a;
    background: rgba(0, 247, 234, 0.08);
}

.services-detail .detail-hero__format {
    display: inline-block;
    padding: 4px 16px;
    border: 2px solid #FD8E00;
    border-radius: 2px;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #7a4400;
    background: rgba(253, 142, 0, 0.07);
}

.services-detail .detail-hero__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #111111;
    margin: 0;
}

.services-detail .detail-hero__heading strong {
    font-weight: 700;
    background: linear-gradient(323deg, #00F7EA 0%, #FD8E00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-detail .detail-hero__stats {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.services-detail .detail-hero__stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.15;
    color: #444444;
    letter-spacing: 0.01em;
}

.services-detail .detail-hero__stat-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.services-detail .detail-hero__desc {
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-hero__sidebar {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-card {
    background: #ffffff;
    border-radius: 14px;
    border: 2px solid rgba(0, 247, 234, 0.3);
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
    overflow: hidden;
}

.services-detail .detail-card__image-wrap {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
}

.services-detail .detail-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services-detail .detail-card__image-vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 30%, transparent 40%, rgba(17, 17, 17, 0.35) 100%);
    pointer-events: none;
}

.services-detail .detail-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-card__price-row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
}

.services-detail .detail-card__price {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.01em;
}

.services-detail .detail-card__price-note {
    font-size: 15px;
    line-height: 1.15;
    color: #666666;
    letter-spacing: 0.01em;
}

.services-detail .detail-card__seats {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    background: rgba(192, 27, 29, 0.06);
    border: 1.5px solid rgba(192, 27, 29, 0.2);
}

.services-detail .detail-card__seats-dot {
    width: 8px;
    height: 8px;
    border-radius: 22px;
    background: #C01B1D;
    flex-shrink: 0;
    animation: pulseDot 2s ease-in-out infinite;
}

@keyframes pulseDot {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

.services-detail .detail-card__seats-text {
    font-size: 15px;
    line-height: 1.15;
    color: #C01B1D;
    letter-spacing: 0.01em;
}

.services-detail .detail-card__duration {
    font-size: 15px;
    line-height: 1.7;
    color: #444444;
    letter-spacing: 0.01em;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.services-detail .detail-card__enroll {
    display: block;
    width: 100%;
    padding: 16px;
    border: 3px solid #111111;
    border-radius: 8px;
    background: transparent;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    cursor: pointer;
    position: relative;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    text-align: center;
    text-decoration: none;
}

.services-detail .detail-card__enroll::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1.5px solid transparent;
    border-radius: 4px;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.services-detail .detail-card__enroll:hover {
    border-color: #00F7EA;
    color: #005f5a;
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
}

.services-detail .detail-card__enroll:hover::before {
    border-color: #00F7EA;
}

.services-detail .detail-card__enroll:active {
    box-shadow: inset -1px 2px 2px -1px rgba(0, 247, 234, 0.14);
}

.services-detail .detail-card__enroll:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 3px;
}

.services-detail .detail-card__secondary {
    display: block;
    width: 100%;
    padding: 16px;
    border: 2px solid rgba(253, 142, 0, 0.5);
    border-radius: 8px;
    background: transparent;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #7a4400;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.75s ease-in-out, box-shadow 0.75s ease-in-out;
    position: relative;
}

.services-detail .detail-card__secondary::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1.5px solid transparent;
    border-radius: 4px;
    transition: border-color 0.75s ease-in-out;
    pointer-events: none;
}

.services-detail .detail-card__secondary:hover {
    border-color: #FD8E00;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.services-detail .detail-card__secondary:hover::before {
    border-color: #FD8E00;
}

.services-detail .detail-card__secondary:focus-visible {
    outline: 2px solid #FD8E00;
    outline-offset: 3px;
}

.services-detail .detail-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.services-detail .detail-divider svg {
    display: block;
    width: 100%;
}

.services-detail .detail-program {
    padding: 72px 36px;
    background: linear-gradient(180deg, #f5fffe 0%, #ffffff 100%);
    position: relative;
}

.services-detail .detail-program__texture {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0;
}

.services-detail .detail-program__texture svg {
    width: 100%;
    height: 100%;
    opacity: 0.06;
}

.services-detail .detail-program__grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 36px;
    position: relative;
    z-index: 1;
}

.services-detail .detail-program__label {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #005f5a;
    text-transform: uppercase;
    padding-top: 4px;
}

.services-detail .detail-program__heading {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #111111;
    margin: 0 0 36px 0;
}

.services-detail .detail-program__heading em {
    font-style: normal;
    font-weight: 700;
    color: #C01B1D;
}

.services-detail .detail-program__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-program__body p {
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-program__body h2 {
    font-size: 18px;
    line-height: 1.15;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-program__body ul,
.services-detail .detail-program__body ol {
    margin: 0;
    padding: 0 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.services-detail .detail-program__body li {
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.services-detail .detail-program__body li::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 4px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8' stroke='%2300F7EA' stroke-width='1.5'/%3E%3Cpath d='M5.5 9.5L7.5 11.5L12.5 6.5' stroke='%2300F7EA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.services-detail .detail-program__body small {
    font-size: 15px;
    line-height: 1.7;
    color: #666666;
    letter-spacing: 0.01em;
}

.services-detail .detail-program__body dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.services-detail .detail-program__body dt {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.01em;
}

.services-detail .detail-program__body dd {
    font-size: 18px;
    line-height: 1.7;
    color: #444444;
    letter-spacing: 0.01em;
    margin: 0 0 8px 0;
}

.services-detail .detail-program__body details {
    border: 1.5px solid rgba(0, 247, 234, 0.3);
    border-radius: 8px;
    padding: 16px;
}

.services-detail .detail-program__body summary {
    font-size: 18px;
    font-weight: 600;
    color: #111111;
    cursor: pointer;
    letter-spacing: 0.01em;
}

.services-detail .detail-program__body figure {
    margin: 0;
}

.services-detail .detail-program__body figcaption {
    font-size: 15px;
    color: #666666;
    letter-spacing: 0.01em;
}

.services-detail .detail-description {
    padding: 72px 36px;
    background: #ffffff;
    position: relative;
}

.services-detail .detail-description__curve {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    pointer-events: none;
    overflow: hidden;
}

.services-detail .detail-description__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start;
}

.services-detail .detail-description__heading-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-description__heading {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #111111;
    margin: 0;
}

.services-detail .detail-description__heading mark {
    background: rgba(253, 142, 0, 0.22);
    color: #111111;
    border-radius: 2px;
    padding: 0 4px;
    font-weight: 700;
}

.services-detail .detail-description__subtext {
    font-size: 18px;
    line-height: 1.7;
    color: #555555;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-description__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services-detail .detail-description__body p {
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-description__body h2 {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.01em;
    margin: 0;
}

.services-detail .detail-description__body strong {
    font-weight: 700;
    color: #111111;
}

.services-detail .detail-description__body small {
    font-size: 15px;
    color: #666666;
    letter-spacing: 0.01em;
}

.services-detail .detail-description__body ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.services-detail .detail-description__body li {
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.services-detail .detail-description__body li::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 4px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='16' height='16' rx='2' stroke='%23FD8E00' stroke-width='1.5'/%3E%3Cpath d='M5.5 9.5L7.5 11.5L12.5 6.5' stroke='%23FD8E00' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.services-detail .detail-description__body blockquote {
    margin: 0;
    padding: 16px;
    border-radius: 8px;
    background: rgba(0, 247, 234, 0.06);
    border: 1.5px solid rgba(0, 247, 234, 0.25);
    font-size: 18px;
    line-height: 1.7;
    color: #333333;
    letter-spacing: 0.01em;
    font-style: italic;
}

.services-detail .detail-description__body dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.services-detail .detail-description__body dt {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.01em;
}

.services-detail .detail-description__body dd {
    font-size: 18px;
    line-height: 1.7;
    color: #444444;
    letter-spacing: 0.01em;
    margin: 0 0 8px 0;
}

.services-detail .detail-description__body figure {
    margin: 0;
}

.services-detail .detail-description__body figcaption {
    font-size: 15px;
    color: #666666;
    letter-spacing: 0.01em;
}

.services-detail .detail-items-animate {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 36px;
}

.services-detail .detail-items-animate .detail-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    border: 1.5px solid rgba(0, 247, 234, 0.2);
    background: #ffffff;
    font-size: 15px;
    line-height: 1.15;
    color: #333333;
    letter-spacing: 0.01em;
    opacity: 0;
    transform: rotate(-3deg) translateX(-16px);
    animation: itemAppear 0.75s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.services-detail .detail-items-animate .detail-item:nth-child(1) {
    animation-delay: 0.1s;
}

.services-detail .detail-items-animate .detail-item:nth-child(2) {
    animation-delay: 0.25s;
}

.services-detail .detail-items-animate .detail-item:nth-child(3) {
    animation-delay: 0.4s;
}

.services-detail .detail-items-animate .detail-item:nth-child(4) {
    animation-delay: 0.55s;
}

@keyframes itemAppear {
    to {
        opacity: 1;
        transform: rotate(0deg) translateX(0);
    }
}

.services-detail .detail-item__check {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    .services-detail .detail-hero {
        grid-template-columns: 1fr;
        padding: 36px 16px;
    }

    .services-detail .detail-hero__sidebar {
        max-width: 480px;
    }

    .services-detail .detail-program__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .services-detail .detail-description__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 640px) {
    .services-detail .detail-hero {
        padding: 36px 16px;
    }

    .services-detail .detail-hero__heading {
        font-size: 42px;
    }

    .services-detail .detail-program {
        padding: 36px 16px;
    }

    .services-detail .detail-description {
        padding: 36px 16px;
    }

    .services-detail .detail-card__price {
        font-size: 42px;
    }
}

.services {
    background-color: #ffffff;
    overflow-x: clip;
}

.services .catalog__header {
    background-color: #f5f5f0;
    padding: 72px 36px;
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
}

.services .catalog__header-blob {
    position: absolute;
    border-radius: 22px;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.services .catalog__header-blob--primary {
    width: 320px;
    height: 180px;
    background-color: rgba(0, 247, 234, 0.18);
    top: -36px;
    right: 120px;
}

.services .catalog__header-blob--secondary {
    width: 200px;
    height: 140px;
    background-color: rgba(253, 142, 0, 0.12);
    bottom: 0;
    right: 36px;
}

.services .catalog__header-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.services .catalog__label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #C01B1D;
    border: 2px solid #C01B1D;
    border-radius: 2px;
    padding: 4px 8px;
    margin-bottom: 16px;
}

.services .catalog__heading {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111111;
    font-weight: 800;
    margin: 0 0 16px 0;
}

.services .catalog__heading-accent {
    display: inline;
    background-color: #00F7EA;
    padding: 0 8px;
    border-radius: 2px;
}

.services .catalog__subtext {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 36px 0;
    max-width: 560px;
}

.services .catalog__action {
    display: inline-block;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    border: 3px solid #111111;
    border-radius: 8px;
    padding: 8px 36px;
    text-decoration: none !important;
    position: relative;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .catalog__action::after {
    content: '';
    display: block;
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .catalog__action:hover {
    color: #C01B1D;
    border-color: #C01B1D;
}

.services .catalog__action:hover::after {
    border-color: #C01B1D;
}

.services .divider--dots {
    border: none;
    border-top: 2px dotted #cccccc;
    margin: 0;
}

.services .grid-listing {
    max-width: 1440px;
    margin: 0 auto;
    padding: 72px 36px;
}

.services .grid-listing__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 36px;
}

.services .card {
    border: 2px solid #e2e2e2;
    border-radius: 14px;
    overflow: hidden;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
    transition: box-shadow 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative;
}

.services .card:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    border-color: #00F7EA;
}

.services .card__image-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.services .card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.85s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.85s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .card:hover .card__image {
    filter: grayscale(0%);
    transform: scale(1.03);
}

.services .card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
}

.services .card__meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.services .card__tag {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #ffffff;
    background-color: #C01B1D;
    border-radius: 2px;
    padding: 4px 8px;
}

.services .card__format {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #3a3a3a;
    border: 1px solid #cccccc;
    border-radius: 2px;
    padding: 4px 8px;
}

.services .card__title {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111111;
    font-weight: 700;
    margin: 0;
}

.services .card__description {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
    flex: 1;
}

.services .card__details {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 8px;
    border-top: 1px dotted #cccccc;
}

.services .card__detail-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    line-height: 1.15;
    color: #555555;
}

.services .card__detail-item .pe-7s-clock,
.services .card__detail-item .pe-7s-users,
.services .card__detail-item .pe-7s-timer {
    font-size: 18px;
    color: #FD8E00;
}

.services .card__price-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.services .card__price {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111111;
    font-weight: 800;
}

.services .card__price-note {
    font-size: 15px;
    line-height: 1.7;
    color: #888888;
}

.services .card__link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    border: 3px solid #111111;
    border-radius: 8px;
    padding: 8px 16px;
    text-decoration: none !important;
    position: relative;
    align-self: flex-start;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .card__link::after {
    content: '';
    display: block;
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .card__link:hover {
    color: #C01B1D;
    border-color: #C01B1D;
}

.services .card__link:hover::after {
    border-color: #C01B1D;
}

.services .card__seats {
    font-size: 15px;
    line-height: 1.15;
    color: #C01B1D;
    font-weight: 700;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.services .card__seats-dot {
    width: 8px;
    height: 8px;
    border-radius: 22px;
    background-color: #C01B1D;
    display: inline-block;
}

.services .divider--thick {
    border: none;
    height: 4px;
    background: linear-gradient(323deg, #00F7EA 0%, #FD8E00 60%, #C01B1D 100%);
    margin: 0;
}

.services .approach {
    max-width: 1440px;
    margin: 0 auto;
    padding: 72px 36px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

.services .approach__visual {
    position: relative;
}

.services .approach__image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.services .approach__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.9s ease-in-out;
}

.services .approach__image-wrap:hover .approach__image {
    filter: grayscale(0%);
}

.services .approach__stat {
    position: absolute;
    bottom: -16px;
    right: -16px;
    background-color: #111111;
    border-radius: 14px;
    padding: 16px 36px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    box-shadow: -1px 9px 40px -1px rgba(192, 27, 29, 0.14);
}

.services .approach__stat-number {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 800;
    background: linear-gradient(323deg, #00F7EA 0%, #FD8E00 80%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services .approach__stat-label {
    font-size: 15px;
    line-height: 1.15;
    color: #aaaaaa;
    letter-spacing: 0.02em;
}

.services .approach__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.services .approach__eyebrow {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #FD8E00;
    font-weight: 700;
}

.services .approach__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111111;
    font-weight: 800;
    margin: 0;
}

.services .approach__paragraph {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
}

.services .approach__steps {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.services .approach__step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border: 2px solid #e2e2e2;
    border-radius: 8px;
    transition: border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .approach__step:hover {
    border-color: #00F7EA;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.services .approach__step-number {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 800;
    color: #00F7EA;
    min-width: 48px;
}

.services .approach__step-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.services .approach__step-title {
    font-size: 18px;
    line-height: 1.15;
    font-weight: 700;
    color: #111111;
    margin: 0;
}

.services .approach__step-text {
    font-size: 15px;
    line-height: 1.7;
    color: #555555;
    margin: 0;
}

.services .divider--space {
    height: 1px;
    background-color: #e2e2e2;
    margin: 0;
}

.services .showcase {
    background-color: #111111;
    padding: 72px 36px;
    position: relative;
    overflow: hidden;
}

.services .showcase__bg-blob {
    position: absolute;
    border-radius: 22px;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.services .showcase__bg-blob--a {
    width: 400px;
    height: 300px;
    background-color: rgba(0, 247, 234, 0.08);
    top: -72px;
    left: -36px;
}

.services .showcase__bg-blob--b {
    width: 300px;
    height: 200px;
    background-color: rgba(192, 27, 29, 0.10);
    bottom: -36px;
    right: -36px;
}

.services .showcase__inner {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.services .showcase__heading-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 36px;
    flex-wrap: wrap;
}

.services .showcase__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
}

.services .showcase__heading-sub {
    font-size: 18px;
    line-height: 1.7;
    color: #aaaaaa;
    max-width: 480px;
    margin: 0;
}

.services .showcase__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
}

.services .showcase__item {
    border: 2px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 36px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .showcase__item:hover {
    border-color: rgba(0, 247, 234, 0.4);
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
}

.services .showcase__item-icon {
    font-size: 42px;
    color: #00F7EA;
    margin-bottom: 8px;
}

.services .showcase__item-title {
    font-size: 18px;
    line-height: 1.15;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.services .showcase__item-text {
    font-size: 15px;
    line-height: 1.7;
    color: #aaaaaa;
    margin: 0;
}

.services .showcase__cta-row {
    margin-top: 36px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

.services .showcase__cta {
    display: inline-block;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    background-color: #00F7EA;
    border: 3px solid #00F7EA;
    border-radius: 8px;
    padding: 16px 36px;
    text-decoration: none !important;
    position: relative;
    transition: background-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .showcase__cta::after {
    content: '';
    display: block;
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.8s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .showcase__cta:hover {
    background-color: transparent;
    color: #00F7EA;
}

.services .showcase__cta:hover::after {
    border-color: #00F7EA;
}

.services .comparison {
    max-width: 1440px;
    margin: 0 auto;
    padding: 72px 36px;
}

.services .comparison__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 800;
    color: #111111;
    margin: 0 0 36px 0;
}

.services .comparison__table-wrap {
    overflow-x: auto;
    border-radius: 14px;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.services .comparison__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 560px;
}

.services .comparison__table thead tr {
    background: linear-gradient(323deg, #00F7EA 0%, #FD8E00 80%);
}

.services .comparison__table thead th {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    font-weight: 700;
    padding: 16px;
    text-align: left;
}

.services .comparison__table tbody tr {
    border-bottom: 1px dotted #cccccc;
    transition: background-color 0.6s ease-in-out;
}

.services .comparison__table tbody tr:last-child {
    border-bottom: none;
}

.services .comparison__table tbody tr:hover {
    background-color: rgba(0, 247, 234, 0.05);
}

.services .comparison__table tbody td {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a3a;
    padding: 16px;
    vertical-align: middle;
}

.services .comparison__table tbody td:first-child {
    font-weight: 700;
    color: #111111;
}

.services .comparison__check {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 22px;
    background-color: #00F7EA;
    position: relative;
}

.services .comparison__check::after {
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 5px;
    width: 8px;
    height: 5px;
    border-bottom: 2px solid #111111;
    border-left: 2px solid #111111;
    transform: rotate(-45deg);
}

.services .comparison__cross {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 22px;
    background-color: #e2e2e2;
    position: relative;
}

.services .comparison__cross::before,
.services .comparison__cross::after {
    content: '';
    display: block;
    position: absolute;
    top: 8px;
    left: 4px;
    width: 10px;
    height: 2px;
    background-color: #aaaaaa;
}

.services .comparison__cross::before {
    transform: rotate(45deg);
}

.services .comparison__cross::after {
    transform: rotate(-45deg);
}

.services .contact-strip {
    background: linear-gradient(323deg, rgba(0, 247, 234, 0.12) 0%, rgba(253, 142, 0, 0.08) 60%, rgba(192, 27, 29, 0.06) 100%);
    padding: 72px 36px;
}

.services .contact-strip__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    flex-wrap: wrap;
}

.services .contact-strip__text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 560px;
}

.services .contact-strip__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 800;
    color: #111111;
    margin: 0;
}

.services .contact-strip__paragraph {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
}

.services .contact-strip__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.services .contact-strip__link {
    display: inline-block;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #111111;
    border: 3px solid #111111;
    border-radius: 8px;
    padding: 16px 36px;
    text-decoration: none !important;
    position: relative;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .contact-strip__link::after {
    content: '';
    display: block;
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .contact-strip__link:hover {
    color: #C01B1D;
    border-color: #C01B1D;
}

.services .contact-strip__link:hover::after {
    border-color: #C01B1D;
}

.services .contact-strip__secondary {
    font-size: 15px;
    line-height: 1.15;
    color: #555555;
    text-decoration: none !important;
    letter-spacing: 0.02em;
    transition: color 0.6s ease-in-out;
}

.services .contact-strip__secondary:hover {
    color: #C01B1D;
}

@keyframes bg-oscillate {
    0% {
        background-color: #f5f5f0;
    }

    50% {
        background-color: #eef9f9;
    }

    100% {
        background-color: #f5f5f0;
    }
}

.services .catalog__header {
    animation: bg-oscillate 6s ease-in-out infinite;
}

@keyframes emerge {
    from {
        filter: blur(12px);
        opacity: 0;
    }

    to {
        filter: blur(0);
        opacity: 1;
    }
}

.services .grid-listing__cards {
    animation: emerge 0.9s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@media (max-width: 900px) {
    .services .approach {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .services .approach__stat {
        position: static;
        align-self: flex-start;
        margin-top: 16px;
    }

    .services .showcase__grid {
        grid-template-columns: 1fr;
    }

    .services .catalog__heading {
        font-size: 42px;
    }

    .services .contact-strip__inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 600px) {
    .services .grid-listing__cards {
        grid-template-columns: 1fr;
    }

    .services .catalog__heading {
        font-size: 42px;
    }

    .services .approach__heading {
        font-size: 42px;
    }

    .services .grid-listing {
        padding: 36px 16px;
    }

    .services .catalog__header {
        padding: 36px 16px;
    }

    .services .approach {
        padding: 36px 16px;
    }

    .services .showcase {
        padding: 36px 16px;
    }

    .services .comparison {
        padding: 36px 16px;
    }

    .services .contact-strip {
        padding: 36px 16px;
    }
}

.contact-us {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden;
}

.contact-us .split-panel {
    display: flex;
    flex-direction: row;
    min-height: 600px;
    position: relative;
}

.contact-us .split-panel__left {
    flex: 1 1 50%;
    background: #fff;
    padding: 72px 36px 72px 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.contact-us .split-panel__right {
    flex: 1 1 50%;
    background: #111214;
    padding: 72px 72px 72px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.contact-us .split-panel__right::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("./image_files/260816-approved-1.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0.22;
    pointer-events: none;
}

.contact-us .frame-decoration {
    position: absolute;
    top: 36px;
    left: 36px;
    right: 36px;
    bottom: 36px;
    border: 1px solid rgba(0, 247, 234, 0.18);
    pointer-events: none;
    border-radius: 2px;
}

.contact-us .frame-decoration--corner {
    position: absolute;
    width: 16px;
    height: 16px;
    border-color: #00F7EA;
    border-style: solid;
    pointer-events: none;
}

.contact-us .frame-decoration--corner.top-left {
    top: 36px;
    left: 36px;
    border-width: 2px 0 0 2px;
}

.contact-us .frame-decoration--corner.top-right {
    top: 36px;
    right: 36px;
    border-width: 2px 2px 0 0;
}

.contact-us .frame-decoration--corner.bottom-left {
    bottom: 36px;
    left: 36px;
    border-width: 0 0 2px 2px;
}

.contact-us .frame-decoration--corner.bottom-right {
    bottom: 36px;
    right: 36px;
    border-width: 0 2px 2px 0;
}

.contact-us .panel-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #00F7EA;
    margin-bottom: 16px;
    line-height: 1.15;
}

.contact-us .panel-heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111214;
    font-weight: 300;
    margin-bottom: 16px;
}

.contact-us .panel-heading strong {
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.contact-us .panel-heading strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 6px;
    background: rgba(0, 247, 234, 0.28);
    z-index: -1;
    border-radius: 2px;
}

.contact-us .panel-description {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #3a3a3a;
    margin-bottom: 36px;
    max-width: 420px;
}

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

.contact-us .contact-detail-list__item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #3a3a3a;
}

.contact-us .detail-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(0, 247, 234, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(0, 247, 234, 0.22);
}

.contact-us .detail-icon svg {
    width: 18px;
    height: 18px;
    stroke: #00c8bc;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-us .detail-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.contact-us .detail-text strong {
    font-size: 15px;
    font-weight: 600;
    color: #111214;
    letter-spacing: 0.01em;
}

.contact-us .detail-text a {
    color: #3a3a3a;
    text-decoration: none;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.contact-us .detail-text a:hover {
    color: #00c8bc;
    text-shadow: 0 2px 8px rgba(0, 247, 234, 0.22);
}

.contact-us .right-heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #fff;
    font-weight: 300;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.contact-us .right-sub {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.01em;
    margin-bottom: 36px;
    position: relative;
    z-index: 1;
}

.contact-us .contact-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.contact-us .form-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.contact-us .field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0;
}

.contact-us .field-group--full {
    flex: 1 1 100%;
}

.contact-us .field-label {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.15;
}

.contact-us .field-input {
    background: rgba(255, 255, 255, 0.06);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 16px;
    font-size: 15px;
    color: #fff;
    line-height: 1.15;
    letter-spacing: 0.01em;
    outline: none;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.7s ease-in-out;
    width: 100%;
    box-sizing: border-box;
}

.contact-us .field-input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.contact-us .field-input:focus {
    border-color: #00F7EA;
    background: rgba(0, 247, 234, 0.06);
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.contact-us .field-select {
    background: rgba(255, 255, 255, 0.06);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 16px;
    font-size: 15px;
    color: #fff;
    line-height: 1.15;
    letter-spacing: 0.01em;
    outline: none;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 36px;
}

.contact-us .field-select option {
    background: #1e2024;
    color: #fff;
}

.contact-us .field-select:focus {
    border-color: #00F7EA;
    background-color: rgba(0, 247, 234, 0.06);
}

.contact-us .radio-group {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.contact-us .radio-option {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.01em;
    line-height: 1.15;
}

.contact-us .radio-option input[type="radio"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    flex-shrink: 0;
    position: relative;
}

.contact-us .radio-option input[type="radio"]:checked {
    border-color: #00F7EA;
    background: #00F7EA;
    box-shadow: inset 0 0 0 4px #1e2024;
}

.contact-us .radio-option input[type="radio"]:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 2px;
}

.contact-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.contact-us .privacy-checkbox {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative;
}

.contact-us .privacy-checkbox:checked {
    border-color: #00F7EA;
    background: #00F7EA;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

.contact-us .privacy-checkbox:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 2px;
}

.contact-us .privacy-text {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.01em;
}

.contact-us .privacy-text a {
    color: #00F7EA;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.contact-us .privacy-text a:hover {
    color: #fff;
}

.contact-us .submit-button {
    background: transparent;
    border: 2.5px solid #00F7EA;
    border-radius: 14px;
    padding: 16px 36px;
    font-size: 18px;
    color: #00F7EA;
    letter-spacing: 0.02em;
    line-height: 1.15;
    cursor: pointer;
    align-self: flex-start;
    position: relative;
    transition: color 0.7s ease-in-out, background 0.7s ease-in-out, box-shadow 0.75s ease-in-out, transform 0.6s cubic-bezier(0.34, 1.2, 0.64, 1);
    overflow: hidden;
}

.contact-us .submit-button::before {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1.5px solid rgba(0, 247, 234, 0);
    border-radius: 10px;
    transition: border-color 0.75s ease-in-out;
    pointer-events: none;
}

.contact-us .submit-button:hover {
    background: rgba(0, 247, 234, 0.1);
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    color: #fff;
}

.contact-us .submit-button:hover::before {
    border-color: rgba(0, 247, 234, 0.5);
}

.contact-us .submit-button:active {
    transform: translateY(2px) scale(0.98);
    box-shadow: inset 0 2px 6px rgba(0, 247, 234, 0.18);
}

.contact-us .submit-button:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 3px;
}

.contact-us .divider-accent {
    height: 4px;
    background: linear-gradient(323deg, #C01B1D 0%, #FD8E00 55%, #00F7EA 100%);
    border-radius: 2px;
}

.contact-us .data-strip {
    background: #fff;
    padding: 72px;
    display: flex;
    flex-direction: column;
    gap: 36px;
    position: relative;
}

.contact-us .data-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("./image_files/our-story_0006.jpg");
    background-size: cover;
    background-position: center top;
    opacity: 0.05;
    pointer-events: none;
    border-radius: 2px;
}

.contact-us .strip-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 36px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.contact-us .strip-description {
    max-width: 560px;
}

.contact-us .strip-heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111214;
    font-weight: 300;
    margin-bottom: 16px;
}

.contact-us .strip-body {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #3a3a3a;
}

.contact-us .metric-cluster {
    display: flex;
    flex-direction: row;
    gap: 36px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.contact-us .metric-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 120px;
}

.contact-us .metric-item__number {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    background: linear-gradient(323deg, #C01B1D 0%, #FD8E00 60%, #00F7EA 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.contact-us .metric-item__label {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #3a3a3a;
}

.contact-us .service-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    position: relative;
    z-index: 1;
}

.contact-us .service-card {
    border: 1.5px solid rgba(0, 247, 234, 0.15);
    border-radius: 14px;
    padding: 36px;
    background: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
    transition: box-shadow 0.75s ease-in-out, border-color 0.7s ease-in-out, transform 0.6s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.contact-us .service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(323deg, #C01B1D 0%, #FD8E00 55%, #00F7EA 100%);
    border-radius: 14px 14px 0 0;
}

.contact-us .service-card:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    border-color: rgba(0, 247, 234, 0.35);
    transform: translateY(-4px);
}

.contact-us .service-card:active {
    transform: translateY(0px) scale(0.99);
    box-shadow: inset -1px 2px 4px rgba(0, 247, 234, 0.08);
}

.contact-us .service-card__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 16px;
}

.contact-us .service-card__icon svg {
    width: 36px;
    height: 36px;
    stroke: #00c8bc;
    fill: none;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-us .service-card__name {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111214;
    font-weight: 600;
    margin-bottom: 8px;
}

.contact-us .service-card__desc {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #555;
}

.contact-us .word-reveal {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25em;
}

.contact-us .word-reveal__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(12px);
    animation: wordAppear 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.contact-us .word-reveal__word:nth-child(1) {
    animation-delay: 0.05s;
}

.contact-us .word-reveal__word:nth-child(2) {
    animation-delay: 0.18s;
}

.contact-us .word-reveal__word:nth-child(3) {
    animation-delay: 0.31s;
}

.contact-us .word-reveal__word:nth-child(4) {
    animation-delay: 0.44s;
}

.contact-us .word-reveal__word:nth-child(5) {
    animation-delay: 0.57s;
}

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

@media (max-width: 900px) {
    .contact-us .split-panel {
        flex-direction: column;
    }

    .contact-us .split-panel__left {
        padding: 72px 36px;
    }

    .contact-us .split-panel__right {
        padding: 72px 36px;
    }

    .contact-us .form-row {
        flex-direction: column;
    }

    .contact-us .service-row {
        grid-template-columns: 1fr 1fr;
    }

    .contact-us .data-strip {
        padding: 72px 36px;
    }

    .contact-us .strip-top {
        flex-direction: column;
    }
}

@media (max-width: 600px) {

    .contact-us .panel-heading,
    .contact-us .right-heading,
    .contact-us .strip-heading {
        font-size: 42px;
    }

    .contact-us .service-row {
        grid-template-columns: 1fr;
    }

    .contact-us .metric-cluster {
        gap: 16px;
    }

    .contact-us .data-strip {
        padding: 36px 16px;
    }

    .contact-us .split-panel__left {
        padding: 36px 16px;
    }

    .contact-us .split-panel__right {
        padding: 36px 16px;
    }
}

.about-us-page {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: clip;
    background: #ffffff;
}

.about-us-page .diagonal-reveal {
    opacity: 0;
    transform: translateY(-24px) translateX(-16px);
    animation: diagonalDrop 0.85s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.about-us-page .diagonal-reveal--2 {
    animation-delay: 0.12s;
}

.about-us-page .diagonal-reveal--3 {
    animation-delay: 0.24s;
}

.about-us-page .diagonal-reveal--4 {
    animation-delay: 0.36s;
}

.about-us-page .diagonal-reveal--5 {
    animation-delay: 0.48s;
}

@keyframes diagonalDrop {
    to {
        opacity: 1;
        transform: translateY(0) translateX(0);
    }
}

.about-us-page .split-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
}

.about-us-page .split-panel__left {
    background: #111827;
    padding: 72px 36px 72px 72px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.about-us-page .split-panel__right {
    background: #f4f4f0;
    padding: 72px 72px 72px 36px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-us-page .split-panel__tag {
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 1.7;
    color: #00F7EA;
    margin-bottom: 16px;
    display: block;
}

.about-us-page .split-panel__description {
    font-size: 18px;
    line-height: 1.7;
    color: #9ca3af;
    margin-bottom: 36px;
    letter-spacing: 0.01em;
}

.about-us-page .split-panel__heading {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #ffffff;
    margin: 0;
}

.about-us-page .split-panel__heading--accent {
    display: inline-block;
    background: #00F7EA;
    padding: 0 8px;
    color: #111827;
}

.about-us-page .split-panel__body {
    font-size: 18px;
    line-height: 1.7;
    color: #374151;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
}

.about-us-page .split-panel__image-frame {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
}

.about-us-page .split-panel__image-frame img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
    filter: sepia(0.3) contrast(1.1) brightness(0.92) saturate(0.85);
    transition: filter 0.85s ease-in-out;
}

.about-us-page .split-panel__image-frame:hover img {
    filter: sepia(0) contrast(1) brightness(1) saturate(1);
}

.about-us-page .geo-shape {
    position: absolute;
    border-radius: 2px;
    pointer-events: none;
}

.about-us-page .geo-shape--circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 1px solid rgba(0, 247, 234, 0.12);
    top: 36px;
    right: 36px;
}

.about-us-page .geo-shape--rect {
    width: 64px;
    height: 64px;
    border: 1px solid rgba(253, 142, 0, 0.15);
    bottom: 72px;
    left: 36px;
    transform: rotate(22deg);
}

.about-us-page .geo-shape--triangle-lines {
    bottom: 36px;
    right: 36px;
    width: 48px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.about-us-page .geo-shape--triangle-lines span {
    display: block;
    height: 1px;
    background: rgba(0, 247, 234, 0.25);
}

.about-us-page .geo-shape--triangle-lines span:nth-child(1) {
    width: 100%;
}

.about-us-page .geo-shape--triangle-lines span:nth-child(2) {
    width: 70%;
}

.about-us-page .geo-shape--triangle-lines span:nth-child(3) {
    width: 40%;
}

.about-us-page .scallop-divider {
    width: 100%;
    height: 36px;
    overflow: hidden;
    line-height: 0;
}

.about-us-page .scallop-divider svg {
    display: block;
    width: 100%;
    height: 36px;
}

.about-us-page .identity-strip {
    background: linear-gradient(323deg, #f4f4f0 0%, #e8f9f8 60%, #f4f4f0 100%);
    padding: 72px 72px 36px;
    margin-left: 36px;
    margin-right: 0;
    border-radius: 22px 2px 2px 22px;
    position: relative;
}

.about-us-page .identity-strip__parallel-lines {
    position: absolute;
    top: 36px;
    right: 36px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.about-us-page .identity-strip__parallel-lines span {
    display: block;
    height: 1px;
    background: rgba(0, 247, 234, 0.35);
}

.about-us-page .identity-strip__parallel-lines span:nth-child(1) {
    width: 72px;
}

.about-us-page .identity-strip__parallel-lines span:nth-child(2) {
    width: 52px;
}

.about-us-page .identity-strip__parallel-lines span:nth-child(3) {
    width: 36px;
}

.about-us-page .identity-strip__parallel-lines span:nth-child(4) {
    width: 20px;
}

.about-us-page .identity-strip__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
}

.about-us-page .identity-strip__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #111827;
    margin: 0 0 36px 0;
    grid-column: 1 / -1;
}

.about-us-page .metric-card {
    border: 2px solid #111827;
    border-radius: 14px;
    padding: 36px;
    position: relative;
    background: #ffffff;
    transition: box-shadow 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
}

.about-us-page .metric-card::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid transparent;
    border-radius: 10px;
    transition: border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.about-us-page .metric-card:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    border-color: #00F7EA;
}

.about-us-page .metric-card:hover::after {
    border-color: rgba(0, 247, 234, 0.4);
}

.about-us-page .metric-card__number {
    font-size: 72px;
    line-height: 1.15;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #111827;
    display: block;
    margin-bottom: 8px;
}

.about-us-page .metric-card__number--accent {
    background: linear-gradient(323deg, #00F7EA 0%, #FD8E00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.about-us-page .metric-card__label {
    font-size: 15px;
    line-height: 1.7;
    color: #6b7280;
    letter-spacing: 0.02em;
}

.about-us-page .metric-card__label {
    color: #374151;
}

.about-us-page .metric-card__body {
    font-size: 15px;
    line-height: 1.7;
    color: #4b5563;
    letter-spacing: 0.01em;
    margin-top: 8px;
}

.about-us-page .scallop-divider--dark svg path {
    fill: #111827;
}

.about-us-page .approach-block {
    background: linear-gradient(323deg, #111827 0%, #1e2a3a 55%, #111827 100%);
    padding: 72px;
    margin-left: 0;
    margin-right: 36px;
    border-radius: 2px 22px 22px 2px;
    position: relative;
}

.about-us-page .approach-block__parallel-lines {
    position: absolute;
    bottom: 36px;
    left: 36px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.about-us-page .approach-block__parallel-lines span {
    display: block;
    height: 1px;
    background: rgba(253, 142, 0, 0.3);
}

.about-us-page .approach-block__parallel-lines span:nth-child(1) {
    width: 72px;
}

.about-us-page .approach-block__parallel-lines span:nth-child(2) {
    width: 52px;
}

.about-us-page .approach-block__parallel-lines span:nth-child(3) {
    width: 36px;
}

.about-us-page .approach-block__layout {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 72px;
    align-items: start;
}

.about-us-page .approach-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #ffffff;
    margin: 0 0 36px 0;
}

.about-us-page .approach-block__heading--highlight {
    display: inline;
    background: rgba(253, 142, 0, 0.2);
    padding: 0 4px;
    color: #FD8E00;
}

.about-us-page .approach-block__text {
    font-size: 18px;
    line-height: 1.7;
    color: #9ca3af;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
}

.about-us-page .approach-block__text:last-child {
    margin-bottom: 0;
}

.about-us-page .approach-block__image-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.about-us-page .approach-block__image-shifted {
    margin-top: 72px;
}

.about-us-page .approach-block__img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
    filter: sepia(0.2) contrast(1.05) brightness(0.88) saturate(0.8);
}

.about-us-page .approach-block__img-caption {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(156, 163, 175, 0.7);
    letter-spacing: 0.01em;
}

.about-us-page .team-block {
    padding: 72px 72px 72px 36px;
    background: linear-gradient(323deg, #ffffff 0%, #f0fffe 70%, #ffffff 100%);
    position: relative;
}

.about-us-page .team-block__parallel-lines {
    position: absolute;
    top: 36px;
    left: 72px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.about-us-page .team-block__parallel-lines span {
    display: block;
    height: 1px;
    background: rgba(192, 27, 29, 0.2);
}

.about-us-page .team-block__parallel-lines span:nth-child(1) {
    width: 72px;
}

.about-us-page .team-block__parallel-lines span:nth-child(2) {
    width: 52px;
}

.about-us-page .team-block__parallel-lines span:nth-child(3) {
    width: 36px;
}

.about-us-page .team-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #111827;
    margin: 0 0 8px 0;
}

.about-us-page .team-block__sub {
    font-size: 18px;
    line-height: 1.7;
    color: #4b5563;
    letter-spacing: 0.01em;
    margin: 0 0 36px 0;
    max-width: 620px;
}

.about-us-page .team-block__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}

.about-us-page .person-card {
    border: 2px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
    transition: box-shadow 0.75s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative;
}

.about-us-page .person-card::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid transparent;
    border-radius: 10px;
    pointer-events: none;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.about-us-page .person-card:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    border-color: rgba(0, 247, 234, 0.5);
}

.about-us-page .person-card:hover::after {
    border-color: rgba(0, 247, 234, 0.25);
}

.about-us-page .person-card__image-wrapper {
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.about-us-page .person-card__image-wrapper img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    filter: sepia(0.15) contrast(1.08) brightness(0.94) saturate(0.88);
    transition: filter 0.85s ease-in-out, transform 0.85s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.about-us-page .person-card:hover .person-card__image-wrapper img {
    filter: sepia(0) contrast(1) brightness(1) saturate(1);
    transform: scale(1.03);
}

.about-us-page .person-card__body {
    padding: 16px 16px 36px;
}

.about-us-page .person-card__name {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px 0;
}

.about-us-page .person-card__role {
    font-size: 15px;
    line-height: 1.7;
    color: #C01B1D;
    letter-spacing: 0.02em;
    margin: 0 0 8px 0;
}

.about-us-page .person-card__bio {
    font-size: 15px;
    line-height: 1.7;
    color: #4b5563;
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .person-card--wide {
    grid-column: span 1;
}

.about-us-page .closing-strip {
    background: linear-gradient(323deg, #C01B1D 0%, #a01518 50%, #C01B1D 100%);
    padding: 72px;
    margin-left: 36px;
    border-radius: 22px 2px 2px 22px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 72px;
    position: relative;
}

.about-us-page .closing-strip__parallel-lines {
    position: absolute;
    top: 36px;
    right: 36px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.about-us-page .closing-strip__parallel-lines span {
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
}

.about-us-page .closing-strip__parallel-lines span:nth-child(1) {
    width: 72px;
}

.about-us-page .closing-strip__parallel-lines span:nth-child(2) {
    width: 52px;
}

.about-us-page .closing-strip__parallel-lines span:nth-child(3) {
    width: 36px;
}

.about-us-page .closing-strip__text-col {
    flex: 1;
}

.about-us-page .closing-strip__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #ffffff;
    margin: 0 0 16px 0;
}

.about-us-page .closing-strip__body {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.01em;
    margin: 0;
}

.about-us-page .closing-strip__image-col {
    flex: 0 0 340px;
}

.about-us-page .closing-strip__image-wrapper {
    border-radius: 14px;
    overflow: hidden;
}

.about-us-page .closing-strip__image-wrapper img {
    width: 340px;
    height: 240px;
    object-fit: cover;
    display: block;
    border-radius: 14px;
    filter: sepia(0.25) contrast(1.08) brightness(0.88) saturate(0.8);
    transition: filter 0.85s ease-in-out;
}

.about-us-page .closing-strip__image-wrapper:hover img {
    filter: sepia(0) contrast(1) brightness(1) saturate(1);
}

.about-us-page .link-cta {
    display: inline-block;
    margin-top: 36px;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #ffffff;
    text-decoration: none;
    border: 2px solid #ffffff;
    border-radius: 8px;
    padding: 8px 36px;
    position: relative;
    transition: box-shadow 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.7s ease-in-out;
}

.about-us-page .link-cta::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    pointer-events: none;
    transition: border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.about-us-page .link-cta:hover {
    background: rgba(255, 255, 255, 0.12);
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.about-us-page .link-cta:hover::after {
    border-color: rgba(255, 255, 255, 0.4);
}

.about-us-page .link-cta:focus {
    outline: 2px solid #00F7EA;
    outline-offset: 4px;
}

@media (max-width: 1024px) {
    .about-us-page .split-panel {
        grid-template-columns: 1fr;
    }

    .about-us-page .split-panel__left {
        padding: 72px 36px 36px 36px;
    }

    .about-us-page .split-panel__right {
        padding: 36px 36px 72px 36px;
    }

    .about-us-page .split-panel__heading {
        font-size: 42px;
    }

    .about-us-page .approach-block__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .about-us-page .approach-block__image-shifted {
        margin-top: 0;
    }

    .about-us-page .identity-strip__grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-us-page .team-block__grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-us-page .closing-strip {
        flex-direction: column;
        gap: 36px;
    }

    .about-us-page .closing-strip__image-col {
        flex: none;
        width: 100%;
    }

    .about-us-page .closing-strip__image-wrapper img {
        width: 100%;
        height: 200px;
    }
}

@media (max-width: 640px) {
    .about-us-page .split-panel__heading {
        font-size: 42px;
    }

    .about-us-page .identity-strip {
        margin-left: 0;
        border-radius: 14px;
        padding: 36px 16px;
    }

    .about-us-page .identity-strip__grid {
        grid-template-columns: 1fr;
    }

    .about-us-page .approach-block {
        margin-right: 0;
        border-radius: 14px;
        padding: 36px 16px;
    }

    .about-us-page .team-block {
        padding: 36px 16px;
    }

    .about-us-page .team-block__grid {
        grid-template-columns: 1fr;
    }

    .about-us-page .closing-strip {
        margin-left: 0;
        border-radius: 14px;
        padding: 36px 16px;
    }
}

.coaching {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: clip;
    background: #ffffff;
}

.coaching__schema {
    display: none;
}

/* ── TITLE BLOCK ── */
.coaching__title-block {
    position: relative;
    padding: 72px 72px 72px 72px;
    background: linear-gradient(323deg, #00F7EA 0%, #00c4b8 18%, #f0fffe 55%, #ffffff 100%);
    overflow: hidden;
}

.coaching__title-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.coaching__title-pattern-dot {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 2px;
    background: #00F7EA;
    opacity: 0.28;
}

.coaching__title-layout {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 72px;
    max-width: 1296px;
}

.coaching__title-text {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.coaching__label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #C01B1D;
    font-weight: 700;
    border-bottom: 2px solid #C01B1D;
    padding-bottom: 4px;
}

.coaching__heading {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #111111;
    margin: 0;
}

.coaching__heading-accent {
    display: inline;
    background: #FD8E00;
    color: #111111;
    padding: 0 8px;
    border-radius: 2px;
}

.coaching__slogan {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #333333;
    max-width: 520px;
    margin: 0;
    font-style: italic;
    border-left: 3px solid #00F7EA;
    padding-left: 16px;
}

.coaching__title-image-col {
    flex: 0 0 420px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.coaching__image-mask {
    width: 420px;
    height: 480px;
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
    overflow: hidden;
    position: relative;
    border-radius: 8px;
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
}

.coaching__image-mask img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 700ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.coaching__image-mask:hover img {
    transform: scale(1.04);
}

.coaching__image-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(323deg, rgba(0, 247, 234, 0.38) 0%, transparent 100%);
    pointer-events: none;
}

.coaching__title-stats {
    display: flex;
    flex-direction: row;
    gap: 36px;
    margin-top: 36px;
}

.coaching__stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.coaching__stat-number {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #C01B1D;
}

.coaching__stat-label {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #444444;
}

/* Decorative frame lines */
.coaching__frame-line {
    position: absolute;
    background: #00F7EA;
    opacity: 0.35;
    pointer-events: none;
}

.coaching__frame-line--top {
    top: 16px;
    left: 36px;
    right: 36px;
    height: 1px;
}

.coaching__frame-line--bottom {
    bottom: 16px;
    left: 36px;
    right: 36px;
    height: 1px;
}

.coaching__frame-line--left {
    top: 36px;
    bottom: 36px;
    left: 16px;
    width: 1px;
}

.coaching__frame-line--right {
    top: 36px;
    bottom: 36px;
    right: 16px;
    width: 1px;
}

/* ── SESSIONS BLOCK ── */
.coaching__sessions {
    position: relative;
    padding: 72px 72px;
    background: #111111;
    overflow: hidden;
}

.coaching__sessions-spotlight {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(ellipse 600px 400px at var(--spot-x, 30%) var(--spot-y, 40%), rgba(0, 247, 234, 0.09) 0%, transparent 70%);
    animation: spotlightDrift 9s ease-in-out infinite alternate;
}

@keyframes spotlightDrift {
    0% {
        --spot-x: 20%;
        --spot-y: 30%;
    }

    33% {
        --spot-x: 65%;
        --spot-y: 55%;
    }

    66% {
        --spot-x: 45%;
        --spot-y: 20%;
    }

    100% {
        --spot-x: 75%;
        --spot-y: 70%;
    }
}

.coaching__sessions-inner {
    position: relative;
    z-index: 1;
    max-width: 1296px;
}

.coaching__sessions-header {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 72px;
}

.coaching__sessions-heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #ffffff;
    margin: 0;
    max-width: 560px;
}

.coaching__sessions-heading-mark {
    color: #00F7EA;
    font-weight: 700;
}

.coaching__sessions-desc {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #aaaaaa;
    max-width: 400px;
    margin: 0;
}

.coaching__cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
}

.coaching__card {
    position: relative;
    background: #1a1a1a;
    border-radius: 14px;
    border: 2px solid #2a2a2a;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow: hidden;
    transition: border-color 700ms cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 700ms cubic-bezier(0.34, 1.2, 0.64, 1);
    cursor: default;
}

.coaching__card:hover {
    border-color: #00F7EA;
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
}

.coaching__card-slit {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(323deg, rgba(0, 247, 234, 0.13) 0%, rgba(192, 27, 29, 0.08) 100%);
    overflow: hidden;
    transition: height 800ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.coaching__card:hover .coaching__card-slit {
    height: 72px;
}

.coaching__card-icon {
    width: 36px;
    height: 36px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.coaching__card-icon svg {
    width: 36px;
    height: 36px;
}

.coaching__card-tag {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #FD8E00;
    font-weight: 700;
}

.coaching__card-name {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.coaching__card-text {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #aaaaaa;
    margin: 0;
}

.coaching__card-detail {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.coaching__card-detail-dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #C01B1D;
    flex-shrink: 0;
}

.coaching__card-detail-text {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #888888;
}

.coaching__card--featured {
    border-color: #00F7EA;
    background: linear-gradient(323deg, #0d2b2a 0%, #1a1a1a 60%);
}

.coaching__card--featured:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.18);
}

.coaching__card-badge {
    display: inline-block;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #111111;
    background: #00F7EA;
    border-radius: 2px;
    padding: 4px 8px;
    font-weight: 700;
    align-self: flex-start;
}

.coaching__sessions-cta-row {
    margin-top: 72px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
}

.coaching__button {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
    padding: 16px 36px;
    border: 3px solid #00F7EA;
    color: #00F7EA;
    background: transparent;
    position: relative;
    transition: color 650ms cubic-bezier(0.34, 1.2, 0.64, 1), background 650ms cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 650ms cubic-bezier(0.34, 1.2, 0.64, 1);
    cursor: pointer;
}

.coaching__button::after {
    content: '';
    position: absolute;
    inset: 5px;
    border-radius: 4px;
    border: 1.5px solid #00F7EA;
    opacity: 0;
    transition: opacity 650ms cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.coaching__button:hover {
    background: #00F7EA;
    color: #111111;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.coaching__button:hover::after {
    opacity: 1;
}

.coaching__button:active {
    box-shadow: inset -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
}

.coaching__button:focus-visible {
    outline: 2px solid #FD8E00;
    outline-offset: 4px;
}

.coaching__note {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #666666;
    margin: 0;
}

/* Responsive */
@media (max-width: 1100px) {
    .coaching__title-layout {
        flex-direction: column;
        gap: 36px;
    }

    .coaching__title-image-col {
        flex: 0 0 auto;
        align-items: flex-start;
    }

    .coaching__image-mask {
        width: 100%;
        max-width: 480px;
        height: 360px;
    }

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

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

@media (max-width: 720px) {
    .coaching__title-block {
        padding: 36px 16px;
    }

    .coaching__sessions {
        padding: 36px 16px;
    }

    .coaching__heading {
        font-size: 42px;
    }

    .coaching__cards-grid {
        grid-template-columns: 1fr;
    }

    .coaching__title-stats {
        flex-direction: column;
        gap: 16px;
    }

    .coaching__sessions-cta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .coaching__frame-line--top,
    .coaching__frame-line--bottom,
    .coaching__frame-line--left,
    .coaching__frame-line--right {
        display: none;
    }
}

.entry {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: clip;
}

.entry .diamond-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
}

.entry .diamond-divider__shape {
    width: 6px;
    height: 6px;
    background: #00F7EA;
    transform: rotate(45deg);
    opacity: 0.5;
}

.entry .diamond-divider__shape--accent {
    background: #C01B1D;
    opacity: 0.7;
    width: 8px;
    height: 8px;
}

.entry .diamond-divider__shape--warm {
    background: #FD8E00;
    opacity: 0.6;
}

/* ── SECTION 1: TITLE BLOCK ── */
.entry .title-block {
    position: relative;
    padding-top: 72px;
    padding-bottom: 72px;
    background: linear-gradient(323deg, #00F7EA 0%, rgba(0, 247, 234, 0.18) 40%, transparent 100%);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: end;
    padding-left: 72px;
    padding-right: 72px;
}

.entry .title-block__decoration {
    position: absolute;
    top: 36px;
    right: 72px;
    width: 180px;
    height: 180px;
    background: linear-gradient(323deg, rgba(253, 142, 0, 0.18) 0%, rgba(192, 27, 29, 0.08) 100%);
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    pointer-events: none;
}

.entry .title-block__decoration--small {
    position: absolute;
    bottom: 36px;
    left: 36px;
    width: 80px;
    height: 80px;
    background: rgba(192, 27, 29, 0.10);
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    pointer-events: none;
}

.entry .title-block__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: end;
    padding-top: 72px;
}

.entry .title-block__label {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #C01B1D;
    font-weight: 600;
    text-transform: uppercase;
}

.entry .title-block__heading {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0;
}

.entry .title-block__heading--word {
    display: inline;
    background: #C01B1D;
    color: #fff;
    padding: 0 8px;
    border-radius: 2px;
}

.entry .title-block__description {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2d2d3a;
    max-width: 480px;
    margin: 0;
}

.entry .title-block__image-wrap {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.entry .title-block__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 14px;
}

.entry .title-block__image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(323deg, rgba(192, 27, 29, 0.55) 0%, rgba(0, 247, 234, 0.12) 70%, transparent 100%);
    border-radius: 14px;
}

/* ── SECTION 2: THE TEAM ── */
.entry .team-block {
    padding: 72px;
    background: #fff;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 72px;
    align-items: start;
}

.entry .team-block__aside {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.entry .team-block__metric-pair {
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-end;
}

.entry .team-block__metric {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.entry .team-block__metric-value {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
}

.entry .team-block__metric-value--accent {
    color: #C01B1D;
}

.entry .team-block__metric-bar {
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(323deg, #00F7EA 0%, rgba(0, 247, 234, 0.3) 100%);
    width: 100%;
}

.entry .team-block__metric-bar--partial {
    background: linear-gradient(323deg, #FD8E00 0%, rgba(253, 142, 0, 0.3) 100%);
    width: 72%;
}

.entry .team-block__metric-label {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #5a5a72;
}

.entry .team-block__image-wrap {
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.entry .team-block__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.entry .team-block__body {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.entry .team-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0;
}

.entry .team-block__text {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2d2d3a;
    margin: 0;
}

.entry .team-block__members {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.entry .team-block__member {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    border: 2px solid rgba(0, 247, 234, 0.25);
    border-radius: 8px;
    background: rgba(0, 247, 234, 0.04);
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.entry .team-block__member:hover {
    border-color: #00F7EA;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.entry .team-block__member-name {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    font-weight: 700;
    color: #1b1b2e;
}

.entry .team-block__member-role {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #C01B1D;
}

/* ── SECTION 3: READINESS ── */
.entry .readiness-block {
    padding: 72px;
    background: linear-gradient(323deg, rgba(253, 142, 0, 0.08) 0%, rgba(0, 247, 234, 0.05) 60%, #fff 100%);
    display: flex;
    flex-direction: column;
    gap: 36px;
    position: relative;
}

.entry .readiness-block::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(0, 247, 234, 0.07) 0%, transparent 70%);
    pointer-events: none;
}

.entry .readiness-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0;
    max-width: 620px;
}

.entry .readiness-block__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.entry .readiness-block__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 36px 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
    transition: box-shadow 0.75s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.entry .readiness-block__item:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
    transform: translateY(-4px);
}

.entry .readiness-block__item-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(0, 247, 234, 0.12);
    margin-bottom: 8px;
}

.entry .readiness-block__item-icon svg {
    width: 20px;
    height: 20px;
}

.entry .readiness-block__item-title {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0;
}

.entry .readiness-block__item-text {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2d2d3a;
    margin: 0;
}

.entry .readiness-block__note {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #5a5a72;
    max-width: 640px;
    border-left: none;
    padding: 16px;
    border-radius: 8px;
    background: rgba(192, 27, 29, 0.05);
    margin: 0;
}

.entry .readiness-block__note--mark {
    color: #C01B1D;
    font-weight: 700;
}

/* ── SECTION 4: SITUATIONS ── */
.entry .situations-block {
    padding: 72px;
    background: #1b1b2e;
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.entry .situations-block__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start;
}

.entry .situations-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #fff;
    margin: 0;
}

.entry .situations-block__heading--accent {
    color: #00F7EA;
}

.entry .situations-block__lead {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
    padding-top: 8px;
}

.entry .situations-block__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.entry .situations-block__card {
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 16/9;
}

.entry .situations-block__card--wide {
    grid-column: span 2;
    aspect-ratio: 21/7;
}

.entry .situations-block__card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.85s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.entry .situations-block__card:hover .situations-block__card-image {
    transform: scale(1.04);
}

.entry .situations-block__card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(323deg, rgba(27, 27, 46, 0.82) 0%, rgba(0, 247, 234, 0.12) 100%);
}

.entry .situations-block__card-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.entry .situations-block__card-tag {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #00F7EA;
    font-weight: 600;
    text-transform: uppercase;
}

.entry .situations-block__card-title {
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.entry .situations-block__card-text {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

/* ── SECTION 5: COMMITMENT ── */
.entry .commitment-block {
    padding: 72px;
    background: #fff;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 72px;
    align-items: start;
}

.entry .commitment-block__body {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.entry .commitment-block__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 300;
    color: #1b1b2e;
    margin: 0;
}

.entry .commitment-block__text {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2d2d3a;
    margin: 0;
}

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

.entry .commitment-block__list-item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #2d2d3a;
}

.entry .commitment-block__list-marker {
    width: 8px;
    height: 8px;
    min-width: 8px;
    background: #FD8E00;
    transform: rotate(45deg);
    margin-top: 8px;
    border-radius: 2px;
}

.entry .commitment-block__aside {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.entry .commitment-block__image-wrap {
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 3/4;
    box-shadow: -1px 9px 40px -1px rgba(192, 27, 29, 0.14);
}

.entry .commitment-block__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.entry .commitment-block__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 36px;
    border: 3px solid #C01B1D;
    border-radius: 22px;
    background: transparent;
    color: #C01B1D;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.entry .commitment-block__cta::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 2px solid #C01B1D;
    border-radius: 18px;
    opacity: 0;
    transition: opacity 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.entry .commitment-block__cta:hover {
    background: #C01B1D;
    color: #fff;
    box-shadow: -1px 4px 28px -1px rgba(192, 27, 29, 0.10);
}

.entry .commitment-block__cta:hover::after {
    opacity: 1;
    border-color: rgba(255, 255, 255, 0.4);
}

.entry .commitment-block__cta:active {
    box-shadow: inset 0 2px 8px rgba(192, 27, 29, 0.18);
}

/* ── LOAD ANIMATION ── */
@keyframes entry-reveal {
    from {
        opacity: 0;
        transform: rotate(-1.5deg) translateY(24px);
    }

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

.entry .title-block {
    animation: entry-reveal 0.85s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.entry .team-block {
    animation: entry-reveal 0.85s cubic-bezier(0.34, 1.2, 0.64, 1) 0.1s both;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .entry .title-block {
        grid-template-columns: 1fr;
        padding-left: 36px;
        padding-right: 36px;
    }

    .entry .team-block {
        grid-template-columns: 1fr;
        padding: 36px;
        gap: 36px;
    }

    .entry .team-block__metric-pair {
        flex-direction: row;
    }

    .entry .readiness-block {
        padding: 36px;
    }

    .entry .readiness-block__grid {
        grid-template-columns: 1fr 1fr;
    }

    .entry .situations-block {
        padding: 36px;
    }

    .entry .situations-block__top {
        grid-template-columns: 1fr;
    }

    .entry .commitment-block {
        grid-template-columns: 1fr;
        padding: 36px;
        gap: 36px;
    }
}

@media (max-width: 680px) {
    .entry .title-block {
        padding: 36px 16px;
    }

    .entry .title-block__heading {
        font-size: 42px;
    }

    .entry .team-block {
        padding: 36px 16px;
    }

    .entry .team-block__members {
        grid-template-columns: 1fr;
    }

    .entry .team-block__metric-pair {
        flex-direction: column;
        align-items: flex-start;
    }

    .entry .readiness-block {
        padding: 36px 16px;
    }

    .entry .readiness-block__grid {
        grid-template-columns: 1fr;
    }

    .entry .situations-block {
        padding: 36px 16px;
    }

    .entry .situations-block__cards {
        grid-template-columns: 1fr;
    }

    .entry .situations-block__card--wide {
        grid-column: span 1;
        aspect-ratio: 16/9;
    }

    .entry .commitment-block {
        padding: 36px 16px;
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 72px 36px;
    background: #ffffff;
    overflow: hidden;
}

.success-page .confirmation-wrapper {
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}

.success-page .confirmation-icon {
    width: 88px;
    height: 88px;
    border-radius: 22px;
    background: linear-gradient(323deg, #00F7EA 0%, #00F7EA 30%, rgba(0, 247, 234, 0.12) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
    flex-shrink: 0;
}

.success-page .confirmation-icon svg {
    width: 44px;
    height: 44px;
}

.success-page .confirmation-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: left;
    max-width: 560px;
    width: 100%;
}

.success-page .confirmation-heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: #111111;
    margin: 0;
    font-weight: 300;
    text-align: center;
}

.success-page .confirmation-heading .accent-word {
    display: inline-block;
    background: #00F7EA;
    padding: 0 8px;
    border-radius: 2px;
}

.success-page .confirmation-body {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #3a3a3a;
    margin: 0;
    text-align: center;
}

.success-page .confirmation-divider {
    width: 64px;
    height: 3px;
    background: linear-gradient(323deg, #C01B1D 0%, #FD8E00 100%);
    border-radius: 2px;
}

.success-page .confirmation-detail {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #5c5c5c;
    margin: 0;
    text-align: center;
    max-width: 440px;
}

.success-page .confirmation-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}

.success-page .action-button--primary {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #111111;
    background: transparent;
    border: 2px solid #111111;
    border-radius: 8px;
    padding: 16px 36px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    transition: border-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
}

.success-page .action-button--primary::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1.5px solid transparent;
    border-radius: 6px;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.success-page .action-button--primary:hover {
    border-color: #00F7EA;
    color: #111111;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.success-page .action-button--primary:hover::after {
    border-color: #00F7EA;
}

.success-page .action-button--primary:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 3px;
}

.success-page .action-button--primary:active {
    box-shadow: inset -1px 2px 2px -1px rgba(0, 247, 234, 0.10);
}

.success-page .action-button--secondary {
    font-size: 15px;
    letter-spacing: 0.02em;
    color: #5c5c5c;
    background: transparent;
    border: 2px solid #d4d4d4;
    border-radius: 8px;
    padding: 16px 36px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    transition: border-color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.7s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.success-page .action-button--secondary::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1.5px solid transparent;
    border-radius: 6px;
    transition: border-color 0.8s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.success-page .action-button--secondary:hover {
    border-color: #FD8E00;
    color: #3a3a3a;
}

.success-page .action-button--secondary:hover::after {
    border-color: rgba(253, 142, 0, 0.4);
}

.success-page .action-button--secondary:focus-visible {
    outline: 2px solid #FD8E00;
    outline-offset: 3px;
}

.success-page .action-button--secondary:active {
    box-shadow: inset -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
}

.success-page .confirmation-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 36px;
    border-radius: 14px;
    background: rgba(0, 247, 234, 0.06);
    border: 1px solid rgba(0, 247, 234, 0.22);
}

.success-page .confirmation-meta__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.success-page .confirmation-meta__text {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #3a3a3a;
    margin: 0;
}

.success-page .confirmation-meta__text strong {
    color: #111111;
    font-weight: 600;
}

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

    .success-page .confirmation-heading {
        font-size: 42px;
    }

    .success-page .confirmation-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .success-page .action-button--primary,
    .success-page .action-button--secondary {
        justify-content: center;
    }

    .success-page .confirmation-meta {
        flex-direction: column;
        text-align: center;
        padding: 16px;
    }
}

.error-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 72px 36px;
    background-color: #ffffff;
    overflow: hidden;
}

.error-page .error-page__wrapper {
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}

.error-page .error-page__code-block {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-page .error-page__code {
    font-size: 72px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    font-weight: 800;
    color: #ffffff;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(323deg, #C01B1D 0%, #FD8E00 55%, #00F7EA 100%);
    user-select: none;
}

.error-page .error-page__code-block::before {
    content: "";
    position: absolute;
    inset: -8px -16px;
    background-color: #f4fffe;
    border-radius: 14px;
    z-index: -1;
    box-shadow: -1px 4px 28px -1px rgba(0, 247, 234, 0.10);
}

.error-page .error-page__divider {
    width: 72px;
    height: 3px;
    border-radius: 2px;
    background-image: linear-gradient(323deg, #C01B1D 0%, #FD8E00 60%, #00F7EA 100%);
}

.error-page .error-page__heading {
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #111111;
    text-align: center;
    margin: 0;
}

.error-page .error-page__heading .error-page__heading--accent {
    display: inline-block;
    background-color: #00F7EA;
    border-radius: 2px;
    padding: 0 8px;
    color: #111111;
    line-height: 1.15;
}

.error-page .error-page__description {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #333333;
    text-align: center;
    max-width: 540px;
    margin: 0;
}

.error-page .error-page__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin-top: 8px;
}

.error-page .error-page__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    font-weight: 600;
    padding: 16px 36px;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: box-shadow 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), background-color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.65s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.error-page .error-page__button--primary {
    background-color: #111111;
    color: #ffffff;
    border: 2px solid #111111;
    box-shadow: -1px 2px 2px -1px rgba(0, 247, 234, 0.07);
}

.error-page .error-page__button--primary::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.error-page .error-page__button--primary:hover {
    box-shadow: -1px 9px 40px -1px rgba(0, 247, 234, 0.14);
}

.error-page .error-page__button--primary:hover::after {
    border-color: #00F7EA;
}

.error-page .error-page__button--primary:focus-visible {
    outline: 2px solid #00F7EA;
    outline-offset: 4px;
}

.error-page .error-page__button--primary:active {
    box-shadow: inset -1px 2px 2px -1px rgba(0, 247, 234, 0.10);
}

.error-page .error-page__button--secondary {
    background-color: transparent;
    color: #111111;
    border: 2px solid #111111;
    box-shadow: -1px 2px 2px -1px rgba(192, 27, 29, 0.07);
}

.error-page .error-page__button--secondary::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: border-color 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.error-page .error-page__button--secondary:hover {
    box-shadow: -1px 9px 40px -1px rgba(192, 27, 29, 0.14);
}

.error-page .error-page__button--secondary:hover::after {
    border-color: #C01B1D;
}

.error-page .error-page__button--secondary:focus-visible {
    outline: 2px solid #C01B1D;
    outline-offset: 4px;
}

.error-page .error-page__button--secondary:active {
    box-shadow: inset -1px 2px 2px -1px rgba(192, 27, 29, 0.10);
}

.error-page .error-page__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.error-page .error-page__hint {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.01em;
    color: #777777;
    text-align: center;
    margin: 0;
}

.error-page .error-page__hint-link {
    color: #C01B1D;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: text-shadow 0.45s ease-in-out, color 0.45s ease-in-out;
}

.error-page .error-page__hint-link:hover {
    text-shadow: 0 2px 8px rgba(192, 27, 29, 0.18);
    color: #a01517;
}

.error-page .error-page__decoration {
    position: absolute;
    border-radius: 22px;
    pointer-events: none;
    z-index: -1;
}

.error-page .error-page__code-block .error-page__decoration--left {
    width: 8px;
    height: 56px;
    left: -36px;
    background-color: #00F7EA;
    opacity: 0.35;
    border-radius: 2px;
}

.error-page .error-page__code-block .error-page__decoration--right {
    width: 8px;
    height: 56px;
    right: -36px;
    background-color: #FD8E00;
    opacity: 0.35;
    border-radius: 2px;
}

@media (max-width: 600px) {
    .error-page {
        padding: 36px 16px;
    }

    .error-page .error-page__heading {
        font-size: 42px;
    }

    .error-page .error-page__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .error-page .error-page__button {
        justify-content: center;
    }
}