html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    scrollbar-gutter: stable;
    min-height: 100vh;
}

.hd {
    background: linear-gradient(135deg, #1E394C 0%, #43457F 100%);
    position: relative;
    overflow: hidden;
}

.hd-band {
    background: rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(193, 201, 208, 0.18);
    padding: 8px 0;
}

.hd-band-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.hd-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Fira Code', monospace;
    font-size: 16px;
    color: #C1C9D0;
    text-decoration: none;
    transition: color 0.38s ease-in-out;
}

.hd-contact-item:hover {
    color: #ffffff;
}

.hd-contact-item:focus {
    outline: 2px solid #C1C9D0;
    outline-offset: 3px;
    border-radius: 3px;
}

.hd-contact-item .f7-icons {
    font-size: 16px;
    color: #C1C9D0;
}

.hd-main {
    max-width: 1320px;
    margin: 0 auto;
    padding: 24px 24px 0;
    display: flex;
    align-items: center;
    gap: 24px;
}

.brand-box {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    flex-shrink: 0;
}

.brand-logo-wrap {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 1px solid rgba(193, 201, 208, 0.45);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08), 0 0 0 3px rgba(193, 201, 208, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.brand-logo-wrap img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block;
}

.brand-name {
    font-family: 'Exo 2', sans-serif;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.15;
    color: #ffffff;
    letter-spacing: 0;
}

.brand-tagline {
    font-family: 'Fira Code', monospace;
    font-size: 16px;
    font-weight: 300;
    color: #C1C9D0;
    line-height: 1.4;
    margin-top: 4px;
}

.hd-accent {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.hd-deco {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    opacity: 0.18;
}

.hd-nav-row {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: stretch;
    margin-top: 24px;
}

.hd-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    border-top: 1px solid rgba(193, 201, 208, 0.2);
    padding-top: 12px;
    padding-bottom: 12px;
    width: 100%;
}

.hd-nav a {
    font-family: 'Exo 2', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #C1C9D0;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
    white-space: nowrap;
}

.hd-nav a:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.hd-nav a:focus {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.hd-nav a.active {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.hd-nav .f7-icons {
    font-size: 18px;
}

@media (max-width: 768px) {
    .hd-band-inner {
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }

    .hd-main {
        padding: 24px 24px 0;
        flex-wrap: wrap;
        gap: 12px;
    }

    .brand-name {
        font-size: 27px;
    }

    .hd-accent {
        display: none;
    }

    .hd-nav-row {
        padding: 0 12px;
    }

    .hd-nav a {
        font-size: 16px;
        padding: 12px 12px;
    }
}

@media (max-width: 320px) {
    .brand-name {
        font-size: 21px;
    }

    .hd-nav a {
        padding: 12px 8px;
        font-size: 16px;
    }
}

.ft {
    background: linear-gradient(180deg, #f4f6f8 0%, #edf0f3 100%);
    box-shadow: 0 -2px 12px 0 rgba(30, 57, 76, 0.08);
    font-family: 'Exo 2', sans-serif;
}

.ft-upper {
    background: #ffffff;
    padding: 48px 0 48px;
    border-bottom: 1px solid #C1C9D0;
}

.ft-upper-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.ft-brand-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.ft-logo-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 1px solid rgba(30, 57, 76, 0.2);
    background: #f4f6f8;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ft-logo-wrap img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    display: block;
}

.ft-brand-name {
    font-family: 'Exo 2', sans-serif;
    font-size: 27px;
    font-weight: 700;
    color: #1E394C;
    line-height: 1.15;
}

.ft-desc {
    font-size: 16px;
    font-weight: 400;
    color: #1E394C;
    line-height: 1.65;
    max-width: 340px;
}

.ft-mission {
    font-family: 'Fira Code', monospace;
    font-size: 16px;
    font-weight: 300;
    color: #43457F;
    line-height: 1.65;
    padding: 12px;
    border-radius: 6px;
    background: rgba(67, 69, 127, 0.06);
    box-shadow: 2px 3px 5px 0 rgba(67, 69, 127, 0.05);
}

.ft-col-label {
    font-size: 16px;
    font-weight: 700;
    color: #1E394C;
    line-height: 1.4;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0;
}

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

.ft-links li a {
    font-size: 16px;
    color: #43457F;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    min-height: 44px;
    border-radius: 3px;
    transition: color 0.42s ease-in-out;
}

.ft-links li a:hover {
    color: #1E394C;
}

.ft-links li a:focus {
    outline: 2px solid #43457F;
    outline-offset: 3px;
}

.ft-links li a .f7-icons {
    font-size: 16px;
    color: #C1C9D0;
}

.ft-contact-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ft-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    color: #1E394C;
    line-height: 1.65;
}

.ft-contact-item .f7-icons {
    font-size: 18px;
    color: #43457F;
    flex-shrink: 0;
    margin-top: 4px;
}

.ft-contact-item a {
    color: #43457F;
    text-decoration: none;
    transition: color 0.38s ease-in-out;
}

.ft-contact-item a:hover {
    color: #1E394C;
}

.ft-contact-item a:focus {
    outline: 2px solid #43457F;
    outline-offset: 2px;
    border-radius: 3px;
}

.ft-lower {
    padding: 24px 0;
}

.ft-lower-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.ft-copy {
    font-family: 'Fira Code', monospace;
    font-size: 16px;
    color: #43457F;
    line-height: 1.4;
}

.ft-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Fira Code', monospace;
    font-size: 16px;
    color: #C1C9D0;
}

.ft-badge .f7-icons {
    font-size: 18px;
    color: #C1C9D0;
}

@media (max-width: 1024px) {
    .ft-upper-inner {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .ft-brand-col {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .ft-upper-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ft-brand-col {
        grid-column: auto;
    }

    .ft-lower-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

@media (max-width: 320px) {
    .ft-brand-name {
        font-size: 21px;
    }
}

.text-policy {
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 24px;
    color: #1E394C;
}

.text-policy h1 {
    font-size: clamp(37px, 5vw, 52px);
    line-height: 1.15;
    color: #1E394C;
    margin-bottom: 24px;
    margin-top: 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #C1C9D0;
}

.text-policy h2 {
    font-size: clamp(27px, 3.5vw, 37px);
    line-height: 1.15;
    color: #1E394C;
    margin-top: 48px;
    margin-bottom: 24px;
}

.text-policy h3 {
    font-size: clamp(21px, 2.5vw, 27px);
    line-height: 1.4;
    color: #1E394C;
    margin-top: 48px;
    margin-bottom: 12px;
}

.text-policy h4 {
    font-size: clamp(18px, 2vw, 21px);
    line-height: 1.4;
    color: #43457F;
    margin-top: 24px;
    margin-bottom: 12px;
}

.text-policy h5 {
    font-size: 18px;
    line-height: 1.4;
    color: #43457F;
    margin-top: 24px;
    margin-bottom: 8px;
}

.text-policy h6 {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.text-policy p {
    font-size: 18px;
    line-height: 1.65;
    color: #1E394C;
    margin-top: 0;
    margin-bottom: 24px;
}

.text-policy ul,
.text-policy ol {
    font-size: 18px;
    line-height: 1.65;
    color: #1E394C;
    margin-top: 0;
    margin-bottom: 24px;
    padding-left: 24px;
}

.text-policy ul {
    list-style: none;
    padding-left: 0;
}

.text-policy ul li {
    padding-left: 24px;
    position: relative;
    margin-bottom: 8px;
}

.text-policy ul li::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #43457F;
}

.text-policy ol {
    list-style: decimal;
}

.text-policy ol li {
    padding-left: 8px;
    margin-bottom: 8px;
}

.text-policy ul ul,
.text-policy ol ol,
.text-policy ul ol,
.text-policy ol ul {
    margin-top: 8px;
    margin-bottom: 8px;
}

.text-policy ul ul li::before {
    width: 4px;
    height: 4px;
    top: 12px;
    background-color: #C1C9D0;
    border: 1px solid #43457F;
}

.text-policy strong,
.text-policy b {
    font-weight: 700;
    color: #1E394C;
}

.text-policy em,
.text-policy i {
    font-style: italic;
    color: #43457F;
}

.text-policy a {
    color: #43457F;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.35s ease-in-out, text-decoration-color 0.35s ease-in-out;
}

.text-policy a:hover {
    color: #1E394C;
    text-decoration-color: #1E394C;
}

.text-policy a:visited {
    color: #1E394C;
}

.text-policy hr {
    border: none;
    border-top: 1px solid #C1C9D0;
    margin-top: 48px;
    margin-bottom: 48px;
    height: 0;
}

.text-policy table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 24px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.text-policy thead {
    background-color: #1E394C;
    color: #fff;
}

.text-policy thead th {
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    color: #fff;
}

.text-policy tbody tr {
    border-bottom: 1px solid #C1C9D0;
    transition: background-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.text-policy tbody tr:last-child {
    border-bottom: none;
}

.text-policy tbody tr:nth-child(even) {
    background-color: rgba(193, 201, 208, 0.15);
}

.text-policy tbody tr:hover {
    background-color: rgba(67, 69, 127, 0.07);
}

.text-policy td {
    padding: 12px 24px;
    color: #1E394C;
    vertical-align: top;
}

.text-policy th {
    padding: 12px 24px;
    text-align: left;
    vertical-align: top;
}

@media (max-width: 768px) {
    .text-policy {
        padding: 48px 24px;
    }

    .text-policy table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .text-policy thead th,
    .text-policy td,
    .text-policy th {
        padding: 12px;
        white-space: nowrap;
    }

    .text-policy h2 {
        margin-top: 48px;
    }

    .text-policy h3 {
        margin-top: 24px;
    }
}

@media (max-width: 320px) {
    .text-policy {
        padding: 24px 12px;
    }

    .text-policy h1 {
        font-size: 27px;
    }

    .text-policy h2 {
        font-size: 21px;
    }

    .text-policy h3 {
        font-size: 18px;
    }

    .text-policy p,
    .text-policy ul,
    .text-policy ol {
        font-size: 16px;
    }
}

.subsc {
    display: block;
    overflow-x: clip;
}

.subsc .pg-band {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-width: 1320px;
    margin: 0 auto;
    padding: 96px 48px 48px;
    gap: 48px;
}

.subsc .pg-text {
    flex: 1 1 55%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.subsc .pg-accent {
    display: inline-block;
    background: linear-gradient(112deg, #1E394C 0%, #43457F 55%, #C1C9D0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 52px;
    line-height: 1.15;
    font-weight: 800;
    text-transform: uppercase;
}

.subsc .pg-sub {
    font-size: 21px;
    line-height: 1.65;
    color: #1E394C;
    font-weight: 400;
    max-width: 520px;
}

.subsc .pg-sub em {
    font-style: normal;
    color: #43457F;
    font-weight: 600;
}

.subsc .pg-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    line-height: 1.4;
    color: #43457F;
    font-weight: 600;
}

.subsc .pg-arrow svg {
    flex-shrink: 0;
}

.subsc .pg-img-card {
    flex: 0 0 340px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    align-self: flex-start;
    margin-top: 24px;
}

.subsc .pg-img-card img {
    width: 340px;
    height: 420px;
    object-fit: cover;
    display: block;
}

.subsc .pg-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(30, 57, 76, 0.72) 0%, rgba(67, 69, 127, 0.38) 50%, transparent 100%);
}

.subsc .pg-tag {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(30, 57, 76, 0.88);
    color: #C1C9D0;
    font-size: 16px;
    line-height: 1.4;
    padding: 8px 16px;
    border-radius: 6px;
}

@media (max-width: 1024px) {
    .subsc .pg-band {
        padding: 48px 24px 48px;
        gap: 24px;
    }

    .subsc .pg-img-card {
        flex: 0 0 260px;
    }

    .subsc .pg-img-card img {
        width: 260px;
        height: 340px;
    }

    .subsc .pg-accent {
        font-size: 37px;
    }
}

@media (max-width: 768px) {
    .subsc .pg-band {
        flex-direction: column;
        padding: 48px 24px 24px;
    }

    .subsc .pg-img-card {
        flex: none;
        width: 100%;
        max-width: 400px;
        align-self: center;
        margin-top: 0;
    }

    .subsc .pg-img-card img {
        width: 100%;
        height: 280px;
    }

    .subsc .pg-accent {
        font-size: 37px;
    }
}

@media (max-width: 320px) {
    .subsc .pg-band {
        padding: 24px 12px;
    }

    .subsc .pg-accent {
        font-size: 27px;
    }
}

.subsc .divider-a {
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.subsc .divider-a svg {
    display: block;
    width: 100%;
}

.subsc .ring-wrap {
    background: #eef1f4;
    padding: 96px 48px;
}

.subsc .ring-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.subsc .ring-lbl {
    font-size: 27px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    text-align: center;
    max-width: 640px;
}

.subsc .ring-orbit {
    position: relative;
    width: 480px;
    height: 480px;
    flex-shrink: 0;
}

.subsc .ring-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 60%, #C1C9D0 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    z-index: 2;
}

.subsc .ring-center-lbl {
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    padding: 8px;
}

.subsc .ring-track {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400px;
    height: 400px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1.5px dashed rgba(67, 69, 127, 0.25);
}

.subsc .ring-node {
    position: absolute;
    width: 96px;
    height: 96px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.subsc .ring-node:hover {
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.subsc .ring-node svg {
    flex-shrink: 0;
}

.subsc .ring-node span {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 600;
    text-align: center;
    padding: 0 4px;
}

.subsc .ring-desc {
    font-size: 18px;
    line-height: 1.65;
    color: #1E394C;
    text-align: center;
    max-width: 560px;
}

@media (max-width: 768px) {
    .subsc .ring-wrap {
        padding: 48px 24px;
    }

    .subsc .ring-orbit {
        width: 320px;
        height: 320px;
    }

    .subsc .ring-track {
        width: 270px;
        height: 270px;
    }

    .subsc .ring-center {
        width: 110px;
        height: 110px;
    }

    .subsc .ring-node {
        width: 72px;
        height: 72px;
        border-radius: 12px;
    }

    .subsc .ring-node span {
        font-size: 16px;
    }
}

@media (max-width: 320px) {
    .subsc .ring-orbit {
        width: 260px;
        height: 260px;
    }

    .subsc .ring-track {
        width: 220px;
        height: 220px;
    }

    .subsc .ring-center {
        width: 90px;
        height: 90px;
    }

    .subsc .ring-node {
        width: 58px;
        height: 58px;
    }
}

.subsc .divider-b {
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.subsc .divider-b svg {
    display: block;
    width: 100%;
}

.subsc .cards-wrap {
    padding: 96px 48px;
    background: #fff;
}

.subsc .cards-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.subsc .cards-head {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.subsc .cards-h {
    font-size: 27px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    max-width: 480px;
}

.subsc .cards-note {
    font-size: 18px;
    line-height: 1.65;
    color: #43457F;
    max-width: 340px;
    text-align: right;
}

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

.subsc .card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.subsc .card:hover {
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.subsc .card-corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 28px 28px 0;
    border-color: transparent #C1C9D0 transparent transparent;
    border-radius: 0 16px 0 0;
}

.subsc .card-icon {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.subsc .card-h {
    font-size: 18px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
}

.subsc .card-p {
    font-size: 16px;
    line-height: 1.65;
    color: #2d4a5e;
}

.subsc .card-bar-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

.subsc .card-bar-lbl {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    font-weight: 600;
}

.subsc .bar-track {
    width: 100%;
    height: 8px;
    background: #C1C9D0;
    border-radius: 3px;
    overflow: hidden;
}

.subsc .bar-fill {
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, #1E394C 0%, #43457F 100%);
    animation: barIn 1.1s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes barIn {
    from {
        width: 0%;
    }
}

.subsc .bar-fill.lv1 {
    width: 85%;
    animation-delay: 0.1s;
}

.subsc .bar-fill.lv2 {
    width: 65%;
    animation-delay: 0.25s;
}

.subsc .bar-fill.lv3 {
    width: 92%;
    animation-delay: 0.4s;
}

.subsc .card-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    transition: color 0.35s ease-in-out, text-decoration-thickness 0.35s ease-in-out;
    cursor: pointer;
}

.subsc .card-link:hover {
    color: #43457F;
    text-decoration-thickness: 4px;
}

.subsc .cards-cta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding-top: 24px;
    border-top: 1.5px solid #C1C9D0;
}

.subsc .btn-prim {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(112deg, #1E394C 0%, #43457F 100%);
    color: #fff;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
    text-decoration: none;
}

.subsc .btn-prim:hover {
    filter: brightness(1.15);
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.subsc .btn-prim:active {
    filter: brightness(0.95);
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.subsc .btn-prim:focus-visible {
    outline: 3px solid #43457F;
    outline-offset: 3px;
}

.subsc .cta-note {
    font-size: 16px;
    line-height: 1.65;
    color: #43457F;
}

@media (max-width: 1024px) {
    .subsc .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .subsc .cards-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .subsc .cards-note {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .subsc .cards-wrap {
        padding: 48px 24px;
    }

    .subsc .cards-grid {
        grid-template-columns: 1fr;
    }

    .subsc .cards-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 320px) {
    .subsc .cards-wrap {
        padding: 24px 12px;
    }
}

.subsc .bg-breathe {
    animation: breathe 5s ease-in-out infinite;
}

@keyframes breathe {

    0%,
    100% {
        filter: contrast(1);
    }

    50% {
        filter: contrast(1.09);
    }
}

.abt-pg {
    overflow-x: clip;
    position: relative;
}

.abt-pg .reveal-mask {
    animation: clipReveal 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
    clip-path: inset(0 100% 0 0);
}

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

.abt-pg .reveal-up {
    animation: fadeUp 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
    opacity: 0;
    transform: translateY(24px);
}

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

.abt-pg .d1 {
    animation-delay: 0.05s;
}

.abt-pg .d2 {
    animation-delay: 0.15s;
}

.abt-pg .d3 {
    animation-delay: 0.25s;
}

.abt-pg .d4 {
    animation-delay: 0.35s;
}

/* ── SECTION 1: TITLE BLOCK ── */
.abt-pg .about-top {
    position: relative;
    background-color: #1E394C;
    background-image:
        linear-gradient(135deg, #1E394C 0%, #43457F 60%, #C1C9D0 100%);
    padding: 96px 24px;
    overflow: hidden;
}

.abt-pg .about-top::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Crect width='60' height='60' fill='none'/%3E%3Ccircle cx='30' cy='30' r='1' fill='%23ffffff' opacity='0.04'/%3E%3Ccircle cx='0' cy='0' r='1' fill='%23ffffff' opacity='0.04'/%3E%3Ccircle cx='60' cy='0' r='1' fill='%23ffffff' opacity='0.04'/%3E%3Ccircle cx='0' cy='60' r='1' fill='%23ffffff' opacity='0.04'/%3E%3Ccircle cx='60' cy='60' r='1' fill='%23ffffff' opacity='0.04'/%3E%3Cline x1='0' y1='30' x2='60' y2='30' stroke='%23ffffff' stroke-width='0.3' opacity='0.03'/%3E%3Cline x1='30' y1='0' x2='30' y2='60' stroke='%23ffffff' stroke-width='0.3' opacity='0.03'/%3E%3C/svg%3E");
    background-size: 60px 60px;
    pointer-events: none;
}

.abt-pg .about-top::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    pointer-events: none;
    opacity: 0.5;
}

.abt-pg .top-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 96px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.abt-pg .top-text {
    flex: 0 0 55%;
    padding: 48px 0 48px 48px;
}

.abt-pg .top-aside {
    flex: 1;
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
}

.abt-pg .eyebrow {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.abt-pg .top-h {
    font-size: clamp(37px, 5vw, 68px);
    line-height: 1.15;
    color: #ffffff;
    margin: 0 0 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.abt-pg .top-h em {
    font-style: normal;
    background: linear-gradient(120deg, #C1C9D0 0%, #ffffff 50%, #C1C9D0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.abt-pg .top-lead {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    max-width: 520px;
    margin: 0;
}

.abt-pg .stat-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
}

.abt-pg .stat-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    padding: 24px;
    flex: 1;
}

.abt-pg .stat-num {
    font-size: 37px;
    line-height: 1.15;
    font-weight: 700;
    color: #ffffff;
    display: block;
}

.abt-pg .stat-lbl {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.65);
    display: block;
    margin-top: 4px;
}

.abt-pg .geo-motif {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-pg .geo-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.abt-pg .geo-dot {
    width: 8px;
    height: 8px;
    border-radius: 0px;
    background: rgba(255, 255, 255, 0.2);
    flex-shrink: 0;
}

.abt-pg .geo-dot.lit {
    background: #C1C9D0;
}

/* ── DIVIDER 1 ── */
.abt-pg .dvd-one {
    height: 6px;
    background: linear-gradient(90deg, #1E394C 0%, #43457F 50%, #C1C9D0 100%);
}

/* ── SECTION 2: STORY / MOSAIC ── */
.abt-pg .story-sec {
    background: #f5f4f2;
    background-image:
        linear-gradient(160deg, #ffffff 0%, #f0eff0 40%, #e8eaed 100%);
    padding: 96px 24px;
    position: relative;
}

.abt-pg .story-sec .circuit-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.06;
}

.abt-pg .story-sec .circuit-bg svg {
    width: 100%;
    height: 100%;
}

.abt-pg .story-inner {
    max-width: 1320px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.abt-pg .story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
}

.abt-pg .story-heading-cell {
    grid-column: 1;
    grid-row: 1;
    padding: 48px 48px 24px 0;
}

.abt-pg .story-img-a {
    grid-column: 2;
    grid-row: 1 / 3;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    position: relative;
}

.abt-pg .story-img-a img {
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
    display: block;
    transition: filter 0.42s ease-in-out;
    filter: saturate(0.3);
}

.abt-pg .story-img-a:hover img {
    filter: saturate(1);
}

.abt-pg .story-text-cell {
    grid-column: 1;
    grid-row: 2;
    padding: 0 48px 0 0;
}

.abt-pg .story-h {
    font-size: clamp(27px, 3vw, 37px);
    line-height: 1.15;
    color: #1E394C;
    margin: 0 0 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.abt-pg .story-p {
    font-size: 18px;
    line-height: 1.65;
    color: #2d3a44;
    margin: 0 0 12px;
}

.abt-pg .story-p.narrow {
    max-width: 380px;
}

.abt-pg .story-p.wide {
    max-width: 520px;
}

.abt-pg .arrow-accent {
    display: inline-block;
    margin-left: 8px;
    color: #43457F;
}

.abt-pg .mosaic-lower {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
}

.abt-pg .mosaic-img-b {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
}

.abt-pg .mosaic-img-b img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: filter 0.38s ease-in-out;
    filter: saturate(0.3);
}

.abt-pg .mosaic-img-b:hover img {
    filter: saturate(1);
}

.abt-pg .mosaic-card {
    background: #ffffff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.abt-pg .mosaic-card-h {
    font-size: 21px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 12px;
}

.abt-pg .mosaic-card-p {
    font-size: 16px;
    line-height: 1.65;
    color: #2d3a44;
    margin: 0;
}

.abt-pg .icon-anchor {
    font-size: 52px;
    color: #43457F;
    display: block;
    margin-bottom: 12px;
    line-height: 1;
}

/* ── DIVIDER 2 ── */
.abt-pg .dvd-two {
    height: 4px;
    background: #C1C9D0;
}

/* ── SECTION 3: TEAM / APPROACH ── */
.abt-pg .team-sec {
    background: #ffffff;
    padding: 96px 24px;
    position: relative;
}

.abt-pg .team-sec::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle at center, rgba(67, 69, 127, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.abt-pg .team-inner {
    max-width: 1320px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.abt-pg .team-top-row {
    display: flex;
    flex-direction: row;
    gap: 96px;
    align-items: flex-start;
    margin-bottom: 48px;
}

.abt-pg .team-intro {
    flex: 0 0 45%;
}

.abt-pg .team-h {
    font-size: clamp(27px, 3vw, 37px);
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.abt-pg .team-sub {
    font-size: 18px;
    line-height: 1.65;
    color: #2d3a44;
    margin: 0 0 12px;
}

.abt-pg .team-sub.narrow {
    max-width: 340px;
}

.abt-pg .team-sub.wide {
    max-width: 480px;
}

.abt-pg .team-img-wrap {
    flex: 1;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.abt-pg .team-img-wrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: filter 0.40s ease-in-out;
    filter: saturate(0.3);
}

.abt-pg .team-img-wrap:hover img {
    filter: saturate(1);
}

.abt-pg .team-profiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

.abt-pg .profile-card {
    background: linear-gradient(155deg, #f7f8fa 0%, #eceef2 100%);
    border-radius: 6px;
    padding: 24px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-pg .profile-card:hover {
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    transform: translateY(-4px);
}

.abt-pg .profile-img {
    width: 100%;
    height: 200px;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.abt-pg .profile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.40s ease-in-out;
    filter: saturate(0.3);
}

.abt-pg .profile-img:hover img {
    filter: saturate(1);
}

.abt-pg .profile-name {
    font-size: 21px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 4px;
}

.abt-pg .profile-role {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    margin: 0 0 8px;
    font-weight: 600;
}

.abt-pg .profile-bio {
    font-size: 16px;
    line-height: 1.65;
    color: #2d3a44;
    margin: 0;
}

.abt-pg .approach-strip {
    background: linear-gradient(120deg, #1E394C 0%, #43457F 55%, #C1C9D0 100%);
    border-radius: 6px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 24px;
}

.abt-pg .approach-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-pg .approach-icon {
    font-size: 27px;
    color: #C1C9D0;
    line-height: 1;
}

.abt-pg .approach-label {
    font-size: 18px;
    line-height: 1.4;
    color: #ffffff;
    font-weight: 700;
    margin: 0;
}

.abt-pg .approach-desc {
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .abt-pg .top-inner {
        gap: 48px;
    }

    .abt-pg .top-text {
        padding: 24px 0 24px 24px;
    }

    .abt-pg .story-grid {
        grid-template-columns: 1fr 1fr;
    }

    .abt-pg .mosaic-lower {
        grid-template-columns: 1fr 1fr;
    }

    .abt-pg .approach-strip {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .abt-pg .team-top-row {
        gap: 48px;
    }
}

@media (max-width: 768px) {
    .abt-pg .top-inner {
        flex-direction: column;
        gap: 24px;
    }

    .abt-pg .top-text {
        flex: none;
        padding: 0;
    }

    .abt-pg .top-aside {
        width: 100%;
    }

    .abt-pg .stat-row {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .abt-pg .stat-item {
        flex: 1 1 140px;
    }

    .abt-pg .story-grid {
        grid-template-columns: 1fr;
    }

    .abt-pg .story-img-a {
        grid-column: 1;
        grid-row: auto;
    }

    .abt-pg .story-heading-cell,
    .abt-pg .story-text-cell {
        padding: 0;
    }

    .abt-pg .mosaic-lower {
        grid-template-columns: 1fr;
    }

    .abt-pg .team-top-row {
        flex-direction: column;
        gap: 24px;
    }

    .abt-pg .team-intro {
        flex: none;
        width: 100%;
    }

    .abt-pg .team-profiles {
        grid-template-columns: 1fr;
    }

    .abt-pg .approach-strip {
        grid-template-columns: 1fr 1fr;
        padding: 24px;
    }

    .abt-pg .about-top,
    .abt-pg .story-sec,
    .abt-pg .team-sec {
        padding: 48px 24px;
    }
}

@media (max-width: 320px) {
    .abt-pg .stat-row {
        flex-direction: column;
    }

    .abt-pg .approach-strip {
        grid-template-columns: 1fr;
    }

    .abt-pg .top-h {
        font-size: 27px;
    }
}

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

.ctus .pg-band {
    height: 4px;
    background: linear-gradient(90deg, #1E394C 0%, #43457F 55%, #C1C9D0 100%);
}

.ctus .reach-wrap {
    display: flex;
    flex-direction: row;
    min-height: 100svh;
    align-items: stretch;
}

.ctus .reach-left {
    flex: 0 0 44%;
    background: #1E394C;
    padding: 96px 48px 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.ctus .reach-left::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, #C1C9D0 40%, #43457F 70%, transparent 100%);
}

.ctus .reach-left .bg-pulse {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #1E394C 0%, #2a4d65 50%, #1E394C 100%);
    animation: bgfade 6s ease-in-out infinite;
    z-index: 0;
}

@keyframes bgfade {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.82;
    }
}

.ctus .reach-left>*:not(.bg-pulse) {
    position: relative;
    z-index: 1;
}

.ctus .reach-deco {
    width: 28px;
    height: 3px;
    background: #C1C9D0;
    margin-bottom: 24px;
    border-radius: 3px;
}

.ctus .reach-eyebrow {
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.ctus .reach-h1 {
    font-size: 52px;
    line-height: 1.15;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.ctus .reach-h1 span {
    display: block;
    color: #C1C9D0;
    font-size: 37px;
    font-weight: 400;
    text-transform: none;
    margin-top: 8px;
}

.ctus .reach-desc {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(193, 201, 208, 0.88);
    max-width: 340px;
    margin-bottom: 48px;
}

.ctus .reach-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ctus .reach-items li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.ctus .ri-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background: rgba(67, 69, 127, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.ctus .reach-items li:hover .ri-icon {
    background: rgba(67, 69, 127, 0.65);
}

.ctus .ri-icon svg {
    width: 18px;
    height: 18px;
    fill: #C1C9D0;
}

.ctus .ri-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctus .ri-label {
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 16px;
}

.ctus .ri-val {
    font-size: 18px;
    line-height: 1.4;
    color: #fff;
}

.ctus .ri-val a {
    color: #fff;
    text-decoration: none;
    transition: color 0.35s ease-in-out;
}

.ctus .ri-val a:hover {
    color: #C1C9D0;
}

.ctus .reach-right {
    flex: 1 1 0;
    background: #f5f4f2;
    padding: 96px 48px 96px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.ctus .reach-right::before {
    content: '';
    position: absolute;
    top: 48px;
    right: 48px;
    width: 80px;
    height: 80px;
    border-radius: 0px;
    border-top: 3px solid #C1C9D0;
    border-right: 3px solid #C1C9D0;
    opacity: 0.5;
    pointer-events: none;
}

.ctus .form-hdg {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ctus .form-sub {
    font-size: 18px;
    line-height: 1.65;
    color: #43457F;
    margin-bottom: 48px;
    max-width: 420px;
}

.ctus .frm {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 520px;
}

.ctus .frow {
    display: flex;
    flex-direction: row;
    gap: 24px;
}

.ctus .fld {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0;
}

.ctus .fld label {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 600;
}

.ctus .fld input[type="text"],
.ctus .fld input[type="email"] {
    padding: 12px 16px;
    font-size: 18px;
    line-height: 1.4;
    color: #1E394C;
    background: #fff;
    border: 2px solid #C1C9D0;
    border-radius: 6px;
    outline: none;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    transition: border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
    width: 100%;
    box-sizing: border-box;
}

.ctus .fld input[type="text"]::placeholder,
.ctus .fld input[type="email"]::placeholder {
    color: #9aa5ae;
}

.ctus .fld input[type="text"]:focus,
.ctus .fld input[type="email"]:focus {
    border-color: #43457F;
    box-shadow: 2px 4px 28px 0 rgba(67, 69, 127, 0.08);
}

.ctus .radio-grp-label {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 600;
    margin-bottom: 4px;
}

.ctus .radio-grp {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}

.ctus .radio-opt {
    position: relative;
}

.ctus .radio-opt input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.ctus .radio-opt label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    border: 2px solid #C1C9D0;
    background: #fff;
    color: #1E394C;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 0.35s ease-in-out, background 0.35s ease-in-out, color 0.35s ease-in-out;
    user-select: none;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.ctus .radio-opt label::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #C1C9D0;
    background: #fff;
    flex-shrink: 0;
    transition: border-color 0.35s ease-in-out, background 0.35s ease-in-out;
}

.ctus .radio-opt input[type="radio"]:checked+label {
    border-color: #43457F;
    background: #43457F;
    color: #fff;
    box-shadow: 2px 4px 28px 0 rgba(67, 69, 127, 0.08);
}

.ctus .radio-opt input[type="radio"]:checked+label::before {
    border-color: #fff;
    background: #C1C9D0;
    box-shadow: inset 0 1px 3px rgba(30, 57, 76, 0.18);
}

.ctus .radio-opt label:hover {
    border-color: #43457F;
    background: rgba(67, 69, 127, 0.06);
}

.ctus .radio-opt input[type="radio"]:focus-visible+label {
    outline: 2px solid #43457F;
    outline-offset: 2px;
}

.ctus .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.ctus .privacy-row input[type="checkbox"] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: #43457F;
    cursor: pointer;
    border-radius: 3px;
}

.ctus .privacy-row label {
    font-size: 16px;
    line-height: 1.65;
    color: #1E394C;
    cursor: pointer;
}

.ctus .privacy-row label a {
    color: #43457F;
    text-decoration: underline;
    transition: color 0.35s ease-in-out;
}

.ctus .privacy-row label a:hover {
    color: #1E394C;
}

.ctus .btn-submit {
    align-self: flex-start;
    padding: 12px 48px;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    background: #1E394C;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.ctus .btn-submit:hover {
    filter: brightness(1.18);
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.ctus .btn-submit:focus-visible {
    outline: 2px solid #43457F;
    outline-offset: 3px;
}

.ctus .btn-submit:active {
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.10);
    filter: brightness(0.96);
}

.ctus .detail-band {
    background: #C1C9D0;
    padding: 48px 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.ctus .band-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 260px;
}

.ctus .band-label {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ctus .band-val {
    font-size: 21px;
    line-height: 1.4;
    color: #1E394C;
}

.ctus .band-val a {
    color: #1E394C;
    text-decoration: none;
    transition: color 0.35s ease-in-out;
}

.ctus .band-val a:hover {
    color: #43457F;
}

.ctus .band-divider {
    width: 1px;
    height: 60px;
    background: rgba(30, 57, 76, 0.25);
    flex-shrink: 0;
}

.ctus .band-addr {
    flex: 2 1 320px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctus .band-addr .band-label {
    margin-bottom: 4px;
}

.ctus .addr-line {
    font-size: 18px;
    line-height: 1.65;
    color: #1E394C;
}

.ctus .arrow-accent {
    display: inline-block;
    margin-left: 8px;
    color: #43457F;
    font-style: normal;
}

@media (max-width: 1024px) {
    .ctus .reach-wrap {
        flex-direction: column;
    }

    .ctus .reach-left {
        flex: none;
        padding: 48px 48px;
    }

    .ctus .reach-right {
        padding: 48px 48px;
    }

    .ctus .reach-h1 {
        font-size: 37px;
    }

    .ctus .reach-h1 span {
        font-size: 27px;
    }

    .ctus .detail-band {
        flex-direction: column;
        gap: 24px;
    }

    .ctus .band-divider {
        width: 60px;
        height: 1px;
    }
}

@media (max-width: 768px) {
    .ctus .reach-left {
        padding: 48px 24px;
    }

    .ctus .reach-right {
        padding: 48px 24px;
    }

    .ctus .frow {
        flex-direction: column;
        gap: 24px;
    }

    .ctus .reach-h1 {
        font-size: 37px;
    }

    .ctus .form-hdg {
        font-size: 27px;
    }

    .ctus .radio-grp {
        flex-direction: column;
        gap: 12px;
    }

    .ctus .detail-band {
        padding: 48px 24px;
    }

    .ctus .reach-right::before {
        display: none;
    }
}

@media (max-width: 320px) {
    .ctus .reach-left {
        padding: 24px 12px;
    }

    .ctus .reach-right {
        padding: 24px 12px;
    }

    .ctus .reach-h1 {
        font-size: 27px;
    }

    .ctus .form-hdg {
        font-size: 21px;
    }

    .ctus .detail-band {
        padding: 24px 12px;
    }

    .ctus .btn-submit {
        padding: 12px 24px;
    }
}

.evts {
    overflow-x: hidden;
    background: #ffffff;
}

.evts .pg-wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── SCANLINE ANIMATION ── */
@keyframes scanDrift {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(60px);
    }
}

/* ══════════════════════════════════════════
SECTION 1 - TITLE BLOCK
══════════════════════════════════════════ */
.evts .tb {
    position: relative;
    padding: 96px 24px 48px;
    background: linear-gradient(158deg, #1E394C 0%, #43457F 52%, #C1C9D0 100%);
    overflow: hidden;
}

.evts .tb-scan {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(0deg,
            transparent,
            transparent 18px,
            rgba(193, 201, 208, 0.06) 18px,
            rgba(193, 201, 208, 0.06) 19px);
    animation: scanDrift 3.2s linear infinite;
}

.evts .tb-noise {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    background-repeat: repeat;
    opacity: 0.35;
}

.evts .tb-corner {
    position: absolute;
    pointer-events: none;
}

.evts .tb-corner.tl {
    top: 20px;
    left: 20px;
    width: 48px;
    height: 48px;
    border-top: 1.5px solid rgba(193, 201, 208, 0.45);
    border-left: 1.5px solid rgba(193, 201, 208, 0.45);
}

.evts .tb-corner.tr {
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-top: 1.5px solid rgba(193, 201, 208, 0.45);
    border-right: 1.5px solid rgba(193, 201, 208, 0.45);
}

.evts .tb-corner.bl {
    bottom: 20px;
    left: 20px;
    width: 48px;
    height: 48px;
    border-bottom: 1.5px solid rgba(193, 201, 208, 0.45);
    border-left: 1.5px solid rgba(193, 201, 208, 0.45);
}

.evts .tb-corner.br {
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-bottom: 1.5px solid rgba(193, 201, 208, 0.45);
    border-right: 1.5px solid rgba(193, 201, 208, 0.45);
}

.evts .tb-inner {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px;
}

.evts .tb-text {
    flex: 1 1 0;
}

.evts .tb-label {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.evts .tb-h1 {
    font-size: clamp(37px, 5vw, 68px);
    line-height: 1.15;
    color: #ffffff;
    margin: 0 0 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.evts .tb-h1 span {
    display: block;
    color: #C1C9D0;
    font-weight: 400;
    font-size: clamp(27px, 3.5vw, 52px);
    text-transform: none;
    line-height: 1.4;
}

.evts .tb-sub {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(193, 201, 208, 0.9);
    max-width: 520px;
    margin: 24px 0 0;
}

.evts .tb-meta {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-end;
    flex-shrink: 0;
}

.evts .tb-stat {
    text-align: right;
}

.evts .tb-stat strong {
    display: block;
    font-size: 37px;
    line-height: 1.15;
    color: #ffffff;
    font-weight: 700;
}

.evts .tb-stat em {
    font-style: normal;
    font-size: 16px;
    line-height: 1.4;
    color: rgba(193, 201, 208, 0.75);
}

@media (max-width: 768px) {
    .evts .tb {
        padding: 48px 24px 48px;
    }

    .evts .tb-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .evts .tb-meta {
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
    }

    .evts .tb-stat {
        text-align: left;
    }

    .evts .tb-corner.tr,
    .evts .tb-corner.br {
        display: none;
    }
}

@media (max-width: 320px) {
    .evts .tb-h1 {
        font-size: 37px;
    }
}

/* ══════════════════════════════════════════
SECTION 2 - EVENTS LISTING
══════════════════════════════════════════ */
.evts .el {
    padding: 96px 24px;
    background: linear-gradient(180deg, #f4f6f8 0%, #eef0f4 55%, #f9fafb 100%);
}

.evts .el-wrap {
    max-width: 1320px;
    margin: 0 auto;
}

.evts .el-hd {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 48px;
}

.evts .el-hd-text h2 {
    font-size: clamp(27px, 3vw, 37px);
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 8px;
}

.evts .el-hd-text p {
    font-size: 16px;
    line-height: 1.65;
    color: #43457F;
    margin: 0;
    max-width: 420px;
}

.evts .el-count {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    white-space: nowrap;
    padding: 8px 16px;
    border: 1.5px solid rgba(67, 69, 127, 0.25);
    border-radius: 6px;
    flex-shrink: 0;
}

/* Split layout: 30/70 */
.evts .el-grid {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 24px;
}

.evts .el-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.evts .el-filter-card {
    background: #ffffff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    border-top: 3px solid #43457F;
}

.evts .el-filter-card h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.evts .el-type-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.evts .el-type-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 3px;
    background: rgba(193, 201, 208, 0.15);
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
}

.evts .el-type-list li span {
    font-size: 16px;
    color: #43457F;
    font-weight: 600;
}

.evts .el-info-card {
    background: linear-gradient(158deg, #1E394C 0%, #43457F 100%);
    border-radius: 6px;
    padding: 24px;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.evts .el-info-card h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    font-weight: 700;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.evts .el-info-card p {
    font-size: 16px;
    line-height: 1.65;
    color: rgba(193, 201, 208, 0.85);
    margin: 0 0 12px;
}

.evts .el-info-card a {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    text-decoration: underline;
    transition: color 0.38s ease-in-out;
}

.evts .el-info-card a:hover {
    color: #ffffff;
}

/* Events list */
.evts .ev-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.evts .ev-card {
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    border-top: 3px solid #1E394C;
    display: grid;
    grid-template-columns: 200px 1fr;
    transition: box-shadow 0.38s ease-in-out, transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
    overflow: hidden;
}

.evts .ev-card:hover {
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    transform: translateY(-3px);
}

.evts .ev-card.featured {
    border-top-color: #43457F;
    grid-template-columns: 1fr;
}

.evts .ev-card.featured .ev-img-wrap {
    width: 100%;
    height: 260px;
}

.evts .ev-img-wrap {
    width: 200px;
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

.evts .ev-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.evts .ev-card:hover .ev-img-wrap img {
    transform: scale(1.04);
}

.evts .ev-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.evts .ev-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.evts .ev-tag {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    padding: 4px 12px;
    border-radius: 3px;
    background: rgba(67, 69, 127, 0.1);
    color: #43457F;
    font-weight: 600;
}

.evts .ev-tag.online {
    background: rgba(30, 57, 76, 0.08);
    color: #1E394C;
}

.evts .ev-title {
    font-size: clamp(18px, 2vw, 21px);
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0;
}

.evts .ev-desc {
    font-size: 16px;
    line-height: 1.65;
    color: #3a4a58;
    margin: 0;
    max-width: 640px;
}

.evts .ev-desc.narrow {
    max-width: 420px;
}

.evts .ev-meta-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    margin-top: 4px;
}

.evts .ev-meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
}

.evts .ev-meta-item i {
    font-size: 18px;
    color: #1E394C;
}

.evts .ev-foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(193, 201, 208, 0.4);
}

.evts .ev-price {
    font-size: 21px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
}

.evts .ev-price small {
    font-size: 16px;
    font-weight: 400;
    color: #43457F;
}

.evts .ev-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #1E394C;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: filter 0.35s ease-in-out, background 0.35s ease-in-out;
}

.evts .ev-btn:hover {
    filter: brightness(1.18);
}

.evts .ev-btn:focus-visible {
    outline: 2px solid #43457F;
    outline-offset: 3px;
}

.evts .ev-btn:active {
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.18);
}

.evts .ev-btn.outline {
    background: transparent;
    color: #1E394C;
    border: 2px solid #1E394C;
}

.evts .ev-btn.outline:hover {
    background: rgba(30, 57, 76, 0.06);
    filter: none;
}

/* Featured card two-col content */
.evts .ev-card.featured .ev-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    align-items: start;
}

.evts .ev-card.featured .ev-body-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.evts .ev-card.featured .ev-body-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    background: rgba(67, 69, 127, 0.05);
    border-radius: 6px;
}

.evts .ev-detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.evts .ev-detail-list li {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.evts .ev-detail-list li i {
    font-size: 16px;
    color: #43457F;
    flex-shrink: 0;
    margin-top: 2px;
}

.evts .ev-detail-label {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    font-weight: 600;
    margin: 0 0 8px;
}

/* Arrow accent */
.evts .arr {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #43457F;
    margin-left: 6px;
    vertical-align: middle;
}

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

    .evts .el-sidebar {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .evts .el-filter-card,
    .evts .el-info-card {
        flex: 1 1 280px;
    }
}

@media (max-width: 768px) {
    .evts .el {
        padding: 48px 24px;
    }

    .evts .el-hd {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .evts .ev-card {
        grid-template-columns: 1fr;
    }

    .evts .ev-img-wrap {
        width: 100%;
        height: 200px;
    }

    .evts .ev-card.featured .ev-body {
        grid-template-columns: 1fr;
    }

    .evts .el-sidebar {
        flex-direction: column;
    }

    .evts .ev-meta-row {
        gap: 12px;
    }
}

@media (max-width: 320px) {
    .evts .ev-foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

.lnch {
    overflow-x: clip;
    position: relative;
}

.lnch .pg-wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── SECTION 1: TITLE BLOCK ── */
.lnch .tb {
    background: linear-gradient(128deg, #1E394C 0%, #43457F 55%, #C1C9D0 100%);
    padding: 48px 0;
    position: relative;
}

.lnch .tb-decor {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
}

.lnch .tb-decor::before {
    content: "";
    position: absolute;
    top: -30px;
    right: 15%;
    width: 2px;
    height: 140%;
    background: rgba(193, 201, 208, 0.18);
    transform: rotate(22deg);
    transform-origin: top center;
}

.lnch .tb-decor::after {
    content: "";
    position: absolute;
    top: -30px;
    right: 22%;
    width: 1px;
    height: 140%;
    background: rgba(193, 201, 208, 0.10);
    transform: rotate(22deg);
    transform-origin: top center;
}

.lnch .tb-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    position: relative;
    z-index: 1;
}

.lnch .tb-img-card {
    flex: 0 0 auto;
    width: 280px;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.lnch .tb-img-card img {
    display: block;
    width: 280px;
    height: 340px;
    object-fit: cover;
    object-position: center top;
}

.lnch .tb-img-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(30, 57, 76, 0.55) 0%, rgba(67, 69, 127, 0.35) 100%);
    mix-blend-mode: multiply;
}

.lnch .tb-text {
    flex: 1 1 0;
}

.lnch .tb-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    margin-bottom: 24px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lnch .tb-eyebrow i {
    font-size: 18px;
    color: #C1C9D0;
}

.lnch .tb-h1 {
    font-size: 52px;
    line-height: 1.15;
    color: #ffffff;
    text-transform: uppercase;
    margin: 0 0 24px;
    font-weight: 700;
}

.lnch .tb-desc {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    max-width: 520px;
    margin: 0;
}

@keyframes shadowBuild {
    from {
        box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.0);
    }

    to {
        box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    }
}

@keyframes dropSettle {
    from {
        opacity: 0;
        transform: translateY(-28px);
    }

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

.lnch .tb-img-card {
    animation: dropSettle 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) both, shadowBuild 0.42s ease-in-out both;
}

.lnch .tb-text {
    animation: dropSettle 0.38s 0.08s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

/* ── SECTION 2: SUPPORT ── */
.lnch .sup {
    padding: 96px 0 48px;
    background: #ffffff;
    position: relative;
}

.lnch .sup::after {
    content: "";
    display: block;
    border-bottom: 1px dotted #C1C9D0;
    margin: 48px 24px 0;
}

.lnch .sup-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.lnch .sup-lbl {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.lnch .sup-h2 {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 24px;
}

.lnch .sup-p {
    font-size: 18px;
    line-height: 1.65;
    color: #2a3d4d;
    margin: 0 0 12px;
}

.lnch .sup-p.narrow {
    max-width: 78%;
}

.lnch .sup-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lnch .sup-card {
    background: linear-gradient(118deg, rgba(30, 57, 76, 0.04) 0%, rgba(67, 69, 127, 0.06) 100%);
    border-radius: 6px;
    padding: 24px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lnch .sup-card:hover {
    box-shadow: 2px 4px 28px 0 rgba(67, 69, 127, 0.08);
}

.lnch .sup-card-ico {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lnch .sup-card-ico i {
    color: #ffffff;
    font-size: 21px;
}

.lnch .sup-card-body h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.lnch .sup-card-body p {
    font-size: 16px;
    line-height: 1.65;
    color: #3a4f5e;
    margin: 0;
}

/* ── SECTION 3: APPROACH ── */
.lnch .appr {
    padding: 48px 0 96px;
    background: linear-gradient(155deg, rgba(30, 57, 76, 0.06) 0%, rgba(193, 201, 208, 0.18) 60%, rgba(67, 69, 127, 0.08) 100%);
    position: relative;
}

.lnch .appr-inner {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 48px;
    align-items: start;
}

.lnch .appr-img-wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.lnch .appr-img-wrap img {
    display: block;
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
}

.lnch .appr-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(200deg, rgba(67, 69, 127, 0.45) 0%, rgba(30, 57, 76, 0.30) 100%);
    mix-blend-mode: multiply;
}

.lnch .appr-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 6px;
    padding: 12px 16px;
    z-index: 2;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
}

.lnch .appr-badge span {
    display: block;
    font-size: 27px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
}

.lnch .appr-badge small {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
}

.lnch .appr-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lnch .appr-h2 {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.lnch .appr-h2 em {
    font-style: normal;
    color: #43457F;
}

.lnch .appr-p {
    font-size: 18px;
    line-height: 1.65;
    color: #2a3d4d;
    margin: 0;
}

.lnch .appr-p.narrow {
    max-width: 82%;
}

.lnch .feat-groups {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 8px;
}

.lnch .feat-group h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px dotted #C1C9D0;
}

.lnch .feat-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lnch .feat-group ul li {
    font-size: 16px;
    line-height: 1.65;
    color: #2a3d4d;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.lnch .feat-group ul li i {
    color: #43457F;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── SECTION 4: REAL PEOPLE ── */
.lnch .voices {
    padding: 96px 0;
    background: #1E394C;
    position: relative;
}

.lnch .voices-diag {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.lnch .voices-diag::before {
    content: "";
    position: absolute;
    top: -60px;
    left: 30%;
    width: 1px;
    height: 130%;
    background: rgba(193, 201, 208, 0.12);
    transform: rotate(18deg);
    transform-origin: top center;
}

.lnch .voices-h2 {
    font-size: 37px;
    line-height: 1.15;
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.lnch .voices-sub {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(193, 201, 208, 0.85);
    margin: 0 0 48px;
    max-width: 560px;
}

.lnch .voices-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    align-items: start;
}

.lnch .voice-card {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    padding: 24px;
    border: 1px solid rgba(193, 201, 208, 0.15);
    transition: background 0.40s ease-in-out, box-shadow 0.40s ease-in-out;
}

.lnch .voice-card:hover {
    background: rgba(255, 255, 255, 0.10);
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.10);
}

.lnch .voice-card.tall {
    padding-top: 40px;
    padding-bottom: 40px;
}

.lnch .voice-quote {
    font-size: 18px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.90);
    margin: 0 0 24px;
}

.lnch .voice-attr {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.lnch .voice-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #43457F 0%, #C1C9D0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.lnch .voice-avatar i {
    color: #ffffff;
    font-size: 21px;
}

.lnch .voice-name {
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    font-weight: 700;
}

.lnch .voice-role {
    font-size: 16px;
    line-height: 1.4;
    color: rgba(193, 201, 208, 0.65);
}

.lnch .voice-result {
    display: inline-block;
    background: rgba(67, 69, 127, 0.45);
    border-radius: 3px;
    padding: 4px 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #C1C9D0;
    margin-bottom: 12px;
}

/* ── SECTION 5: AFTER GRADUATION ── */
.lnch .grad {
    padding: 96px 0 48px;
    background: #ffffff;
}

.lnch .grad-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 48px;
    align-items: start;
}

.lnch .grad-text {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lnch .grad-h2 {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.lnch .grad-p {
    font-size: 18px;
    line-height: 1.65;
    color: #2a3d4d;
    margin: 0;
}

.lnch .grad-p.narrow {
    max-width: 80%;
}

.lnch .grad-steps {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

.lnch .grad-step {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px dotted #C1C9D0;
}

.lnch .grad-step:last-child {
    border-bottom: none;
}

.lnch .step-num {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 3px;
    background: #1E394C;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lnch .step-body h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 4px;
}

.lnch .step-body p {
    font-size: 16px;
    line-height: 1.65;
    color: #3a4f5e;
    margin: 0;
}

.lnch .grad-img-wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.lnch .grad-img-wrap img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center top;
}

.lnch .grad-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(170deg, rgba(30, 57, 76, 0.30) 0%, rgba(67, 69, 127, 0.45) 100%);
    mix-blend-mode: multiply;
}

.lnch .grad-img-tag {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 6px;
    padding: 12px 16px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.lnch .grad-img-tag i {
    color: #43457F;
    font-size: 21px;
}

.lnch .grad-img-tag span {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
}

/* ── SECTION 6: LONG-TERM VALUE ── */
.lnch .longval {
    padding: 48px 0 96px;
    background: linear-gradient(148deg, rgba(67, 69, 127, 0.07) 0%, rgba(30, 57, 76, 0.04) 50%, rgba(193, 201, 208, 0.15) 100%);
    position: relative;
}

.lnch .longval::before {
    content: "";
    display: block;
    border-top: 1px dotted #C1C9D0;
    margin: 0 24px 48px;
}

.lnch .longval-inner {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.lnch .longval-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
}

.lnch .longval-h2 {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 24px;
}

.lnch .longval-p {
    font-size: 18px;
    line-height: 1.65;
    color: #2a3d4d;
    margin: 0;
}

.lnch .longval-p.narrow {
    max-width: 80%;
}

.lnch .longval-icons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.lnch .lv-ico-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.lnch .lv-ico {
    width: 56px;
    height: 56px;
    border-radius: 6px;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 4px 28px 0 rgba(67, 69, 127, 0.08);
    transition: box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lnch .lv-ico:hover {
    box-shadow: 2px 12px 40px 0 rgba(67, 69, 127, 0.10);
}

.lnch .lv-ico i {
    color: #ffffff;
    font-size: 27px;
}

.lnch .lv-ico-label {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    text-align: center;
    font-weight: 700;
}

.lnch .longval-bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lnch .lv-card {
    background: #ffffff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    transition: box-shadow 0.40s ease-in-out, transform 0.40s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lnch .lv-card:hover {
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
    transform: translateY(-4px);
}

.lnch .lv-card h5 {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.lnch .lv-card p {
    font-size: 16px;
    line-height: 1.65;
    color: #3a4f5e;
    margin: 0;
}

.lnch .lv-arrow {
    display: inline-block;
    color: #43457F;
    font-size: 18px;
    margin-left: 4px;
    vertical-align: middle;
}

.lnch .sub-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding: 12px 24px;
    background: linear-gradient(118deg, #1E394C 0%, #43457F 100%);
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    border-radius: 6px;
    text-decoration: none;
    transition: filter 0.35s ease-in-out, box-shadow 0.35s ease-in-out;
    box-shadow: 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.lnch .sub-link:hover {
    filter: brightness(1.15);
    box-shadow: 2px 4px 28px 0 rgba(67, 69, 127, 0.08);
}

.lnch .sub-link i {
    font-size: 18px;
}

.lnch .sym-pair {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.lnch .sym-pair i {
    color: #43457F;
    font-size: 18px;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .lnch .tb-h1 {
        font-size: 37px;
    }

    .lnch .tb-img-card {
        width: 220px;
    }

    .lnch .tb-img-card img {
        width: 220px;
        height: 280px;
    }

    .lnch .appr-inner {
        grid-template-columns: 1fr 1fr;
    }

    .lnch .appr-img-wrap img {
        height: 380px;
    }

    .lnch .grad-inner {
        grid-template-columns: 1fr;
    }

    .lnch .grad-img-wrap {
        display: none;
    }

    .lnch .voices-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lnch .voices-grid .voice-card:last-child {
        grid-column: span 2;
    }

    .lnch .longval-bottom {
        grid-template-columns: 1fr 1fr;
    }

    .lnch .longval-bottom .lv-card:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .lnch .tb-inner {
        flex-direction: column;
        gap: 24px;
    }

    .lnch .tb-img-card {
        width: 100%;
    }

    .lnch .tb-img-card img {
        width: 100%;
        height: 220px;
    }

    .lnch .tb-h1 {
        font-size: 37px;
    }

    .lnch .sup-inner {
        grid-template-columns: 1fr;
    }

    .lnch .appr-inner {
        grid-template-columns: 1fr;
    }

    .lnch .voices-grid {
        grid-template-columns: 1fr;
    }

    .lnch .voices-grid .voice-card:last-child {
        grid-column: span 1;
    }

    .lnch .longval-top {
        grid-template-columns: 1fr;
    }

    .lnch .longval-icons {
        justify-content: flex-start;
    }

    .lnch .longval-bottom {
        grid-template-columns: 1fr;
    }

    .lnch .longval-bottom .lv-card:last-child {
        grid-column: span 1;
    }

    .lnch .sup-p.narrow,
    .lnch .appr-p.narrow,
    .lnch .grad-p.narrow,
    .lnch .longval-p.narrow {
        max-width: 100%;
    }
}

@media (max-width: 320px) {
    .lnch .tb-h1 {
        font-size: 27px;
    }

    .lnch .pg-wrap {
        padding: 0 12px;
    }

    .lnch .sup {
        padding: 48px 0 24px;
    }

    .lnch .voices {
        padding: 48px 0;
    }

    .lnch .grad {
        padding: 48px 0 24px;
    }
}

.succ-pg {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 24px;
    background: linear-gradient(152deg, #ffffff 0%, #f0f3f6 48%, #e8eaf4 100%);
}

.succ-pg .succ-wrap {
    max-width: 560px;
    width: 100%;
    text-align: center;
    padding: 48px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.succ-pg .succ-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 60%, #C1C9D0 100%);
    border-radius: 16px;
}

.succ-pg .succ-icon svg {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.succ-pg .succ-label {
    font-size: 16px;
    line-height: 1.4;
    color: #43457F;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 8px;
    font-weight: 600;
}

.succ-pg .succ-heading {
    font-size: 37px;
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.succ-pg .succ-body {
    font-size: 18px;
    line-height: 1.65;
    color: #2e3d4a;
    margin: 0 0 48px;
    padding: 0 8px;
}

.succ-pg .succ-divider {
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, #1E394C 0%, #43457F 50%, #C1C9D0 100%);
    border-radius: 3px;
    margin: 0 auto 48px;
}

.succ-pg .succ-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.succ-pg .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #1E394C 0%, #43457F 100%);
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.succ-pg .btn-primary:hover {
    filter: brightness(1.15);
}

.succ-pg .btn-primary:focus-visible {
    outline: 2px solid #43457F;
    outline-offset: 3px;
}

.succ-pg .btn-primary:active {
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
    filter: brightness(0.95);
}

.succ-pg .btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: transparent;
    color: #1E394C;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    border: 2px solid #C1C9D0;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.42s ease-in-out, color 0.42s ease-in-out;
}

.succ-pg .btn-secondary:hover {
    border-color: #43457F;
    color: #43457F;
}

.succ-pg .btn-secondary:focus-visible {
    outline: 2px solid #43457F;
    outline-offset: 3px;
}

.succ-pg .btn-secondary:active {
    box-shadow: inset 2px 3px 5px 0 rgba(67, 69, 127, 0.05);
}

.succ-pg .succ-note {
    margin: 24px 0 0;
    font-size: 16px;
    line-height: 1.65;
    color: #5a6a75;
}

.succ-pg .succ-note a {
    color: #1E394C;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.35s ease-in-out;
}

.succ-pg .succ-note a:hover {
    color: #43457F;
}

@media (max-width: 768px) {
    .succ-pg {
        padding: 48px 24px;
    }

    .succ-pg .succ-wrap {
        padding: 48px 24px;
    }

    .succ-pg .succ-heading {
        font-size: 27px;
    }

    .succ-pg .succ-body {
        font-size: 16px;
        padding: 0;
    }

    .succ-pg .succ-actions {
        flex-direction: column;
        align-items: center;
    }

    .succ-pg .btn-primary,
    .succ-pg .btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 320px) {
    .succ-pg .succ-wrap {
        padding: 24px 12px;
    }

    .succ-pg .succ-heading {
        font-size: 21px;
    }
}

.pg404 {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 24px;
    background: linear-gradient(158deg, #ffffff 0%, #f0f2f5 48%, #C1C9D0 100%);
    text-align: center;
}

.pg404 .err-wrap {
    max-width: 1320px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.pg404 .err-num {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pg404 .err-num svg {
    width: clamp(180px, 40vw, 320px);
    height: auto;
    display: block;
}

.pg404 .err-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: 560px;
}

.pg404 .err-title {
    font-size: clamp(27px, 4vw, 37px);
    line-height: 1.15;
    color: #1E394C;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.pg404 .err-sub {
    font-size: 18px;
    line-height: 1.65;
    color: #43457F;
    margin: 0;
    max-width: 440px;
}

.pg404 .err-sub.narrow {
    font-size: 16px;
    line-height: 1.85;
    max-width: 360px;
    color: #1E394C;
}

.pg404 .err-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 8px;
}

.pg404 .btn-home {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #1E394C;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 2px 4px 28px 0 rgba(30, 57, 76, 0.08);
    transition: brightness 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.pg404 .btn-home:hover {
    brightness: 1.15;
    filter: brightness(1.15);
    box-shadow: 2px 12px 40px 0 rgba(30, 57, 76, 0.10);
}

.pg404 .btn-home:active {
    filter: brightness(0.92);
    box-shadow: inset 2px 3px 5px 0 rgba(30, 57, 76, 0.05);
}

.pg404 .btn-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: transparent;
    color: #43457F;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    border: 2px solid #43457F;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.42s ease-in-out, color 0.42s ease-in-out;
}

.pg404 .btn-contact:hover {
    background: #43457F;
    color: #ffffff;
}

.pg404 .btn-contact:active {
    box-shadow: inset 2px 3px 5px 0 rgba(67, 69, 127, 0.05);
}

.pg404 .deco-line {
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #1E394C 0%, #43457F 60%, #C1C9D0 100%);
}

.pg404 .err-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    margin-top: 4px;
}

.pg404 .err-links a {
    font-size: 16px;
    line-height: 1.4;
    color: #1E394C;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.35s ease-in-out;
}

.pg404 .err-links a:hover {
    color: #43457F;
}

@media (max-width: 768px) {
    .pg404 {
        padding: 48px 24px;
    }

    .pg404 .err-wrap {
        gap: 24px;
    }

    .pg404 .err-actions {
        flex-direction: column;
        align-items: center;
    }

    .pg404 .btn-home,
    .pg404 .btn-contact {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }
}

@media (max-width: 320px) {
    .pg404 .err-title {
        font-size: 27px;
    }

    .pg404 .err-sub {
        font-size: 16px;
    }
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
