@charset "UTF-8";

* {
    box-sizing: border-box;
}

html {
    font-size: 100%;
}

body {
    margin: 0;
}

.site-head {
    background: #F7F8F5;
    border-bottom: 2px solid #B9D3B0;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    position: relative;
    z-index: 100;
}

.head-upper {
    background: #968A51;
    padding: 8px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
}

.head-contact-strip {
    display: flex;
    align-items: center;
    gap: 28px;
}

.head-contact-item {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    color: #F7F8F5;
    text-decoration: none;
    letter-spacing: 0.04em;
    line-height: 1.2;
    transition: color 180ms ease-in-out;
}

.head-contact-item:hover,
.head-contact-item:focus {
    color: #B9D3B0;
    outline: none;
}

.avail-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    color: #F7F8F5;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

.avail-dot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #B9D3B0;
    box-shadow: 0 0 0 3px rgba(185, 211, 176, 0.3);
    flex-shrink: 0;
}

.head-main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

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

.logo-card {
    background: #fff;
    border: 1.5px solid #B9D3B0;
    border-radius: 8px;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 64px;
}

.logo-card img {
    width: 78px;
    height: 48px;
    object-fit: contain;
    display: block;
}

.brand-name {
    font-family: 'Archivo', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #2c2a1e;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.brand-name span {
    color: #968A51;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.primary-nav a {
    font-family: 'Archivo', sans-serif;
    font-size: 17px;
    font-weight: 400;
    color: #2c2a1e;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 8px;
    line-height: 1.2;
    transition: background 220ms cubic-bezier(0.34, 1.2, 0.64, 1), color 220ms cubic-bezier(0.34, 1.2, 0.64, 1);
    white-space: nowrap;
}

.primary-nav a:hover {
    background: #B9D3B0;
    color: #2c2a1e;
}

.primary-nav a:focus-visible {
    outline: 2px solid #968A51;
    outline-offset: 2px;
}

.primary-nav a.active {
    background: #968A51;
    color: #F7F8F5;
}

.nav-cta-link {
    background: #968A51;
    color: #F7F8F5 !important;
    border-radius: 8px;
    font-weight: 700 !important;
    padding: 8px 28px !important;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
}

.nav-cta-link:hover {
    background: #7a6f40 !important;
    color: #F7F8F5 !important;
}

.site-foot {
    background: #2c2a1e;
    border-top: 2px solid #968A51;
}

.foot-bar {
    max-width: 1600px;
    margin: 0 auto;
    padding: 28px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.foot-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
}

.foot-logo-card {
    background: #fff;
    border: 1.5px solid #968A51;
    border-radius: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 40px;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
}

.foot-logo-card img {
    width: 48px;
    height: 28px;
    object-fit: contain;
    display: block;
}

.foot-brand-name {
    font-family: 'Archivo', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #F7F8F5;
    line-height: 1.2;
}

.foot-links {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.foot-divider {
    color: #968A51;
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    line-height: 1.2;
    padding: 0 4px;
    user-select: none;
}

.foot-links a {
    font-family: 'Archivo', sans-serif;
    font-size: 15px;
    color: #B9D3B0;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 8px;
    line-height: 1.2;
    transition: color 200ms ease-in-out, background 200ms ease-in-out;
}

.foot-links a:hover {
    color: #F7F8F5;
    background: rgba(185, 211, 176, 0.1);
}

.foot-links a:focus-visible {
    outline: 2px solid #968A51;
    outline-offset: 2px;
}

.foot-copy {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    color: #968A51;
    line-height: 1.2;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.consent-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 8000;
    background: #F7F8F5;
    border-top: 2px solid #B9D3B0;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
    padding: 16px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    flex-wrap: wrap;
    opacity: 1;
    transition: opacity 180ms ease-in-out;
}

.consent-bar.fading {
    opacity: 0;
}

.consent-text {
    font-family: 'Archivo', sans-serif;
    font-size: 15px;
    color: #2c2a1e;
    line-height: 1.8;
    flex: 1;
    min-width: 200px;
}

.consent-text a {
    color: #968A51;
    text-decoration: underline;
}

.consent-text a:hover {
    color: #7a6f40;
}

.consent-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.consent-accept {
    font-family: 'Archivo', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #F7F8F5;
    background: #968A51;
    border: 2px solid #968A51;
    border-radius: 8px;
    padding: 8px 28px;
    cursor: pointer;
    line-height: 1.2;
    min-height: 44px;
    transition: background 250ms cubic-bezier(0.34, 1.2, 0.64, 1), border-color 250ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.consent-accept:hover {
    background: #7a6f40;
    border-color: #7a6f40;
}

.consent-accept:focus-visible {
    outline: 2px solid #968A51;
    outline-offset: 3px;
}

.consent-decline {
    font-family: 'Archivo', sans-serif;
    font-size: 15px;
    color: #968A51;
    background: transparent;
    border: none;
    padding: 8px 4px;
    cursor: pointer;
    text-decoration: underline;
    line-height: 1.2;
    min-height: 44px;
    transition: color 200ms ease-in-out;
}

.consent-decline:hover {
    color: #2c2a1e;
}

.consent-decline:focus-visible {
    outline: 2px solid #968A51;
    outline-offset: 2px;
}

@media (max-width: 992px) {
    .head-upper {
        padding: 8px 16px;
    }

    .head-contact-strip {
        gap: 16px;
    }

    .head-main {
        padding: 16px;
        flex-wrap: wrap;
    }

    .primary-nav {
        width: 100%;
        justify-content: flex-start;
    }

    .foot-bar {
        padding: 28px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

@media (max-width: 576px) {
    .head-contact-strip {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .avail-badge {
        display: none;
    }

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

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

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

    .foot-divider {
        display: none;
    }
}

.terms-content {
    max-width: 1600px;
    margin: 0 auto;
    padding: 56px 28px;
}

.terms-content p {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 16px;
    color: #2a2520;
}

.terms-content ul,
.terms-content ol {
    padding-left: 28px;
    margin-bottom: 16px;
}

.terms-content li {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 8px;
    color: #2a2520;
}

.terms-content ul li::marker {
    color: #968A51;
}

.terms-content ol li::marker {
    color: #968A51;
    font-weight: 600;
}

.terms-content em,
.terms-content i {
    font-style: italic;
    color: #5a5030;
}

.terms-content hr {
    border: none;
    border-top: 2px solid #B9D3B0;
    margin: 56px 0;
    border-radius: 8px;
}

.terms-content div {
    margin-bottom: 28px;
    padding: 28px;
    background: #F7F8F5;
    border-radius: 8px;
    border-left: 4px solid #968A51;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
}

.terms-content div p:last-child {
    margin-bottom: 0;
}

@media (max-width: 576px) {
    .terms-content {
        padding: 28px 16px;
    }

    .terms-content p,
    .terms-content li {
        font-size: 15px;
    }

    .terms-content div {
        padding: 16px;
    }

    .terms-content hr {
        margin: 28px 0;
    }
}

@media (min-width: 992px) {
    .terms-content {
        padding: 56px;
    }

    .terms-content p {
        font-size: 17px;
    }
}

.faq-pg {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip;
}

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

@keyframes zoomSettle {
    from {
        transform: scale(1.08);
        opacity: 0.7;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.faq-pg .title-area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 56px;
    padding-bottom: 28px;
    padding-left: 56px;
    padding-right: 56px;
    gap: 56px;
    background: #F7F8F5;
    position: relative;
}

.faq-pg .title-text-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    padding-top: 28px;
}

.faq-pg .title-tag {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #968A51;
    text-transform: uppercase;
    font-weight: 600;
}

.faq-pg .title-h1 {
    font-size: 68px;
    line-height: 1.2;
    font-weight: 800;
    color: #2a2416;
    text-transform: uppercase;
    margin: 0;
}

.faq-pg .title-sub {
    font-size: 26px;
    line-height: 1.8;
    color: #3d3520;
    font-weight: 400;
    margin: 0;
}

.faq-pg .title-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #4a4030;
    margin: 0;
}

.faq-pg .title-dots {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.faq-pg .title-dots span {
    display: block;
    border-radius: 48px;
    background: #968A51;
    opacity: 0.3;
}

.faq-pg .title-dots span:nth-child(1) {
    width: 8px;
    height: 8px;
    opacity: 0.6;
}

.faq-pg .title-dots span:nth-child(2) {
    width: 8px;
    height: 8px;
    opacity: 0.4;
}

.faq-pg .title-dots span:nth-child(3) {
    width: 8px;
    height: 8px;
    opacity: 0.25;
}

.faq-pg .title-dots span:nth-child(4) {
    width: 16px;
    height: 8px;
    opacity: 0.15;
}

.faq-pg .title-img-col {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 420px;
    animation: zoomSettle 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.faq-pg .img-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    width: 100%;
}

.faq-pg .mosaic-main {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}

.faq-pg .mosaic-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.88);
    transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.faq-pg .mosaic-main:hover img {
    filter: brightness(1.05);
}

.faq-pg .mosaic-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, rgba(247, 248, 245, 0.72) 0%, transparent 60%);
    pointer-events: none;
}

.faq-pg .mosaic-accent {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    background: #968A51;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.faq-pg .mosaic-accent-text {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    text-align: center;
}

.faq-pg .mosaic-accent-text span {
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
    margin-top: 4px;
}

.faq-pg .mosaic-small {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    background: #B9D3B0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.faq-pg .mosaic-small-label {
    font-size: 15px;
    color: #2a2416;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
}

.faq-pg .faq-list-area {
    background: #2a2416;
    background: linear-gradient(to top, #2a2416 0%, #3d3520 100%);
    padding: 56px;
    position: relative;
}

.faq-pg .faq-list-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 20px solid transparent;
    pointer-events: none;
}

.faq-pg .faq-zigzag {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    height: 28px;
    pointer-events: none;
}

.faq-pg .faq-zigzag svg {
    display: block;
    width: 100%;
    height: 28px;
}

.faq-pg .faq-cols {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    max-width: 1600px;
    margin: 0 auto;
}

.faq-pg .faq-sidebar {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 28px;
}

.faq-pg .faq-sidebar-label {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #B9D3B0;
    text-transform: uppercase;
    font-weight: 600;
}

.faq-pg .faq-sidebar-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #F7F8F5;
    font-weight: 700;
    margin: 0;
}

.faq-pg .faq-sidebar-p {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(247, 248, 245, 0.72);
    margin: 0;
}

.faq-pg .faq-donut-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.faq-pg .faq-donut-wrap svg {
    width: 120px;
    height: 120px;
}

.faq-pg .donut-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq-pg .donut-leg-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.faq-pg .donut-dot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    flex-shrink: 0;
}

.faq-pg .donut-leg-text {
    font-size: 15px;
    color: rgba(247, 248, 245, 0.72);
    line-height: 1.2;
}

.faq-pg .faq-items {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 28px;
}

.faq-pg .faq-item {
    border-radius: 8px;
    overflow: hidden;
    background: rgba(247, 248, 245, 0.04);
    border: 1px solid rgba(185, 211, 176, 0.15);
    transition: background 0.38s ease-in-out;
}

.faq-pg .faq-item:hover {
    background: rgba(247, 248, 245, 0.08);
}

.faq-pg .faq-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.faq-pg .faq-q {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 28px;
    cursor: pointer;
    gap: 16px;
    user-select: none;
}

.faq-pg .faq-q-text {
    font-size: 17px;
    font-weight: 600;
    color: #F7F8F5;
    line-height: 1.8;
    flex: 1;
}

.faq-pg .faq-toggle {
    width: 28px;
    height: 28px;
    border-radius: 48px;
    background: rgba(150, 138, 81, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    transition: background 0.22s ease-in-out, transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.faq-pg .faq-toggle::before,
.faq-pg .faq-toggle::after {
    content: '';
    position: absolute;
    background: #968A51;
    border-radius: 8px;
    transition: transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1), opacity 0.22s ease-in-out;
}

.faq-pg .faq-toggle::before {
    width: 12px;
    height: 2px;
}

.faq-pg .faq-toggle::after {
    width: 2px;
    height: 12px;
}

.faq-pg .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.faq-pg .faq-answer-inner {
    padding: 0 28px 16px 28px;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(247, 248, 245, 0.72);
}

.faq-pg .faq-item input:checked~.faq-q .faq-toggle::after {
    transform: rotate(90deg);
    opacity: 0;
}

.faq-pg .faq-item input:checked~.faq-answer {
    max-height: 400px;
}

.faq-pg .faq-item input:checked~.faq-q .faq-toggle {
    background: rgba(150, 138, 81, 0.45);
}

.faq-pg .experts-area {
    background: #F7F8F5;
    padding: 56px;
    position: relative;
}

.faq-pg .experts-area::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 28px;
    pointer-events: none;
}

.faq-pg .experts-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 56px;
    margin-bottom: 56px;
}

.faq-pg .experts-top-text {
    max-width: 640px;
}

.faq-pg .experts-eyebrow {
    font-size: 15px;
    letter-spacing: 0.12em;
    color: #968A51;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 16px;
}

.faq-pg .experts-h2 {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 800;
    color: #2a2416;
    text-transform: uppercase;
    margin: 0 0 16px 0;
}

.faq-pg .experts-lead {
    font-size: 20px;
    line-height: 1.8;
    color: #3d3520;
    margin: 0;
}

.faq-pg .experts-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
    text-align: right;
}

.faq-pg .experts-stat-num {
    font-size: 68px;
    font-weight: 800;
    color: #968A51;
    line-height: 1.2;
}

.faq-pg .experts-stat-label {
    font-size: 15px;
    color: #4a4030;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.faq-pg .experts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.faq-pg .expert-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.38s ease-in-out;
    position: relative;
}

.faq-pg .expert-card:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.faq-pg .expert-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 28px 28px;
    border-color: transparent transparent #B9D3B0 transparent;
    transition: border-width 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
}

.faq-pg .expert-card:hover::after {
    border-width: 0 0 48px 48px;
}

.faq-pg .expert-portrait-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 28px 28px 16px 28px;
}

.faq-pg .portrait-thumb {
    width: 80px;
    height: 120px;
    overflow: hidden;
    flex-shrink: 0;
}

.faq-pg .portrait-thumb img {
    width: 80px;
    height: 120px;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.9);
    transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.faq-pg .expert-card:hover .portrait-thumb img {
    filter: brightness(1.05);
}

.faq-pg .expert-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.faq-pg .expert-name {
    font-size: 20px;
    font-weight: 700;
    color: #2a2416;
    line-height: 1.2;
}

.faq-pg .expert-role {
    font-size: 15px;
    color: #968A51;
    font-weight: 500;
}

.faq-pg .expert-body {
    padding: 0 28px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.faq-pg .expert-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #4a4030;
    margin: 0;
}

.faq-pg .expert-topics {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.faq-pg .topic-tag {
    font-size: 15px;
    background: #F7F8F5;
    color: #3d3520;
    border-radius: 8px;
    padding: 4px 8px;
    font-weight: 500;
    border: 1px solid rgba(150, 138, 81, 0.2);
}

.faq-pg .expert-card.no-portrait {
    background: linear-gradient(to top, #B9D3B0 0%, #F7F8F5 100%);
}

.faq-pg .expert-card.no-portrait .expert-portrait-row {
    padding-bottom: 0;
}

.faq-pg .no-portrait-icon {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    background: rgba(150, 138, 81, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.faq-pg .no-portrait-icon svg {
    width: 40px;
    height: 40px;
    opacity: 0.5;
}

.faq-pg .dashed-bg {
    background-image: repeating-linear-gradient(0deg,
            rgba(150, 138, 81, 0.07) 0px,
            rgba(150, 138, 81, 0.07) 1px,
            transparent 1px,
            transparent 28px),
        repeating-linear-gradient(90deg,
            rgba(150, 138, 81, 0.07) 0px,
            rgba(150, 138, 81, 0.07) 1px,
            transparent 1px,
            transparent 28px);
}

@media (max-width: 992px) {
    .faq-pg .title-area {
        grid-template-columns: 1fr;
        padding: 28px;
        gap: 28px;
    }

    .faq-pg .title-h1 {
        font-size: 50px;
    }

    .faq-pg .title-img-col {
        min-height: 280px;
    }

    .faq-pg .faq-list-area {
        padding: 28px;
    }

    .faq-pg .faq-cols {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .faq-pg .experts-area {
        padding: 28px;
    }

    .faq-pg .experts-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
        margin-bottom: 28px;
    }

    .faq-pg .experts-stat {
        text-align: left;
    }

    .faq-pg .experts-h2 {
        font-size: 36px;
    }

    .faq-pg .experts-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
}

@media (max-width: 576px) {
    .faq-pg .title-h1 {
        font-size: 36px;
    }

    .faq-pg .title-sub {
        font-size: 20px;
    }

    .faq-pg .img-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }

    .faq-pg .mosaic-main {
        grid-column: 1;
        grid-row: 1;
        min-height: 200px;
    }

    .faq-pg .mosaic-accent {
        grid-column: 1;
        grid-row: 2;
    }

    .faq-pg .mosaic-small {
        grid-column: 1;
        grid-row: 3;
    }

    .faq-pg .experts-grid {
        grid-template-columns: 1fr;
    }

    .faq-pg .experts-h2 {
        font-size: 26px;
    }

    .faq-pg .experts-stat-num {
        font-size: 50px;
    }

    .faq-pg .faq-sidebar-h2 {
        font-size: 26px;
    }
}

.lp-root {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip;
}

.lp-root .on-load-reveal {
    animation: revealRotate 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes revealRotate {
    from {
        opacity: 0;
        transform: rotate(-4deg) translateY(16px);
    }

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

.lp-root .on-load-reveal-delayed {
    animation: revealRotate 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) 0.18s both;
}

.lp-root ::selection {
    background: #B9D3B0;
    color: #2a2416;
}

.lp-root .zigzag-divider {
    width: 100%;
    display: block;
    line-height: 0;
}

.lp-root .title-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative;
}

.lp-root .title-img-col {
    position: relative;
    overflow: hidden;
}

.lp-root .title-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lp-root .title-img-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20, 16, 8, 0.72) 0%, rgba(20, 16, 8, 0.08) 60%);
    pointer-events: none;
}

.lp-root .title-bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(150, 138, 81, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(150, 138, 81, 0.07) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}

.lp-root .title-text-col {
    background: #F7F8F5;
    padding: 56px 56px 56px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.lp-root .title-text-col .title-bg-grid {
    opacity: 0.6;
}

.lp-root .title-label {
    font-size: 15px;
    letter-spacing: 0.18em;
    color: #968A51;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}

.lp-root .title-h1 {
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.2;
    color: #1e1a0e;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 28px;
}

.lp-root .title-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3220;
    margin-bottom: 28px;
    max-width: 480px;
}

.lp-root .title-desc strong {
    color: #1e1a0e;
}

.lp-root .title-link {
    display: inline-block;
    background: #968A51;
    color: #F7F8F5;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 16px 28px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.22s ease-in-out;
    align-self: flex-start;
}

.lp-root .title-link:hover {
    background: #7a6f3e;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lp-root .title-link:focus {
    outline: 2px solid #968A51;
    outline-offset: 3px;
}

.lp-root .program-structure {
    background: #1e1a0e;
    padding: 56px 0 0;
    position: relative;
}

.lp-root .program-structure .edge-accent {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: #968A51;
    pointer-events: none;
}

.lp-root .prog-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 56px 56px;
}

.lp-root .prog-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 56px;
    margin-bottom: 56px;
    align-items: start;
}

.lp-root .prog-heading-label {
    font-size: 15px;
    letter-spacing: 0.16em;
    color: #B9D3B0;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}

.lp-root .prog-h2 {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.2;
    color: #F7F8F5;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 16px;
}

.lp-root .prog-intro {
    font-size: 20px;
    line-height: 1.8;
    color: #c8c0a0;
    margin-bottom: 16px;
}

.lp-root .prog-body {
    font-size: 17px;
    line-height: 1.8;
    color: #9a9280;
}

.lp-root .metrics-panel {
    background: #2a2416;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.lp-root .metric-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lp-root .metric-label {
    font-size: 15px;
    color: #9a9280;
    letter-spacing: 0.06em;
}

.lp-root .metric-bar-track {
    background: #3a3220;
    border-radius: 8px;
    height: 8px;
    overflow: hidden;
}

.lp-root .metric-bar-fill {
    height: 8px;
    border-radius: 8px;
    background: #968A51;
    transition: width 0.44s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lp-root .metric-bar-fill.secondary {
    background: #B9D3B0;
}

.lp-root .metric-nums {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.lp-root .metric-before {
    font-size: 15px;
    color: #6a6250;
}

.lp-root .metric-after {
    font-size: 20px;
    font-weight: 800;
    color: #F7F8F5;
}

.lp-root .metric-arrow {
    font-size: 15px;
    color: #B9D3B0;
    font-weight: 700;
}

.lp-root .steps-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.lp-root .step-card {
    background: #2a2416;
    border-radius: 8px;
    padding: 28px;
    position: relative;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
    transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.32s ease-in-out;
}

.lp-root .step-card:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
    transform: translateY(-4px);
}

.lp-root .step-num {
    font-size: 50px;
    font-weight: 900;
    line-height: 1.2;
    color: rgba(150, 138, 81, 0.18);
    position: absolute;
    top: 16px;
    right: 16px;
}

.lp-root .step-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 16px;
}

.lp-root .step-h4 {
    font-size: 17px;
    font-weight: 700;
    color: #F7F8F5;
    margin-bottom: 8px;
    line-height: 1.2;
}

.lp-root .step-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #9a9280;
}

.lp-root .dashed-path {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.lp-root .faq-section {
    background: #F7F8F5;
    padding: 56px 0;
    position: relative;
}

.lp-root .faq-section .edge-accent-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #B9D3B0;
    pointer-events: none;
}

.lp-root .faq-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 56px;
}

.lp-root .faq-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 56px;
    align-items: start;
}

.lp-root .faq-aside {
    position: sticky;
    top: 28px;
}

.lp-root .faq-h2 {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.2;
    color: #1e1a0e;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 16px;
}

.lp-root .faq-aside-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3220;
    margin-bottom: 28px;
}

.lp-root .faq-portraits {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 16px;
}

.lp-root .portrait-thumb {
    width: 80px;
    height: 103px;
    overflow: hidden;
    flex-shrink: 0;
}

.lp-root .portrait-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lp-root .portrait-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-end;
}

.lp-root .portrait-name {
    font-size: 15px;
    font-weight: 700;
    color: #1e1a0e;
}

.lp-root .portrait-role {
    font-size: 15px;
    color: #968A51;
}

.lp-root .faq-contact-link {
    display: inline-block;
    border: 2px solid #968A51;
    color: #968A51;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 8px;
    text-decoration: none;
    letter-spacing: 0.06em;
    transition: background 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.28s ease-in-out;
}

.lp-root .faq-contact-link:hover {
    background: #968A51;
    color: #F7F8F5;
}

.lp-root .faq-contact-link:focus {
    outline: 2px solid #968A51;
    outline-offset: 3px;
}

.lp-root .faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lp-root .faq-item {
    border-radius: 8px;
    background: #fff;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
    overflow: hidden;
}

.lp-root .faq-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.lp-root .faq-item label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 28px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: #1e1a0e;
    line-height: 1.2;
    gap: 16px;
    transition: background 0.22s ease-in-out;
}

.lp-root .faq-item label:hover {
    background: #F7F8F5;
}

.lp-root .faq-toggle-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border-radius: 48px;
    background: #B9D3B0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.32s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lp-root .faq-toggle-icon svg {
    display: block;
    transition: transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lp-root .faq-item input:checked~label .faq-toggle-icon {
    background: #968A51;
    transform: rotate(45deg);
}

.lp-root .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), padding 0.28s ease-in-out;
    padding: 0 28px;
}

.lp-root .faq-item input:checked~.faq-answer {
    max-height: 400px;
    padding: 0 28px 28px;
}

.lp-root .faq-answer-text {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3220;
}

@media (max-width: 992px) {
    .lp-root .title-grid {
        grid-template-columns: 1fr;
    }

    .lp-root .title-img-col {
        height: 320px;
    }

    .lp-root .title-text-col {
        padding: 56px 28px;
    }

    .lp-root .prog-inner {
        padding: 0 28px 56px;
    }

    .lp-root .prog-top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lp-root .steps-row {
        grid-template-columns: 1fr 1fr;
    }

    .lp-root .faq-inner {
        padding: 0 28px;
    }

    .lp-root .faq-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lp-root .faq-aside {
        position: static;
    }
}

@media (max-width: 576px) {
    .lp-root .steps-row {
        grid-template-columns: 1fr;
    }

    .lp-root .title-text-col {
        padding: 28px 16px;
    }

    .lp-root .prog-inner {
        padding: 0 16px 28px;
    }

    .lp-root .faq-inner {
        padding: 0 16px;
    }

    .lp-root .faq-portraits {
        flex-wrap: wrap;
    }
}

@media (max-width: 1200px) {
    .lp-root .steps-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

.lnch {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip;
}

.lnch .divider {
    width: 100%;
    height: 2px;
    background: radial-gradient(ellipse at center, #968A51 0%, transparent 70%);
    margin: 0;
    position: relative;
}

.lnch .divider-alt {
    width: 100%;
    height: 2px;
    background: radial-gradient(ellipse at center, #B9D3B0 0%, transparent 70%);
    margin: 0;
}

.lnch .divider-deco {
    position: relative;
    text-align: center;
    height: 2px;
    background: radial-gradient(ellipse at center, #968A51 0%, transparent 70%);
}

.lnch .divider-deco::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: #968A51;
    border-radius: 50%;
}

.lnch .divider-deco::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% + 18px);
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: #B9D3B0;
    border-radius: 50%;
}

.lnch .section-prefix {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #968A51;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;
}

/* SECTION 1 - Title Block */
.lnch .title-blk {
    padding: 80px 56px 56px;
    position: relative;
}

.lnch .title-frame {
    position: absolute;
    top: 28px;
    left: 28px;
    right: 28px;
    bottom: 28px;
    border: 1px solid rgba(150, 138, 81, 0.22);
    border-radius: 8px;
    pointer-events: none;
}

.lnch .title-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 28px;
    align-items: center;
}

.lnch .title-img-left {
    position: relative;
}

.lnch .title-img-left img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    opacity: 0.82;
    filter: blur(0px);
    animation: revealLeft 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.lnch .title-img-left::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 60%, #F7F8F5 100%);
    border-radius: 8px;
    pointer-events: none;
}

.lnch .title-img-right {
    position: relative;
}

.lnch .title-img-right img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    opacity: 0.82;
    animation: revealRight 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.lnch .title-img-right::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, transparent 60%, #F7F8F5 100%);
    border-radius: 8px;
    pointer-events: none;
    z-index: 1;
}

.lnch .title-img-right img {
    filter: blur(1.5px);
}

.lnch .title-center {
    text-align: center;
    padding: 28px 16px;
    animation: revealCenter 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.lnch .title-label {
    font-size: 15px;
    letter-spacing: 0.18em;
    color: #968A51;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block;
}

.lnch .title-h1 {
    font-size: 68px;
    line-height: 1.2;
    color: #1e1c14;
    text-transform: uppercase;
    margin: 0 0 16px;
    font-weight: 800;
}

.lnch .title-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0 0 28px;
}

.lnch .title-actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.lnch .btn-prim {
    display: inline-block;
    padding: 16px 28px;
    background: #968A51;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s ease-in-out;
}

.lnch .btn-prim:hover {
    background: #7a7040;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .btn-sec {
    display: inline-block;
    padding: 16px 28px;
    background: transparent;
    color: #968A51;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #968A51;
    transition: background 0.32s ease-in-out, color 0.32s ease-in-out;
}

.lnch .btn-sec:hover {
    background: #968A51;
    color: #fff;
}

@keyframes revealLeft {
    from {
        opacity: 0;
        transform: rotate(-2deg) translateX(-16px);
    }

    to {
        opacity: 0.82;
        transform: rotate(0deg) translateX(0);
    }
}

@keyframes revealRight {
    from {
        opacity: 0;
        transform: rotate(2deg) translateX(16px);
    }

    to {
        opacity: 0.82;
        transform: rotate(0deg) translateX(0);
    }
}

@keyframes revealCenter {
    from {
        opacity: 0;
        transform: rotate(-1deg) translateY(16px);
    }

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

/* SECTION 2 - Approach */
.lnch .approach-blk {
    padding: 56px;
    background: #F7F8F5;
    position: relative;
    overflow: hidden;
}

.lnch .approach-diag {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background: linear-gradient(135deg, #B9D3B0 0%, #F7F8F5 100%);
    clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
    pointer-events: none;
}

.lnch .approach-grid {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 56px;
    align-items: start;
    position: relative;
    z-index: 1;
}

.lnch .approach-left {
    padding-top: 8px;
}

.lnch .approach-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #968A51;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .approach-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #1e1c14;
    text-transform: uppercase;
    margin: 0 0 28px;
    font-weight: 800;
}

.lnch .approach-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .approach-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.lnch .appr-item {
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 2px 1px 6px 1px rgba(185, 211, 176, 0.08);
    transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lnch .appr-item:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .appr-num {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 800;
    color: #968A51;
    opacity: 0.22;
    display: block;
    margin-bottom: 4px;
}

.lnch .appr-title {
    font-size: 17px;
    font-weight: 700;
    color: #1e1c14;
    margin: 0 0 8px;
}

.lnch .appr-text {
    font-size: 15px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
}

/* SECTION 3 - Hesitation */
.lnch .hesit-blk {
    padding: 56px;
    background: #1e1c14;
    position: relative;
}

.lnch .hesit-texture {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-45deg,
            rgba(150, 138, 81, 0.04) 0px,
            rgba(150, 138, 81, 0.04) 1px,
            transparent 1px,
            transparent 8px);
    pointer-events: none;
}

.lnch .hesit-grid {
    display: grid;
    grid-template-columns: 1fr 30%;
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.lnch .hesit-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #B9D3B0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .hesit-tag .section-prefix {
    background: #B9D3B0;
}

.lnch .hesit-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #F7F8F5;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0 0 28px;
}

.lnch .hesit-intro {
    font-size: 20px;
    line-height: 1.8;
    color: #B9D3B0;
    margin: 0 0 16px;
}

.lnch .hesit-body {
    font-size: 17px;
    line-height: 1.8;
    color: #c8c4b0;
    margin: 0 0 16px;
}

.lnch .hesit-body:last-child {
    margin-bottom: 0;
}

.lnch .hesit-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lnch .hesit-stat {
    background: rgba(150, 138, 81, 0.12);
    border-radius: 8px;
    padding: 28px;
    border-top: 2px solid rgba(150, 138, 81, 0.38);
    box-shadow: inset 0 2px 8px 0 rgba(150, 138, 81, 0.08);
}

.lnch .hesit-stat-num {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 800;
    color: #968A51;
    display: block;
}

.lnch .hesit-stat-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #B9D3B0;
    margin: 0;
}

/* SECTION 4 - Support */
.lnch .support-blk {
    padding: 56px;
    background: #F7F8F5;
}

.lnch .support-top {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 56px;
    margin-bottom: 56px;
}

.lnch .support-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #968A51;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .support-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #1e1c14;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0;
}

.lnch .support-intro {
    font-size: 20px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0 0 16px;
}

.lnch .support-body {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
}

.lnch .support-people {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.lnch .person-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 2px 5px 18px 1px rgba(185, 211, 176, 0.08);
    transition: box-shadow 0.35s ease-in-out;
}

.lnch .person-card:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .person-portrait {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
}

.lnch .person-info {
    flex: 1;
}

.lnch .person-name {
    font-size: 17px;
    font-weight: 700;
    color: #1e1c14;
    margin: 0 0 4px;
}

.lnch .person-role {
    font-size: 15px;
    color: #968A51;
    letter-spacing: 0.06em;
    margin: 0 0 8px;
}

.lnch .person-quote {
    font-size: 15px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
}

.lnch .person-noimg {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #968A51 0%, #B9D3B0 100%);
    flex-shrink: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.lnch .person-noimg-letter {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
}

/* SECTION 5 - Long-term value */
.lnch .value-blk {
    padding: 56px;
    background: linear-gradient(160deg, #1e1c14 0%, #968A51 100%);
    position: relative;
}

.lnch .value-grid {
    display: grid;
    grid-template-columns: 1fr 30%;
    gap: 56px;
    align-items: start;
}

.lnch .value-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #B9D3B0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .value-tag .section-prefix {
    background: #B9D3B0;
}

.lnch .value-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #F7F8F5;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0 0 28px;
}

.lnch .value-intro {
    font-size: 20px;
    line-height: 1.8;
    color: #F7F8F5;
    margin: 0 0 16px;
}

.lnch .value-body {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(247, 248, 245, 0.8);
    margin: 0 0 16px;
}

.lnch .value-body:last-child {
    margin-bottom: 0;
}

.lnch .value-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lnch .value-img-wrap {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .value-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    opacity: 0.88;
    display: block;
}

.lnch .value-note {
    background: rgba(247, 248, 245, 0.1);
    border-radius: 8px;
    padding: 28px;
    box-shadow: inset 0 2px 6px 0 rgba(185, 211, 176, 0.08);
}

.lnch .value-note-text {
    font-size: 15px;
    line-height: 1.8;
    color: #B9D3B0;
    margin: 0;
}

/* SECTION 6 - Graduation */
.lnch .grad-blk {
    padding: 56px;
    background: #fff;
}

.lnch .grad-head {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 56px;
    margin-bottom: 56px;
    align-items: end;
}

.lnch .grad-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #968A51;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .grad-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #1e1c14;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0;
}

.lnch .grad-desc {
    font-size: 20px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0 0 16px;
}

.lnch .grad-sub {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
}

.lnch .grad-outcomes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.lnch .grad-out {
    padding: 28px;
    border-radius: 8px;
    background: #F7F8F5;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
    transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lnch .grad-out:hover {
    transform: translateY(-4px);
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.lnch .grad-out-icon {
    width: 36px;
    height: 36px;
    background: #968A51;
    border-radius: 8px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.lnch .grad-out-icon svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}

.lnch .grad-out-h {
    font-size: 17px;
    font-weight: 700;
    color: #1e1c14;
    margin: 0 0 8px;
}

.lnch .grad-out-p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
}

/* SECTION 7 - Available programs */
.lnch .prog-blk {
    padding: 56px;
    background: #F7F8F5;
    position: relative;
}

.lnch .prog-diag {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(160deg, #B9D3B0 0%, #F7F8F5 100%);
    clip-path: polygon(0% 0%, 80% 0%, 60% 100%, 0% 100%);
    pointer-events: none;
}

.lnch .prog-head {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
    z-index: 1;
}

.lnch .prog-tag {
    font-size: 15px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #968A51;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lnch .prog-h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #1e1c14;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0 0 16px;
}

.lnch .prog-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3628;
    max-width: 680px;
    margin: 0 auto;
}

.lnch .prog-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    position: relative;
    z-index: 1;
}

.lnch .prog-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: box-shadow 0.38s ease-in-out, transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
    display: flex;
    flex-direction: column;
}

.lnch .prog-card:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
    transform: translateY(-4px);
}

.lnch .prog-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lnch .prog-card-body {
    padding: 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lnch .prog-card-type {
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #968A51;
    font-weight: 700;
}

.lnch .prog-card-h {
    font-size: 20px;
    font-weight: 700;
    color: #1e1c14;
    line-height: 1.2;
    margin: 0;
}

.lnch .prog-card-p {
    font-size: 15px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0;
    flex: 1;
}

.lnch .prog-card-footer {
    padding: 16px 28px 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.lnch .prog-card-detail {
    font-size: 15px;
    color: #968A51;
    font-weight: 700;
}

.lnch .prog-card-link {
    font-size: 15px;
    color: #968A51;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid rgba(150, 138, 81, 0.38);
    padding-bottom: 2px;
    transition: border-color 0.22s ease-in-out, color 0.22s ease-in-out;
}

.lnch .prog-card-link:hover {
    color: #7a7040;
    border-color: #7a7040;
}

.lnch .prog-faq {
    text-align: center;
    margin-top: 56px;
    position: relative;
    z-index: 1;
}

.lnch .prog-faq-text {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3628;
    margin: 0 0 16px;
}

/* Responsive */
@media (max-width: 1200px) {
    .lnch .title-h1 {
        font-size: 50px;
    }

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

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

@media (max-width: 992px) {
    .lnch .title-grid {
        grid-template-columns: 1fr;
    }

    .lnch .title-img-left,
    .lnch .title-img-right {
        display: none;
    }

    .lnch .title-blk {
        padding: 56px 28px 28px;
    }

    .lnch .approach-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lnch .hesit-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lnch .support-top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

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

    .lnch .value-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .lnch .grad-head {
        grid-template-columns: 1fr;
        gap: 28px;
    }

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

    .lnch .approach-blk,
    .lnch .hesit-blk,
    .lnch .support-blk,
    .lnch .value-blk,
    .lnch .grad-blk,
    .lnch .prog-blk {
        padding: 56px 28px;
    }
}

@media (max-width: 576px) {
    .lnch .title-h1 {
        font-size: 36px;
    }

    .lnch .approach-h2,
    .lnch .hesit-h2,
    .lnch .support-h2,
    .lnch .value-h2,
    .lnch .grad-h2,
    .lnch .prog-h2 {
        font-size: 26px;
    }

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

    .lnch .title-blk {
        padding: 28px 16px 16px;
    }

    .lnch .title-frame {
        top: 8px;
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
}

.abt-us {
    max-width: 1600px;
    margin: 0 auto;
    overflow-x: clip;
}

.abt-us .cascade-item {
    opacity: 0;
    transform: translateY(18px);
    animation: cascadeIn 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.abt-us .cascade-item:nth-child(1) {
    animation-delay: 0.08s;
}

.abt-us .cascade-item:nth-child(2) {
    animation-delay: 0.18s;
}

.abt-us .cascade-item:nth-child(3) {
    animation-delay: 0.28s;
}

.abt-us .cascade-item:nth-child(4) {
    animation-delay: 0.38s;
}

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

.abt-us .pg-lead {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    min-height: 520px;
    background: #F7F8F5;
    position: relative;
}

.abt-us .pg-lead::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: repeating-linear-gradient(90deg,
            #968A51 0px, #968A51 18px,
            transparent 18px, transparent 28px);
}

.abt-us .lead-img-col {
    position: relative;
    overflow: hidden;
    background: #B9D3B0;
}

.abt-us .lead-img-wrap {
    width: 100%;
    height: 100%;
    min-height: 520px;
}

.abt-us .lead-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
    display: block;
}

.abt-us .lead-deco {
    position: absolute;
    top: 28px;
    right: -28px;
    width: 120px;
    height: 120px;
    border-radius: 48px;
    background: #968A51;
    opacity: 0.12;
    pointer-events: none;
}

.abt-us .lead-text-col {
    padding: 56px 56px 56px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
}

.abt-us .lead-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #968A51;
    font-weight: 600;
}

.abt-us .dot-swatch {
    width: 10px;
    height: 10px;
    border-radius: 48px;
    background: #968A51;
    flex-shrink: 0;
}

.abt-us .lead-h1 {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b1b;
    text-transform: uppercase;
    margin: 0;
}

.abt-us .lead-desc {
    font-size: 17px;
    line-height: 1.8;
    color: #2e2e2e;
    margin: 0;
    max-width: 540px;
}

.abt-us .lead-desc strong {
    color: #1b1b1b;
}

.abt-us .lead-link {
    display: inline-block;
    background: #968A51;
    color: #F7F8F5;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 16px 28px;
    border-radius: 8px;
    text-decoration: none;
    align-self: flex-start;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.35s ease-in-out;
}

.abt-us .lead-link:hover {
    background: #7a6f3e;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.abt-us .mission-strip {
    background: #968A51;
    padding: 56px 56px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px;
    position: relative;
    overflow: hidden;
}

.abt-us .mission-strip::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 200px;
    height: 200px;
    border-radius: 48px;
    background: #B9D3B0;
    opacity: 0.13;
    pointer-events: none;
}

.abt-us .mstat {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 28px;
    background: rgba(247, 248, 245, 0.10);
    border-radius: 8px;
    box-shadow: inset 0 2px 6px rgba(150, 138, 81, 0.10);
    transition: background-color 0.38s ease-in-out;
}

.abt-us .mstat:hover {
    background: rgba(247, 248, 245, 0.18);
}

.abt-us .mstat-num {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #F7F8F5;
}

.abt-us .mstat-label {
    font-size: 17px;
    line-height: 1.8;
    color: #e8ead8;
}

.abt-us .mstat-detail {
    font-size: 15px;
    line-height: 1.8;
    color: #d4d6be;
}

.abt-us .story-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 0.8fr;
    gap: 28px;
    padding: 56px 56px;
    background: #fff;
    position: relative;
}

.abt-us .story-grid::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #B9D3B0;
}

.abt-us .story-grid::after {
    content: '';
    display: block;
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: #968A51;
}

.abt-us .story-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.abt-us .story-h2 {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b1b;
    text-transform: uppercase;
    margin: 0;
}

.abt-us .story-intro {
    font-size: 20px;
    line-height: 1.8;
    color: #1b1b1b;
    margin: 0;
}

.abt-us .story-body {
    font-size: 17px;
    line-height: 1.8;
    color: #2e2e2e;
    margin: 0;
}

.abt-us .story-img-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.abt-us .story-img-wrap {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
}

.abt-us .story-img-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .story-img-wrap.tall img {
    height: 340px;
}

.abt-us .story-aside {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 28px;
    background: #F7F8F5;
    border-radius: 8px;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
}

.abt-us .aside-h4 {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0;
}

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

.abt-us .aside-list li {
    font-size: 15px;
    line-height: 1.8;
    color: #2e2e2e;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 16px;
    border-bottom: 1px solid #B9D3B0;
}

.abt-us .aside-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.abt-us .aside-list strong {
    font-size: 17px;
    color: #1b1b1b;
}

.abt-us .team-row {
    background: #F7F8F5;
    padding: 56px 56px;
    position: relative;
}

.abt-us .team-row::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    border-top: 28px solid #fff;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 40%, 0 100%);
    pointer-events: none;
}

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

.abt-us .team-heading-col {
    flex: 0 0 auto;
    max-width: 380px;
}

.abt-us .team-h2 {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b1b;
    text-transform: uppercase;
    margin: 0 0 16px 0;
}

.abt-us .team-sub {
    font-size: 17px;
    line-height: 1.8;
    color: #2e2e2e;
    margin: 0;
}

.abt-us .team-desc-col {
    flex: 1;
    font-size: 17px;
    line-height: 1.8;
    color: #2e2e2e;
}

.abt-us .team-cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px;
}

.abt-us .person-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-us .person-card:hover {
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.abt-us .person-portrait {
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
}

.abt-us .person-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.abt-us .person-no-photo {
    width: 100%;
    aspect-ratio: 4/5;
    background: linear-gradient(160deg, #B9D3B0 0%, #968A51 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.abt-us .person-initials {
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    color: #F7F8F5;
    opacity: 0.85;
}

.abt-us .person-info {
    padding: 16px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abt-us .person-name {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0;
}

.abt-us .person-role {
    font-size: 15px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #968A51;
    font-weight: 600;
}

.abt-us .person-bio {
    font-size: 15px;
    line-height: 1.8;
    color: #2e2e2e;
    margin: 0;
}

.abt-us .zigzag-divider {
    width: 100%;
    height: 28px;
    background: #F7F8F5;
    position: relative;
    overflow: hidden;
}

.abt-us .zigzag-divider svg {
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 992px) {
    .abt-us .pg-lead {
        grid-template-columns: 1fr;
    }

    .abt-us .lead-img-wrap {
        min-height: 320px;
    }

    .abt-us .lead-img-wrap img {
        clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
    }

    .abt-us .lead-text-col {
        padding: 28px 28px;
    }

    .abt-us .lead-h1 {
        font-size: 36px;
    }

    .abt-us .mission-strip {
        grid-template-columns: 1fr;
        padding: 28px 28px;
    }

    .abt-us .story-grid {
        grid-template-columns: 1fr;
        padding: 28px 28px;
    }

    .abt-us .team-row {
        padding: 28px 28px;
    }

    .abt-us .team-top {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 28px;
    }

    .abt-us .team-cards {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 576px) {
    .abt-us .lead-h1 {
        font-size: 26px;
    }

    .abt-us .mstat-num {
        font-size: 36px;
    }

    .abt-us .story-h2,
    .abt-us .team-h2 {
        font-size: 26px;
    }

    .abt-us .team-cards {
        grid-template-columns: 1fr;
    }

    .abt-us .lead-text-col {
        padding: 16px 16px;
    }

    .abt-us .story-grid {
        padding: 16px 16px;
    }

    .abt-us .team-row {
        padding: 16px 16px;
    }

    .abt-us .mission-strip {
        padding: 16px 16px;
    }
}

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

.ctus .split-band {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 320px;
}

.ctus .band-left {
    background: #968A51;
    padding: 56px 56px 56px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.ctus .band-left::before {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 48px;
    background: rgba(185, 211, 176, 0.18);
    top: -60px;
    left: -60px;
    filter: blur(40px);
    pointer-events: none;
}

.ctus .band-left::after {
    content: '';
    position: absolute;
    width: 160px;
    height: 160px;
    border-radius: 48px;
    background: rgba(247, 248, 245, 0.12);
    bottom: -40px;
    right: 40px;
    filter: blur(30px);
    pointer-events: none;
}

.ctus .band-label {
    font-size: 15px;
    letter-spacing: 0.14em;
    color: rgba(247, 248, 245, 0.7);
    text-transform: uppercase;
    margin-bottom: 16px;
    line-height: 1.2;
}

.ctus .band-heading {
    font-size: 50px;
    line-height: 1.2;
    color: #F7F8F5;
    text-transform: uppercase;
    margin: 0 0 16px 0;
    font-weight: 700;
}

.ctus .band-desc {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(247, 248, 245, 0.85);
    margin: 0;
    max-width: 380px;
}

.ctus .band-right {
    background: #B9D3B0;
    padding: 56px 56px 56px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
}

.ctus .contact-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ctus .contact-item .ci-label {
    font-size: 15px;
    letter-spacing: 0.1em;
    color: rgba(30, 28, 20, 0.6);
    text-transform: uppercase;
    line-height: 1.2;
}

.ctus .contact-item .ci-value {
    font-size: 20px;
    line-height: 1.2;
    color: #1e1c14;
    font-weight: 600;
    text-decoration: none;
    transition: color 200ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.ctus .contact-item .ci-value:hover {
    color: #968A51;
}

.ctus .contact-item .ci-value.plain {
    font-weight: 400;
    font-size: 17px;
}

.ctus .arrow-deco {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid rgba(247, 248, 245, 0.4);
    margin-bottom: 28px;
}

.ctus .form-panel {
    max-width: 1600px;
    margin: 0 auto;
    padding: 56px 56px;
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 56px;
    align-items: start;
}

.ctus .form-info {
    position: sticky;
    top: 28px;
}

.ctus .fi-tag {
    display: inline-block;
    background: #968A51;
    color: #F7F8F5;
    font-size: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    line-height: 1.8;
}

.ctus .fi-heading {
    font-size: 36px;
    line-height: 1.2;
    color: #1e1c14;
    margin: 0 0 16px 0;
    font-weight: 700;
}

.ctus .fi-lead {
    font-size: 20px;
    line-height: 1.8;
    color: #2e2b1a;
    margin: 0 0 16px 0;
}

.ctus .fi-body {
    font-size: 17px;
    line-height: 1.8;
    color: #4a4535;
    margin: 0 0 28px 0;
}

.ctus .faq-card {
    background: #F7F8F5;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    position: relative;
}

.ctus .faq-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 8px;
    border: 2px solid #968A51;
    top: 6px;
    left: 6px;
    z-index: 0;
    pointer-events: none;
}

.ctus .faq-card .fq {
    font-size: 17px;
    font-weight: 600;
    color: #1e1c14;
    margin: 0 0 8px 0;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}

.ctus .faq-card .fa {
    font-size: 15px;
    line-height: 1.8;
    color: #4a4535;
    margin: 0;
    position: relative;
    z-index: 1;
}

.ctus .form-wrap {
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.ctus .form-row {
    margin-bottom: 16px;
}

.ctus .form-row label {
    display: block;
    font-size: 15px;
    letter-spacing: 0.06em;
    color: #2e2b1a;
    margin-bottom: 4px;
    line-height: 1.2;
    text-transform: uppercase;
}

.ctus .form-row input[type="text"],
.ctus .form-row input[type="email"],
.ctus .form-row input[type="tel"] {
    width: 100%;
    padding: 8px 16px;
    border: 2px solid #B9D3B0;
    border-radius: 8px;
    font-size: 17px;
    color: #1e1c14;
    background: #F7F8F5;
    box-sizing: border-box;
    line-height: 1.8;
    transition: border-color 350ms ease-in-out, box-shadow 350ms ease-in-out;
    outline: none;
}

.ctus .form-row input[type="text"]::placeholder,
.ctus .form-row input[type="email"]::placeholder,
.ctus .form-row input[type="tel"]::placeholder {
    color: #9e9880;
}

.ctus .form-row input[type="text"]:focus,
.ctus .form-row input[type="email"]:focus,
.ctus .form-row input[type="tel"]:focus {
    border-color: #968A51;
    box-shadow: 2px 1px 6px 1px rgba(150, 138, 81, 0.08);
}

.ctus .radio-group-label {
    font-size: 15px;
    letter-spacing: 0.06em;
    color: #2e2b1a;
    margin-bottom: 8px;
    line-height: 1.2;
    text-transform: uppercase;
    display: block;
}

.ctus .radio-options {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.ctus .radio-opt {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ctus .radio-opt input[type="radio"] {
    accent-color: #968A51;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.ctus .radio-opt label {
    font-size: 17px;
    color: #2e2b1a;
    cursor: pointer;
    line-height: 1.2;
    padding: 4px 0;
}

.ctus .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
    padding: 16px;
    background: #F7F8F5;
    border-radius: 8px;
}

.ctus .privacy-row input[type="checkbox"] {
    accent-color: #968A51;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
}

.ctus .privacy-row .pr-text {
    font-size: 15px;
    line-height: 1.8;
    color: #4a4535;
}

.ctus .privacy-row .pr-text a {
    color: #968A51;
    text-decoration: underline;
    transition: color 200ms ease-in-out;
}

.ctus .privacy-row .pr-text a:hover {
    color: #6b6138;
}

.ctus .submit-btn {
    background: #968A51;
    color: #F7F8F5;
    border: none;
    border-radius: 8px;
    padding: 16px 56px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: background 400ms cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    width: 100%;
}

.ctus .submit-btn:hover {
    background: #6b6138;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

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

.ctus .submit-btn:active {
    background: #504a2a;
}

.ctus .divider-clip {
    height: 56px;
    background: #B9D3B0;
    clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-32px);
    }

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

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(32px);
    }

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

.ctus .band-left {
    animation: slideInLeft 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.ctus .band-right {
    animation: slideInRight 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) 0.1s both;
}

.ctus .form-info {
    animation: slideInLeft 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) 0.15s both;
}

.ctus .form-wrap {
    animation: slideInRight 0.44s cubic-bezier(0.34, 1.2, 0.64, 1) 0.2s both;
}

@media (max-width: 992px) {
    .ctus .split-band {
        grid-template-columns: 1fr;
    }

    .ctus .band-left {
        padding: 56px 28px;
    }

    .ctus .band-right {
        padding: 28px 28px;
    }

    .ctus .band-heading {
        font-size: 36px;
    }

    .ctus .form-panel {
        grid-template-columns: 1fr;
        padding: 28px 28px;
        gap: 28px;
    }

    .ctus .form-info {
        position: static;
    }
}

@media (max-width: 576px) {
    .ctus .band-heading {
        font-size: 26px;
    }

    .ctus .band-left {
        padding: 28px 16px;
    }

    .ctus .band-right {
        padding: 28px 16px;
    }

    .ctus .form-panel {
        padding: 28px 16px;
    }

    .ctus .radio-options {
        flex-direction: column;
    }

    .ctus .submit-btn {
        padding: 16px 28px;
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #F7F8F5;
    padding: 56px 28px;
}

.success-page .success-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
    padding: 56px;
    max-width: 640px;
    width: 100%;
    text-align: center;
}

.success-page .success-card .icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 48px;
    background: #B9D3B0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
}

.success-page .success-card .icon-wrap svg {
    display: block;
}

.success-page .success-card .success-heading {
    font-size: 36px;
    line-height: 1.2;
    color: #2b2b2b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 16px;
}

.success-page .success-card .success-body {
    font-size: 17px;
    line-height: 1.8;
    color: #3a3a3a;
    margin: 0 0 28px;
}

.success-page .success-card .success-note {
    font-size: 15px;
    line-height: 1.8;
    color: #5a5a5a;
    background: #F7F8F5;
    border-radius: 8px;
    padding: 16px 28px;
    margin: 0 0 28px;
}

.success-page .success-card .divider-line {
    height: 1px;
    background: #B9D3B0;
    margin: 0 0 28px;
    border: none;
}

.success-page .success-card .contact-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 28px;
}

.success-page .success-card .contact-item {
    font-size: 15px;
    line-height: 1.2;
    color: #3a3a3a;
    text-decoration: none;
    border-radius: 8px;
    padding: 8px 16px;
    border: 1px solid #B9D3B0;
    transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.2s ease-in-out;
}

.success-page .success-card .contact-item:hover {
    background-color: #B9D3B0;
    color: #2b2b2b;
}

.success-page .success-card .btn-home {
    display: inline-block;
    background: #968A51;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.2;
    padding: 16px 56px;
    border-radius: 8px;
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: background-color 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.success-page .success-card .btn-home:hover {
    background: #7a7042;
}

.success-page .success-card .btn-home:focus {
    outline: 2px solid #968A51;
    outline-offset: 4px;
}

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

    .success-page .success-card {
        padding: 28px 16px;
    }

    .success-page .success-card .success-heading {
        font-size: 26px;
    }

    .success-page .success-card .contact-row {
        flex-direction: column;
        align-items: center;
    }
}

.notfound-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #F7F8F5;
    padding: 56px 28px;
}

.notfound-page .error-wrap {
    max-width: 1600px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;
    justify-content: center;
}

.notfound-page .error-code-block {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #968A51;
    border-radius: 8px;
    padding: 56px 56px;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.notfound-page .error-code-block .code-num {
    font-size: 68px;
    line-height: 1.2;
    color: #F7F8F5;
    font-weight: 700;
    letter-spacing: 4px;
}

.notfound-page .error-code-block .code-label {
    font-size: 15px;
    line-height: 1.8;
    color: #B9D3B0;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-top: 8px;
}

.notfound-page .error-content {
    flex: 1 1 auto;
    max-width: 540px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.notfound-page .error-content .error-heading {
    font-size: 36px;
    line-height: 1.2;
    color: #2a2318;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.notfound-page .error-content .error-sub {
    font-size: 17px;
    line-height: 1.8;
    color: #3d3520;
    margin: 0;
}

.notfound-page .error-content .error-detail {
    font-size: 15px;
    line-height: 1.8;
    color: #5a5038;
    margin: 0;
}

.notfound-page .error-content .nav-list {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.notfound-page .error-content .nav-list li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.notfound-page .error-content .nav-list .nav-dot {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: #968A51;
    flex-shrink: 0;
}

.notfound-page .error-content .nav-list a {
    font-size: 15px;
    line-height: 1.8;
    color: #968A51;
    text-decoration: none;
    border-bottom: 1px solid rgba(150, 138, 81, 0.3);
    transition: color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.2s ease-in-out;
}

.notfound-page .error-content .nav-list a:hover {
    color: #2a2318;
    border-color: #2a2318;
}

.notfound-page .error-content .nav-list a:focus {
    outline: 2px solid #968A51;
    outline-offset: 2px;
    border-radius: 8px;
}

.notfound-page .error-content .btn-home {
    display: inline-block;
    align-self: flex-start;
    margin-top: 8px;
    padding: 16px 28px;
    background: #2a2318;
    color: #F7F8F5;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 8px;
    border: none;
    box-shadow: 2px 5px 18px 1px rgba(150, 138, 81, 0.08);
    transition: background 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.18s ease-in-out;
}

.notfound-page .error-content .btn-home:hover {
    background: #968A51;
    box-shadow: 2px 8px 60px 1px rgba(150, 138, 81, 0.14);
}

.notfound-page .error-content .btn-home:focus {
    outline: 2px solid #968A51;
    outline-offset: 3px;
}

.notfound-page .divider-accent {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #B9D3B0, #968A51);
    border-radius: 8px;
    margin: 0;
}

@media (max-width: 992px) {
    .notfound-page .error-wrap {
        flex-direction: column;
        gap: 28px;
        align-items: flex-start;
    }

    .notfound-page .error-code-block {
        padding: 28px 56px;
        align-self: flex-start;
    }

    .notfound-page .error-code-block .code-num {
        font-size: 50px;
    }
}

@media (max-width: 576px) {
    .notfound-page {
        padding: 28px 16px;
    }

    .notfound-page .error-code-block {
        padding: 28px 28px;
        align-self: stretch;
        align-items: flex-start;
    }

    .notfound-page .error-content .error-heading {
        font-size: 26px;
    }

    .notfound-page .error-content .btn-home {
        align-self: stretch;
        text-align: center;
    }
}