* {
    box-sizing: border-box
}

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Roboto', sans-serif
}

body:focus-visible {
    outline: 2px dashed #272E48
}

:focus-visible {
    outline: 2px dashed #272E48;
    outline-offset: 3px
}

.page-header {
    position: relative;
    background-color: #272E48;
    z-index: 10
}

.page-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1024px;
    margin: 0 auto;
    padding: 16px 32px;
    gap: 32px
}

.brand-mark {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: -1px 1px 3px 0 #fbf14e14 -1px 4px 14px 0 #fbf14e14 -1px 9px 36px 0 #fbf14e21;
    background-color: #FFF8F9;
    padding: 8px
}

.brand-mark img {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain
}

.header-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1
}

.header-label-name {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    color: #FBF14E;
    letter-spacing: .04em;
    text-transform: uppercase
}

.header-label-tagline {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .72
}

.primary-navigation {
    background-color: #1e2438;
    border-top: 1px solid #fbf14e24
}

.primary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 32px;
    gap: 4px
}

.primary-navigation ul li a {
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #FFF8F9;
    text-decoration: none;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1), background-color .45s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap
}

.primary-navigation ul li a:hover {
    color: #FBF14E;
    border-color: #fbf14e52;
    background-color: #fbf14e0f
}

.primary-navigation ul li a[aria-current="page"] {
    color: #FBF14E;
    font-weight: 700
}

.page-footer {
    background-color: #272E48;
    color: #FFF8F9
}

.page-footer-body {
    max-width: 1024px;
    margin: 0 auto;
    padding: 64px 32px 32px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px 64px
}

.footer-about {
    grid-column: 1 / 3
}

.footer-about-name {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    color: #FBF14E;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 16px
}

.footer-about-description {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .8;
    margin: 0 0 16px
}

.footer-about-mission {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .6;
    margin: 0;
    font-style: italic
}

.footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.footer-contact-heading {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    color: #FBF14E;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0
}

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

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .8
}

.footer-contact-list li i {
    color: #FBF14E;
    margin-top: 3px;
    flex-shrink: 0;
    font-size: 14px
}

.footer-contact-list li a {
    color: #FFF8F9;
    text-decoration: none;
    opacity: .8;
    transition: opacity .4s ease-in-out, color .4s ease-in-out
}

.footer-contact-list li a:hover {
    opacity: 1;
    color: #FBF14E
}

.footer-bottom {
    border-top: 1px solid #fff8f91f;
    max-width: 1024px;
    margin: 0 auto;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.footer-bottom-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px
}

.footer-bottom-links li a {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    text-decoration: none;
    opacity: .55;
    transition: opacity .38s ease-in-out
}

.footer-bottom-links li a:hover {
    opacity: 1
}

.footer-copyright {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .45;
    margin: 0
}

.footer-logo-row {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 32px 32px;
    display: flex;
    justify-content: flex-start
}

.footer-logo-container {
    border-radius: 12px;
    background-color: #FFF8F9;
    padding: 8px;
    box-shadow: -1px 1px 3px 0 #fbf14e14 -1px 4px 14px 0 #fbf14e21 -1px 9px 36px 0 #fbf14e21;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.footer-logo-container img {
    display: block;
    width: 50px;
    height: 50px;
    object-fit: contain
}

.cookie-notice {
    position: fixed;
    bottom: 32px;
    left: 32px;
    z-index: 1000;
    background-color: #FFF8F9;
    border-radius: 12px;
    box-shadow: -1px 1px 3px 0 #272e4814 -1px 4px 14px 0 #272e4814 -1px 9px 36px 0 #272e4821;
    padding: 32px;
    max-width: 340px;
    width: calc(100vw - 64px)
}

.cookie-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background-color: #272E48;
    margin-bottom: 16px
}

.cookie-notice-icon i {
    color: #FBF14E;
    font-size: 20px
}

.cookie-notice-text {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 16px
}

.cookie-notice-text a {
    color: #272E48;
    text-decoration: underline;
    font-weight: 700
}

.cookie-notice-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.cookie-accept-button {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    color: #272E48;
    background: transparent;
    border: 1px solid #272E48;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    position: relative;
    transition: background-color .42s cubic-bezier(0.16, 1, 0.3, 1), color .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
    min-height: 44px
}

.cookie-accept-button:hover {
    background-color: #272E48;
    color: #FBF14E;
    box-shadow: 0 0 0 2px #272E48, 0 0 0 4px #272e482e
}

.cookie-accept-button:focus-visible {
    outline: 2px dashed #272E48;
    outline-offset: 3px
}

.cookie-decline-button {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    color: #272E48;
    background: transparent;
    border: 1px solid #272e4859;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1), color .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
    min-height: 44px
}

.cookie-decline-button:hover {
    border-color: #272E48;
    box-shadow: 0 0 0 2px #272E48, 0 0 0 4px #272e481a
}

.cookie-decline-button:focus-visible {
    outline: 2px dashed #272E48;
    outline-offset: 3px
}

@media (max-width: 992px) {
    .page-footer-body {
        grid-template-columns: 1fr 1fr
    }

    .footer-about {
        grid-column: 1 / 3
    }
}

@media (max-width: 576px) {
    .page-header-top {
        padding: 16px;
        gap: 16px
    }

    .primary-navigation ul {
        padding: 0 16px
    }

    .primary-navigation ul li a {
        padding: 16px 8px;
        font-size: 14px
    }

    .page-footer-body {
        grid-template-columns: 1fr;
        padding: 32px 16px 16px
    }

    .footer-about {
        grid-column: 1 / 2
    }

    .footer-bottom {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start
    }

    .footer-logo-row {
        padding: 0 16px 16px
    }

    .cookie-notice {
        left: 16px;
        bottom: 16px;
        max-width: calc(100vw - 32px);
        width: calc(100vw - 32px);
        padding: 16px
    }
}

.jqz-policy-region {
    max-width: 1024px;
    margin: 0 auto;
    padding: 64px 32px;
    color: #272E48;
    line-height: 1.55;
    font-size: 20px
}

.jqz-policy-region h1 {
    font-size: 50px;
    line-height: 1.1;
    color: #272E48;
    margin-bottom: 32px;
    margin-top: 0
}

.jqz-policy-region h2 {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin-top: 64px;
    margin-bottom: 16px
}

.jqz-policy-region h3 {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 8px
}

.jqz-policy-region h4,
.jqz-policy-region h5,
.jqz-policy-region h6 {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 600;
    margin-top: 32px;
    margin-bottom: 8px
}

.jqz-policy-region ul,
.jqz-policy-region ol {
    padding-left: 32px;
    margin-top: 16px;
    margin-bottom: 16px
}

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

.jqz-policy-region ul li {
    padding-left: 32px;
    position: relative
}

.jqz-policy-region ul li::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 13px;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #FBF14E;
    outline: 2px solid #272E48
}

.jqz-policy-region ol {
    list-style: decimal
}

.jqz-policy-region li {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin-bottom: 8px
}

.jqz-policy-region li:last-child {
    margin-bottom: 0
}

.jqz-policy-region strong,
.jqz-policy-region b {
    font-weight: 700;
    color: #272E48
}

.jqz-policy-region em,
.jqz-policy-region i {
    font-style: italic;
    color: #272E48
}

.jqz-policy-region a {
    color: #272E48;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #FBF14E;
    text-decoration-thickness: 2px;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.jqz-policy-region a:hover {
    color: #272E48;
    text-decoration-color: #272E48
}

.jqz-policy-region hr {
    border: none;
    border-top: 2px solid #FBF14E;
    margin-top: 64px;
    margin-bottom: 64px;
    opacity: 1
}

@media (max-width: 992px) {
    .jqz-policy-region {
        padding: 64px 32px;
        font-size: 20px
    }

    .jqz-policy-region h1 {
        font-size: 36px
    }

    .jqz-policy-region h2 {
        font-size: 36px;
        margin-top: 64px
    }
}

@media (max-width: 576px) {
    .jqz-policy-region {
        padding: 32px 16px;
        font-size: 14px
    }

    .jqz-policy-region h1 {
        font-size: 36px;
        margin-bottom: 16px
    }

    .jqz-policy-region h2 {
        font-size: 20px;
        margin-top: 32px;
        margin-bottom: 8px
    }

    .jqz-policy-region h3,
    .jqz-policy-region h4,
    .jqz-policy-region h5,
    .jqz-policy-region h6 {
        font-size: 14px;
        margin-top: 16px
    }

    .jqz-policy-region li {
        font-size: 14px
    }

    .jqz-policy-region ul li::before {
        top: 9px
    }

    .jqz-policy-region hr {
        margin-top: 32px;
        margin-bottom: 32px
    }
}

.speaking-detail {
    background: #FFF8F9;
    overflow-x: clip
}

.speaking-detail *,
.speaking-detail ::before,
.speaking-detail ::after {
    box-sizing: border-box
}

::selection {
    background: #272E48;
    color: #FFF8F9
}

.speaking-detail .article-hero {
    position: relative;
    width: 100%;
    padding: 64px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #272E48
}

.speaking-detail .article-hero-image-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden
}

.speaking-detail .article-hero-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: translateY(0);
    will-change: transform
}

.speaking-detail .article-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(173deg, #272E48 38%, #272e488c 100%)
}

.speaking-detail .article-hero-geo {
    position: absolute;
    top: 32px;
    right: 64px;
    width: 120px;
    height: 120px;
    border: 2px solid #fbf14e1f;
    border-radius: 20px;
    transform: rotate(18deg);
    pointer-events: none
}

.speaking-detail .article-hero-geo-small {
    position: absolute;
    bottom: 48px;
    right: 160px;
    width: 56px;
    height: 56px;
    border: 2px solid #fbf14e14;
    border-radius: 12px;
    transform: rotate(-10deg);
    pointer-events: none
}

.speaking-detail .article-hero-body {
    position: relative;
    z-index: 1;
    max-width: 1024px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center
}

.speaking-detail .article-tag-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center
}

.speaking-detail .article-tag {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    background: #FBF14E;
    padding: 4px 16px;
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase
}

.speaking-detail .article-category-tag {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    background: transparent;
    border: 1px solid #fbf14e66;
    padding: 4px 16px;
    border-radius: 6px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.speaking-detail .article-hero-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    max-width: 800px
}

.speaking-detail .article-hero-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center
}

.speaking-detail .article-meta-item {
    font-size: 14px;
    line-height: 1.55;
    color: #fff8f9a6;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.speaking-detail .article-meta-item i {
    color: #FBF14E;
    font-size: 14px
}

.speaking-detail .article-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    text-decoration: none;
    border: 1px solid #FBF14E;
    padding: 8px 32px;
    border-radius: 6px;
    background: transparent;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative
}

.speaking-detail .article-hero-link::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #FBF14E;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .article-hero-link:hover {
    background: #FBF14E;
    color: #272E48
}

.speaking-detail .article-hero-link:hover::after {
    opacity: 1
}

.speaking-detail .article-divider-svg {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #272E48
}

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

.speaking-detail .article-body-section {
    padding: 64px 32px;
    background: #FFF8F9
}

.speaking-detail .article-body-grid {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 64px;
    align-items: start
}

.speaking-detail .article-text-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.speaking-detail .article-text-col .article-body-text {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48
}

.speaking-detail .article-text-col .article-body-text p {
    margin: 0 0 16px;
    font-size: 20px;
    line-height: 1.55;
    color: #272E48
}

.speaking-detail .article-text-col .article-body-text h2 {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 32px 0 16px;
    padding-bottom: 8px;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px
}

.speaking-detail .article-text-col .article-body-text h4 {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 16px 0 8px;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #272e484d;
    text-underline-offset: 4px
}

.speaking-detail .article-text-col .article-body-text strong {
    color: #272E48;
    font-weight: 700
}

.speaking-detail .article-text-col .article-body-text ol {
    padding-left: 32px;
    margin: 16px 0
}

.speaking-detail .article-text-col .article-body-text li {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin-bottom: 8px
}

.speaking-detail .article-text-col .article-body-text details {
    border: 1px solid #272e4826;
    border-radius: 12px;
    padding: 16px;
    margin: 16px 0;
    background: #fff
}

.speaking-detail .article-text-col .article-body-text summary {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px
}

.speaking-detail .article-text-col .article-body-text summary::-webkit-details-marker {
    display: none
}

.speaking-detail .article-sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px
}

.speaking-detail .sidebar-card {
    background: #fff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    position: relative
}

.speaking-detail .sidebar-card::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 16px;
    height: 16px;
    border-top: 2px solid #FBF14E;
    border-left: 2px solid #FBF14E;
    border-radius: 6px 0 0 0
}

.speaking-detail .sidebar-card::after {
    content: '';
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 16px;
    height: 16px;
    border-bottom: 2px solid #FBF14E;
    border-right: 2px solid #FBF14E;
    border-radius: 0 0 6px 0
}

.speaking-detail .sidebar-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 16px
}

.speaking-detail .sidebar-stat {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 8px
}

.speaking-detail .sidebar-stat-number {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 800
}

.speaking-detail .sidebar-stat-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272e4899
}

.speaking-detail .sidebar-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    text-decoration: none;
    border: 1px solid #272E48;
    padding: 8px 16px;
    border-radius: 6px;
    background: transparent;
    transition: background .4s cubic-bezier(0.16, 1, 0.3, 1), color .4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    width: 100%;
    justify-content: center;
    margin-top: 8px
}

.speaking-detail .sidebar-link::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #272E48;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .sidebar-link:hover {
    background: #272E48;
    color: #FFF8F9
}

.speaking-detail .sidebar-link:hover::after {
    opacity: 1
}

.speaking-detail .sidebar-link:hover i {
    color: #FBF14E
}

.speaking-detail .sidebar-link i {
    transition: color .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .sidebar-tag-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.speaking-detail .sidebar-tag {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    background: #fbf14e40;
    padding: 4px 12px;
    border-radius: 6px
}

.speaking-detail .article-cta-section {
    padding: 64px 32px;
    background: #272E48;
    position: relative;
    overflow: hidden
}

.speaking-detail .article-cta-section .cta-geo-one {
    position: absolute;
    top: -32px;
    left: -32px;
    width: 200px;
    height: 200px;
    border: 2px solid #fbf14e12;
    border-radius: 48px;
    transform: rotate(22deg);
    pointer-events: none
}

.speaking-detail .article-cta-section .cta-geo-two {
    position: absolute;
    bottom: -48px;
    right: -16px;
    width: 160px;
    height: 160px;
    border: 2px solid #fbf14e0f;
    border-radius: 36px;
    transform: rotate(-14deg);
    pointer-events: none
}

.speaking-detail .article-cta-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1
}

.speaking-detail .cta-text-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.speaking-detail .cta-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px
}

.speaking-detail .cta-subtext {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9b3;
    margin: 0
}

.speaking-detail .cta-buttons {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.speaking-detail .cta-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    background: #FBF14E;
    border: 1px solid #FBF14E;
    padding: 8px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    transition: background .5s cubic-bezier(0.16, 1, 0.3, 1), color .5s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative
}

.speaking-detail .cta-btn-primary::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #272e484d;
    border-radius: 10px;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .cta-btn-primary:hover {
    background: transparent;
    color: #FBF14E
}

.speaking-detail .cta-btn-primary:hover::after {
    opacity: 1;
    border-color: #fbf14e66
}

.speaking-detail .cta-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    background: transparent;
    border: 1px solid #fff8f966;
    padding: 8px 32px;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color .45s ease-in-out, background .45s ease-in-out;
    position: relative
}

.speaking-detail .cta-btn-secondary::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #fff8f933;
    border-radius: 10px;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .cta-btn-secondary:hover {
    border-color: #FFF8F9;
    background: #fff8f912
}

.speaking-detail .cta-btn-secondary:hover::after {
    opacity: 1
}

.speaking-detail .article-print-section {
    padding: 32px;
    background: #fff;
    border-top: 1px solid #272e4814
}

.speaking-detail .article-print-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.speaking-detail .print-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272e4899
}

.speaking-detail .print-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    background: transparent;
    border: 1px solid #272E48;
    padding: 8px 32px;
    border-radius: 6px;
    cursor: pointer;
    transition: background .4s cubic-bezier(0.16, 1, 0.3, 1), color .4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative
}

.speaking-detail .print-btn::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #272E48;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-detail .print-btn:hover {
    background: #272E48;
    color: #FFF8F9
}

.speaking-detail .print-btn:hover::after {
    opacity: 1;
    border-color: #fff8f94d
}

@keyframes bounce-in {
    0% {
        opacity: 0;
        transform: translateY(24px) scale(0.97)
    }

    60% {
        opacity: 1;
        transform: translateY(-6px) scale(1.01)
    }

    80% {
        transform: translateY(3px) scale(0.99)
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1)
    }
}

.speaking-detail .article-hero-body {
    animation: bounce-in .55s cubic-bezier(0.16, 1, 0.3, 1) both
}

@media (max-width: 992px) {
    .speaking-detail .article-body-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .speaking-detail .article-sidebar {
        position: static;
        flex-direction: row;
        flex-wrap: wrap
    }

    .speaking-detail .sidebar-card {
        flex: 1 1 240px
    }

    .speaking-detail .article-hero-heading {
        font-size: 36px
    }

    .speaking-detail .article-cta-inner {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 576px) {
    .speaking-detail .article-hero {
        padding: 64px 16px
    }

    .speaking-detail .article-hero-heading {
        font-size: 36px
    }

    .speaking-detail .article-body-section {
        padding: 64px 16px
    }

    .speaking-detail .article-cta-section {
        padding: 64px 16px
    }

    .speaking-detail .article-print-section {
        padding: 32px 16px
    }

    .speaking-detail .cta-heading {
        font-size: 36px
    }

    .speaking-detail .cta-buttons {
        flex-direction: column;
        width: 100%
    }

    .speaking-detail .cta-btn-primary,
    .speaking-detail .cta-btn-secondary {
        justify-content: center
    }

    .speaking-detail .article-hero-geo {
        display: none
    }
}

@media print {

    .speaking-detail .article-hero-image-wrap,
    .speaking-detail .article-hero-geo,
    .speaking-detail .article-hero-geo-small,
    .speaking-detail .article-hero-overlay,
    .speaking-detail .article-divider-svg,
    .speaking-detail .article-cta-section,
    .speaking-detail .article-print-section,
    .speaking-detail .article-sidebar,
    .speaking-detail .cta-geo-one,
    .speaking-detail .cta-geo-two {
        display: none !important
    }

    .speaking-detail .article-hero {
        background: #fff !important;
        padding: 16px 0 !important
    }

    .speaking-detail .article-hero-heading {
        color: #000 !important;
        font-size: 36px !important
    }

    .speaking-detail .article-tag {
        background: #eee !important;
        color: #000 !important
    }

    .speaking-detail .article-category-tag {
        border-color: #999 !important;
        color: #000 !important
    }

    .speaking-detail .article-meta-item {
        color: #444 !important
    }

    .speaking-detail .article-meta-item i {
        color: #000 !important
    }

    .speaking-detail .article-hero-link {
        display: none !important
    }

    .speaking-detail .article-body-section {
        padding: 16px 0 !important;
        background: #fff !important
    }

    .speaking-detail .article-body-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important
    }

    .speaking-detail .article-text-col .article-body-text p,
    .speaking-detail .article-text-col .article-body-text li {
        font-size: 14px !important;
        color: #000 !important
    }

    .speaking-detail .article-text-col .article-body-text h2 {
        font-size: 20px !important;
        color: #000 !important;
        text-decoration: none !important
    }

    .speaking-detail .article-text-col .article-body-text h4 {
        font-size: 14px !important;
        color: #000 !important;
        text-decoration: none !important
    }

    .speaking-detail .article-text-col .article-body-text details {
        border: 1px solid #ccc !important;
        background: #fff !important
    }

    .speaking-detail .article-text-col .article-body-text summary {
        font-size: 14px !important;
        color: #000 !important
    }

    * {
        box-shadow: none !important
    }
}

.prime {
    background: #FFF8F9;
    overflow-x: clip;
    position: relative
}

.prime ::selection {
    background: #272E48;
    color: #FFF8F9
}

.prime .prime-limiter {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px
}

.prime .opening-band {
    position: relative;
    padding-top: 96px;
    padding-bottom: 96px;
    background: #272E48;
    text-align: center;
    overflow: hidden
}

.prime .opening-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(./visual_gallery/draft-module2.jpg) center/cover no-repeat;
    opacity: .18;
    pointer-events: none
}

.prime .opening-band::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #FBF14E;
    pointer-events: none
}

.prime .opening-edge-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    box-shadow: 0 0 60px 0 #fbf14e14 inset 0 0 80px 0 #fbf14e0a;
    animation: edge-glow-pulse 4s ease-in-out infinite
}

@keyframes edge-glow-pulse {

    0%,
    100% {
        opacity: .5
    }

    50% {
        opacity: 1
    }
}

.prime .opening-centered {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.prime .opening-label {
    display: inline-block;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #FBF14E;
    border: 1px solid #fbf14e59;
    border-radius: 6px;
    padding: 4px 16px
}

.prime .opening-heading {
    font-size: 66px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    max-width: 720px
}

.prime .opening-quote {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9b8;
    max-width: 520px;
    margin: 0
}

.prime .opening-concentric {
    position: absolute;
    top: 16px;
    right: 32px;
    pointer-events: none
}

.prime .opening-concentric svg {
    display: block
}

.prime .value-band {
    background: #FFF8F9;
    padding-top: 96px;
    padding-bottom: 64px;
    position: relative
}

.prime .value-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(173deg, #272E48 0%, #FBF14E 100%);
    opacity: .03;
    pointer-events: none
}

.prime .value-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 64px
}

.prime .value-divider svg {
    display: block
}

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

.prime .value-accent-column {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative
}

.prime .value-stat-circle {
    width: 72px;
    height: 72px;
    border-radius: 36px;
    background: #272E48;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 4px 14px 0 #272e4814
}

.prime .value-stat-number {
    font-size: 20px;
    line-height: 1.1;
    color: #FBF14E;
    font-weight: 700
}

.prime .value-stat-unit {
    font-size: 14px;
    line-height: 1.1;
    color: #fff8f9b3
}

.prime .value-image-frame {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 9px 36px 0 #272e4821;
    position: relative
}

.prime .value-image-frame img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block
}

.prime .value-image-frame::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(173deg, #272e482e 0%, #fbf14e14 100%);
    pointer-events: none
}

.prime .value-text-column {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prime .value-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px
}

.prime .value-paragraph {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0
}

.prime .value-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prime .value-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48
}

.prime .value-list-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: #FBF14E;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px
}

.prime .value-list-icon i {
    font-size: 14px;
    color: #272E48
}

.prime .support-band {
    background: #272E48;
    padding-top: 64px;
    padding-bottom: 96px;
    position: relative;
    overflow: hidden
}

.prime .support-band-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    animation: edge-glow-pulse 5.5s ease-in-out infinite;
    box-shadow: 0 0 80px 0 #fbf14e0f inset 0 0 60px 0 #fbf14e08
}

.prime .support-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 64px
}

.prime .support-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start
}

.prime .support-text-area {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prime .support-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px
}

.prime .support-paragraph {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9cc;
    margin: 0
}

.prime .support-cards {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prime .support-card {
    background: #fff8f90f;
    border: 1px solid #fff8f91a;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden
}

.prime .support-card:hover {
    background: #fbf14e14;
    border-color: #fbf14e4d
}

.prime .support-card-label {
    position: absolute;
    top: 0;
    left: -120px;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 16px;
    background: #FBF14E;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 700;
    border-radius: 0 6px 6px 0;
    transition: left .5s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
    pointer-events: none
}

.prime .support-card:hover .support-card-label {
    left: 0
}

.prime .support-card-number {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background: #FBF14E;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 700
}

.prime .support-card-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prime .support-card-title {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    font-weight: 700;
    margin: 0
}

.prime .support-card-text {
    font-size: 14px;
    line-height: 1.55;
    color: #fff8f9a6;
    margin: 0
}

.prime .support-image-frame {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: -1px 9px 36px 0 #272e4821;
    margin-top: 16px
}

.prime .support-image-frame img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    display: block
}

.prime .community-band {
    background: #FFF8F9;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.prime .community-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 64px
}

.prime .community-layout {
    display: grid;
    grid-template-columns: 1fr 30%;
    gap: 64px;
    align-items: start
}

.prime .community-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prime .community-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px
}

.prime .community-paragraph {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0
}

.prime .community-portraits {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prime .community-portrait-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 32px;
    background: #FFF8F9;
    border-radius: 20px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    border: 1px solid #272e4814;
    transition: box-shadow .4s ease-in-out, transform .4s ease-in-out
}

.prime .community-portrait-card:hover {
    box-shadow: -1px 9px 36px 0 #272e4821;
    transform: translateY(-2px)
}

.prime .community-portrait-img {
    width: 72px;
    height: 72px;
    border-radius: 36px;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0;
    box-shadow: -1px 1px 3px 0 #272e4814
}

.prime .community-portrait-info {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prime .community-portrait-name {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 700;
    margin: 0
}

.prime .community-portrait-role {
    font-size: 14px;
    line-height: 1.55;
    color: #272e4899;
    margin: 0
}

.prime .community-portrait-quote {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    margin: 0
}

.prime .community-right {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prime .community-image-stack {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prime .community-img-top {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 4px 14px 0 #272e4814
}

.prime .community-img-top img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    display: block
}

.prime .community-img-bottom {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 4px 14px 0 #272e4814
}

.prime .community-img-bottom img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    display: block
}

.prime .community-concentric {
    position: absolute;
    bottom: 32px;
    left: 32px;
    pointer-events: none
}

@media (max-width: 992px) {
    .prime .opening-heading {
        font-size: 50px
    }

    .prime .value-split {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prime .value-accent-column {
        flex-direction: row;
        align-items: center
    }

    .prime .support-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prime .community-layout {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prime .community-right {
        flex-direction: row
    }

    .prime .community-img-top,
    .prime .community-img-bottom {
        flex: 1
    }
}

@media (max-width: 576px) {
    .prime .opening-heading {
        font-size: 36px
    }

    .prime .opening-band {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .prime .value-band,
    .prime .community-band {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .prime .support-band {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .prime .prime-limiter {
        padding-left: 16px;
        padding-right: 16px
    }

    .prime .community-right {
        flex-direction: column
    }

    .prime .support-card-label {
        display: none
    }

    .prime .community-portrait-card {
        flex-direction: column
    }
}

.why-choose-us-page {
    background: #FFF8F9;
    overflow-x: clip
}

.why-choose-us-page .split-panel {
    display: flex;
    flex-direction: row;
    min-height: 480px;
    position: relative
}

.why-choose-us-page .split-panel .image-half {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden
}

.why-choose-us-page .split-panel .image-half img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.why-choose-us-page .split-panel .image-half .gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 30%, #FFF8F9 100%);
    pointer-events: none
}

.why-choose-us-page .split-panel .text-half {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 64px 64px 32px;
    position: relative
}

.why-choose-us-page .split-panel .dots-path {
    position: absolute;
    bottom: 32px;
    left: 32px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    pointer-events: none
}

.why-choose-us-page .split-panel .dots-path span {
    width: 6px;
    height: 6px;
    border-radius: 48px;
    background: #272E48;
    opacity: .18;
    display: block
}

.why-choose-us-page .split-panel .dots-path span:nth-child(2) {
    opacity: .28
}

.why-choose-us-page .split-panel .dots-path span:nth-child(3) {
    opacity: .4
}

.why-choose-us-page .split-panel .dots-path span:nth-child(4) {
    opacity: .55
}

.why-choose-us-page .split-panel .dots-path span:nth-child(5) {
    opacity: .72
}

.why-choose-us-page .panel-label {
    display: inline-flex;
    align-items: center;
    background: #FBF14E;
    color: #272E48;
    font-size: 14px;
    line-height: 1.55;
    padding: 4px 16px;
    border-radius: 36px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 16px;
    width: fit-content
}

.why-choose-us-page .panel-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #272E48;
    margin: 0 0 16px
}

.why-choose-us-page .panel-body {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 8px;
    max-width: 440px
}

.why-choose-us-page .diagonal-bg {
    position: relative;
    background: linear-gradient(173deg, #272E48 0%, #FBF14E 100%);
    padding: 96px 0 64px;
    overflow: hidden
}

.why-choose-us-page .diagonal-bg .bg-lines {
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    overflow: hidden
}

.why-choose-us-page .diagonal-bg .bg-lines::before,
.why-choose-us-page .diagonal-bg .bg-lines::after {
    content: '';
    position: absolute;
    right: 32px;
    top: 32px;
    width: 100px;
    height: 1px;
    background: #fbf14e59;
    transform-origin: right center
}

.why-choose-us-page .diagonal-bg .bg-lines::before {
    transform: rotate(-20deg) translateY(-16px)
}

.why-choose-us-page .diagonal-bg .bg-lines::after {
    transform: rotate(-20deg) translateY(0px)
}

.why-choose-us-page .diagonal-bg .extra-line {
    position: absolute;
    right: 32px;
    top: 32px;
    width: 100px;
    height: 1px;
    background: #fbf14e38;
    transform: rotate(-20deg) translateY(16px);
    pointer-events: none
}

.why-choose-us-page .wave-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-bottom: -2px
}

.why-choose-us-page .wave-divider svg {
    display: block;
    width: 100%
}

.why-choose-us-page .reasons-grid-area {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 32px
}

.why-choose-us-page .reasons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    margin-top: 64px
}

.why-choose-us-page .reason-card {
    background: #FFF8F9;
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    position: relative;
    transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.why-choose-us-page .reason-card:hover {
    box-shadow: -1px 9px 36px 0 #272e4821;
    transform: translateY(-4px)
}

.why-choose-us-page .reason-card .card-icon {
    width: 44px;
    height: 44px;
    background: #FBF14E;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    flex-shrink: 0
}

.why-choose-us-page .reason-card .card-icon i {
    font-size: 20px;
    color: #272E48
}

.why-choose-us-page .reason-card .card-heading {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 4px
}

.why-choose-us-page .reason-card .card-text {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    margin: 0;
    opacity: .82
}

.why-choose-us-page .section-label-light {
    display: inline-flex;
    align-items: center;
    background: #fbf14e2e;
    border: 1px solid #fbf14e8c;
    color: #FBF14E;
    font-size: 14px;
    line-height: 1.55;
    padding: 4px 16px;
    border-radius: 36px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 16px;
    width: fit-content
}

.why-choose-us-page .section-heading-light {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0 0 8px
}

.why-choose-us-page .section-sub-light {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9c7;
    margin: 0;
    max-width: 520px
}

.why-choose-us-page .voices-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 64px;
    align-items: flex-start
}

.why-choose-us-page .voice-portrait-col {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 0 0 auto
}

.why-choose-us-page .voice-card {
    background: #fff8f91a;
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 auto;
    transition: background .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.why-choose-us-page .voice-card:hover {
    background: #fff8f929
}

.why-choose-us-page .voice-card .voice-quote {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    margin: 0;
    font-style: italic
}

.why-choose-us-page .voice-card .voice-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.why-choose-us-page .voice-card .voice-portrait {
    width: 56px;
    height: 56px;
    border-radius: 48px;
    object-fit: cover;
    object-position: top;
    flex-shrink: 0;
    box-shadow: -1px 4px 14px 0 #272e4821
}

.why-choose-us-page .voice-card .voice-name {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    font-weight: 700;
    margin: 0
}

.why-choose-us-page .voice-card .voice-role {
    font-size: 14px;
    line-height: 1.55;
    color: #fff8f9a6;
    margin: 0
}

.why-choose-us-page .no-portrait-voice {
    background: #fff8f91a;
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.why-choose-us-page .no-portrait-voice:hover {
    background: #fff8f929
}

.why-choose-us-page .no-portrait-voice .voice-quote {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    margin: 0;
    font-style: italic
}

.why-choose-us-page .no-portrait-voice .voice-name {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    font-weight: 700;
    margin: 0
}

.why-choose-us-page .no-portrait-voice .voice-role {
    font-size: 14px;
    line-height: 1.55;
    color: #fff8f9a6;
    margin: 0
}

.why-choose-us-page .voices-stack {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1 1 auto
}

.why-choose-us-page .flicker-dot {
    position: absolute;
    border-radius: 48px;
    pointer-events: none;
    animation: flicker-burst 4s ease-in-out infinite
}

.why-choose-us-page .flicker-dot.fd-a {
    width: 12px;
    height: 12px;
    background: #FBF14E;
    opacity: 0;
    bottom: 96px;
    left: 10%;
    animation-delay: 0s
}

.why-choose-us-page .flicker-dot.fd-b {
    width: 8px;
    height: 8px;
    background: #FBF14E;
    opacity: 0;
    top: 64px;
    left: 30%;
    animation-delay: 1.4s
}

.why-choose-us-page .flicker-dot.fd-c {
    width: 10px;
    height: 10px;
    background: #FBF14E;
    opacity: 0;
    bottom: 64px;
    right: 15%;
    animation-delay: 2.7s
}

@keyframes flicker-burst {
    0% {
        opacity: 0
    }

    15% {
        opacity: .55
    }

    30% {
        opacity: .08
    }

    45% {
        opacity: .42
    }

    60% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@media (max-width: 992px) {
    .why-choose-us-page .split-panel {
        flex-direction: column
    }

    .why-choose-us-page .split-panel .image-half {
        flex: 0 0 auto;
        height: 280px
    }

    .why-choose-us-page .split-panel .image-half .gradient-overlay {
        background: linear-gradient(to bottom, transparent 40%, #FFF8F9 100%)
    }

    .why-choose-us-page .split-panel .text-half {
        flex: 0 0 auto;
        padding: 32px 32px 64px
    }

    .why-choose-us-page .reasons-grid {
        grid-template-columns: 1fr 1fr
    }

    .why-choose-us-page .voices-row {
        flex-direction: column
    }
}

@media (max-width: 576px) {
    .why-choose-us-page .panel-heading {
        font-size: 36px
    }

    .why-choose-us-page .split-panel .text-half {
        padding: 32px 16px 64px
    }

    .why-choose-us-page .reasons-grid {
        grid-template-columns: 1fr
    }

    .why-choose-us-page .reasons-grid-area {
        padding: 0 16px
    }

    .why-choose-us-page .diagonal-bg {
        padding: 64px 0
    }

    .why-choose-us-page .section-heading-light {
        font-size: 36px
    }
}

.speaking-page {
    background: #FFF8F9;
    overflow-x: clip
}

.speaking-page *,
.speaking-page ::before,
.speaking-page ::after {
    box-sizing: border-box
}

.speaking-page ::selection {
    background: #272E48;
    color: #FFF8F9
}

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

.speaking-page .diamond-divider span {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #272E48;
    transform: rotate(45deg);
    opacity: .18;
    flex-shrink: 0
}

.speaking-page .diamond-divider span:nth-child(3n+1) {
    opacity: .35
}

.speaking-page .diamond-divider span:nth-child(5n+2) {
    opacity: .12
}

.speaking-page .pill-label {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 36px;
    background: #FBF14E;
    color: #272E48;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 2
}

.speaking-page .hero-band {
    background: linear-gradient(173deg, #272E48 0%, #3a4466 40%, #FBF14E 100%);
    position: relative;
    padding: 96px 32px 64px;
    overflow: hidden
}

.speaking-page .hero-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
    opacity: .45;
    pointer-events: none
}

.speaking-page .hero-outlined-shape {
    position: absolute;
    right: -64px;
    top: 50%;
    transform: translateY(-50%);
    width: 420px;
    height: 420px;
    border: 2px solid #fbf14e26;
    border-radius: 48px;
    pointer-events: none
}

.speaking-page .hero-outlined-shape-2 {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%) rotate(20deg);
    width: 260px;
    height: 260px;
    border: 1px solid #fbf14e17;
    border-radius: 36px;
    pointer-events: none
}

.speaking-page .hero-inner {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.speaking-page .hero-eyebrow {
    margin-bottom: 16px
}

.speaking-page .hero-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0 0 16px;
    max-width: 640px;
    clip-path: inset(0 100% 0 0);
    animation: wipe-in .55s cubic-bezier(0.16, 1, 0.3, 1) .1s forwards
}

.speaking-page .hero-sub {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9bf;
    margin: 0;
    max-width: 480px
}

@keyframes wipe-in {
    to {
        clip-path: inset(0 0% 0 0)
    }
}

.speaking-page .posts-band {
    padding: 64px 32px;
    background: #FFF8F9
}

.speaking-page .posts-band-inner {
    max-width: 1024px;
    margin: 0 auto
}

.speaking-page .posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 32px
}

.speaking-page .post-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    display: flex;
    flex-direction: column;
    transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden
}

.speaking-page .post-card:hover {
    box-shadow: -1px 9px 36px 0 #272e4821;
    transform: translateY(-4px)
}

.speaking-page .post-image-wrap {
    position: relative;
    overflow: hidden;
    height: 200px;
    flex-shrink: 0
}

.speaking-page .post-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-page .post-card:hover .post-image-wrap img {
    transform: scale(1.04)
}

.speaking-page .post-image-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, #272e4873 100%);
    pointer-events: none
}

.speaking-page .post-tags {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    z-index: 1
}

.speaking-page .post-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 600;
    background: #FBF14E;
    color: #272E48
}

.speaking-page .post-tag.theme {
    background: #272E48;
    color: #FBF14E
}

.speaking-page .post-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px
}

.speaking-page .post-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #272E48;
    opacity: .55;
    line-height: 1.55
}

.speaking-page .post-meta i {
    font-size: 14px
}

.speaking-page .post-card-title {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 3px
}

.speaking-page .post-description {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .75;
    margin: 0;
    flex: 1
}

.speaking-page .post-read-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #272E48;
    text-decoration: none;
    padding: 8px 16px;
    border: 2px solid #272E48;
    border-radius: 6px;
    align-self: flex-start;
    margin-top: 8px;
    background: transparent;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative
}

.speaking-page .post-read-link::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #272E48;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-page .post-read-link:hover {
    background: #272E48;
    color: #FBF14E
}

.speaking-page .post-read-link:hover::after {
    opacity: .4;
    border-color: #FBF14E
}

.speaking-page .milestone-band {
    padding: 64px 32px;
    background: linear-gradient(173deg, #272E48 0%, #3a4466 100%);
    position: relative;
    overflow: hidden
}

.speaking-page .milestone-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300'%3E%3Cpath d='M0,150 Q150,50 300,150 T600,150' fill='none' stroke='#fbf14e0f' stroke-width='1'/%3E%3Cpath d='M0,180 Q150,80 300,180 T600,180' fill='none' stroke='#fbf14e0a' stroke-width='1'/%3E%3Cpath d='M0,120 Q150,20 300,120 T600,120' fill='none' stroke='#fbf14e0a' stroke-width='1'/%3E%3Cpath d='M0,200 Q150,100 300,200 T600,200' fill='none' stroke='#fbf14e08' stroke-width='1'/%3E%3Cpath d='M0,100 Q150,0 300,100 T600,100' fill='none' stroke='#fbf14e08' stroke-width='1'/%3E%3C/svg%3E");
    background-size: cover;
    pointer-events: none
}

.speaking-page .milestone-inner {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.speaking-page .milestone-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FBF14E;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #fbf14e4d;
    text-underline-offset: 5px
}

.speaking-page .milestone-sub {
    font-size: 14px;
    color: #fff8f999;
    margin: 0 0 64px;
    line-height: 1.55
}

.speaking-page .milestone-track {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: relative;
    gap: 0
}

.speaking-page .milestone-track::before {
    content: '';
    position: absolute;
    top: 28px;
    left: 28px;
    right: 28px;
    height: 2px;
    background: #fbf14e33
}

.speaking-page .milestone-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    position: relative
}

.speaking-page .milestone-icon {
    width: 56px;
    height: 56px;
    border-radius: 48px;
    background: #fbf14e1f;
    border: 2px solid #FBF14E;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FBF14E;
    font-size: 20px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-page .milestone-step:hover .milestone-icon {
    background: #fbf14e40
}

.speaking-page .milestone-date {
    font-size: 14px;
    color: #FBF14E;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .06em;
    text-transform: uppercase
}

.speaking-page .milestone-label {
    font-size: 14px;
    color: #fff8f9bf;
    line-height: 1.55;
    max-width: 120px
}

.speaking-page .featured-band {
    padding: 64px 32px;
    background: #FFF8F9;
    position: relative
}

.speaking-page .featured-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FBF14E 0%, #272E48 100%)
}

.speaking-page .featured-inner {
    max-width: 1024px;
    margin: 0 auto
}

.speaking-page .featured-label {
    margin-bottom: 32px
}

.speaking-page .featured-card {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    background: #272E48;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: -1px 9px 36px 0 #272e4821
}

.speaking-page .featured-text-area {
    padding: 64px 32px 64px 64px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center
}

.speaking-page .featured-eyebrow {
    font-size: 14px;
    color: #FBF14E;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 2
}

.speaking-page .featured-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #fbf14e66;
    text-underline-offset: 5px
}

.speaking-page .featured-text {
    font-size: 20px;
    line-height: 1.55;
    color: #fff8f9bf;
    margin: 0
}

.speaking-page .featured-text-small {
    font-size: 14px;
    line-height: 1.55;
    color: #fff8f98c;
    margin: 0
}

.speaking-page .featured-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #272E48;
    background: #FBF14E;
    text-decoration: none;
    padding: 8px 32px;
    border-radius: 6px;
    align-self: flex-start;
    margin-top: 8px;
    border: 2px solid #FBF14E;
    position: relative;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-page .featured-cta::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid #272e4840;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.speaking-page .featured-cta:hover {
    background: transparent;
    color: #FBF14E
}

.speaking-page .featured-cta:hover::after {
    opacity: 1;
    border-color: #fbf14e66
}

.speaking-page .featured-image-area {
    position: relative;
    overflow: hidden
}

.speaking-page .featured-image-area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.speaking-page .featured-image-area::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #272E48 0%, transparent 40%, #272e4880 100%);
    pointer-events: none
}

.speaking-page .about-band {
    padding: 64px 32px;
    background: linear-gradient(173deg, #FBF14E 0%, #FFF8F9 100%);
    position: relative;
    overflow: hidden
}

.speaking-page .about-outlined {
    position: absolute;
    left: -80px;
    bottom: -80px;
    width: 360px;
    height: 360px;
    border: 2px solid #272e481a;
    border-radius: 48px;
    transform: rotate(15deg);
    pointer-events: none
}

.speaking-page .about-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    position: relative;
    z-index: 1
}

.speaking-page .about-text-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.speaking-page .about-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #272e4840;
    text-underline-offset: 5px
}

.speaking-page .about-paragraph {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0;
    opacity: .85
}

.speaking-page .about-paragraph-small {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    margin: 0;
    opacity: .7
}

.speaking-page .about-stats-col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.speaking-page .about-stat {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.speaking-page .about-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #272E48;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FBF14E;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: -1px 4px 14px 0 #272e4814
}

.speaking-page .about-stat-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.speaking-page .about-stat-number {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 700
}

.speaking-page .about-stat-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .65
}

@media (max-width: 992px) {
    .speaking-page .posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .speaking-page .featured-card {
        grid-template-columns: 1fr
    }

    .speaking-page .featured-image-area {
        height: 260px;
        order: -1
    }

    .speaking-page .featured-text-area {
        padding: 32px
    }

    .speaking-page .about-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .speaking-page .milestone-track {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px
    }

    .speaking-page .milestone-track::before {
        top: 28px;
        left: 28px;
        right: auto;
        bottom: 28px;
        width: 2px;
        height: auto
    }

    .speaking-page .milestone-step {
        flex-direction: row;
        text-align: left;
        align-items: flex-start
    }

    .speaking-page .milestone-label {
        max-width: none
    }
}

@media (max-width: 576px) {
    .speaking-page .hero-heading {
        font-size: 36px
    }

    .speaking-page .posts-grid {
        grid-template-columns: 1fr
    }

    .speaking-page .hero-band {
        padding: 64px 16px 32px
    }

    .speaking-page .posts-band,
    .speaking-page .milestone-band,
    .speaking-page .featured-band,
    .speaking-page .about-band {
        padding: 64px 16px
    }

    .speaking-page .featured-text-area {
        padding: 32px 16px
    }
}

.about-us-page {
    background: #FFF8F9;
    overflow-x: clip
}

.about-us-page ::selection {
    background: #272E48;
    color: #FFF8F9
}

.about-us-page *,
.about-us-page ::before,
.about-us-page ::after {
    box-sizing: border-box
}

.about-us-page .letter-drop-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(-28px);
    animation: letter-drop .45s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

@keyframes letter-drop {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.about-us-page .title-strip {
    background: #272E48;
    padding: 64px 32px;
    position: relative
}

.about-us-page .title-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(173deg, #272E48 60%, #FBF14E 200%);
    opacity: .18;
    pointer-events: none
}

.about-us-page .title-strip-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px
}

.about-us-page .title-text-group {
    flex: 1;
    min-width: 0
}

.about-us-page .title-eyebrow {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    text-transform: uppercase;
    letter-spacing: .18em;
    margin: 0 0 16px
}

.about-us-page .title-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0 0 16px
}

.about-us-page .title-sub {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .78;
    margin: 0;
    max-width: 480px
}

.about-us-page .title-image-frame {
    flex-shrink: 0;
    width: 260px;
    height: 200px;
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.about-us-page .title-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.about-us-page .title-image-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(140deg, #272E48 0%, transparent 60%)
}

.about-us-page .title-accent-dot {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 64px;
    height: 64px;
    border-radius: 48px;
    background: #FBF14E;
    opacity: .09;
    pointer-events: none
}

.about-us-page .strip-divider {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0;
    align-items: center
}

.about-us-page .strip-divider span {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center
}

.about-us-page .strip-divider span i {
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background: #272E48;
    opacity: .25;
    display: inline-block
}

.about-us-page .about-split {
    padding: 96px 32px;
    background: #FFF8F9
}

.about-us-page .about-split-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    gap: 64px;
    align-items: start
}

.about-us-page .about-split-border {
    background: linear-gradient(173deg, #FBF14E, #272E48);
    border-radius: 6px;
    align-self: stretch
}

.about-us-page .about-left-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin: 0 0 16px
}

.about-us-page .about-left-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0 0 32px;
    padding-bottom: 12px;
    border-bottom: 2px solid #FBF14E;
    display: inline-block
}

.about-us-page .about-left-para {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 16px;
    opacity: .85
}

.about-us-page .about-stat-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 32px
}

.about-us-page .about-stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.about-us-page .about-stat-number {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 700
}

.about-us-page .about-stat-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .6
}

.about-us-page .about-right-image {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: -1px 9px 36px 0 #272e4821
}

.about-us-page .about-right-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.about-us-page .about-right-image .diagonal-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none
}

.about-us-page .about-right-image .diagonal-line::before {
    content: '';
    position: absolute;
    top: -10%;
    left: 60%;
    width: 2px;
    height: 130%;
    background: #FBF14E;
    opacity: .35;
    transform: rotate(18deg);
    transform-origin: top center
}

.about-us-page .team-strip {
    background: #272E48;
    padding: 64px 32px;
    position: relative
}

.about-us-page .team-strip-inner {
    max-width: 1024px;
    margin: 0 auto
}

.about-us-page .team-strip-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0 0 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FBF14E;
    display: inline-block
}

.about-us-page .team-strip-sub {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .7;
    margin: 16px 0 32px;
    max-width: 520px
}

.about-us-page .team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.about-us-page .team-member-portrait {
    grid-column: span 1
}

.about-us-page .team-portrait-img {
    width: 100%;
    aspect-ratio: 2/3;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: -1px 4px 14px 0 #fbf14e14;
    margin-bottom: 16px
}

.about-us-page .team-portrait-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.about-us-page .team-member-name {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    margin: 0 0 4px
}

.about-us-page .team-member-role {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .12em
}

.about-us-page .team-member-bio {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .65;
    margin: 8px 0 0
}

.about-us-page .team-text-col {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px
}

.about-us-page .team-value-item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.about-us-page .team-value-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background: #FBF14E;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 4px
}

.about-us-page .team-value-icon i {
    color: #272E48;
    font-size: 16px
}

.about-us-page .team-value-heading {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    margin: 0 0 4px
}

.about-us-page .team-value-text {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .65;
    margin: 0
}

.about-us-page .metrics-band {
    padding: 96px 32px;
    background: #FFF8F9
}

.about-us-page .metrics-band-inner {
    max-width: 1024px;
    margin: 0 auto
}

.about-us-page .metrics-top {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    margin-bottom: 64px
}

.about-us-page .metrics-heading-col {
    flex: 1;
    min-width: 0
}

.about-us-page .metrics-main-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FBF14E;
    display: inline-block
}

.about-us-page .metrics-desc {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    opacity: .8;
    margin: 16px 0 0;
    max-width: 400px
}

.about-us-page .donut-col {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.about-us-page .donut-chart {
    position: relative;
    width: 160px;
    height: 160px
}

.about-us-page .donut-chart svg {
    width: 160px;
    height: 160px;
    transform: rotate(-90deg)
}

.about-us-page .donut-center-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px
}

.about-us-page .donut-number {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 700
}

.about-us-page .donut-unit {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .6
}

.about-us-page .donut-legend {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-us-page .donut-legend-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48
}

.about-us-page .donut-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 6px;
    flex-shrink: 0
}

.about-us-page .metrics-cards {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.about-us-page .metrics-card-accent {
    background: linear-gradient(173deg, #272E48, #FBF14E);
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 9px 36px 0 #272e4821;
    position: relative;
    overflow: hidden
}

.about-us-page .metrics-card-accent::before {
    content: '';
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 96px;
    height: 96px;
    border-radius: 48px;
    background: #FBF14E;
    opacity: .12;
    pointer-events: none
}

.about-us-page .metrics-card-accent-img {
    width: 100%;
    height: 140px;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px
}

.about-us-page .metrics-card-accent-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.about-us-page .metrics-card-accent-heading {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    margin: 0 0 8px
}

.about-us-page .metrics-card-accent-text {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .75;
    margin: 0
}

.about-us-page .metrics-card-plain {
    background: #FFF8F9;
    border-radius: 12px;
    padding: 32px 16px;
    border: 1.5px solid #272e481a;
    box-shadow: -1px 1px 3px 0 #272e4814;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-us-page .metrics-card-plain-number {
    font-size: 50px;
    line-height: 1.1;
    color: #272E48;
    font-weight: 700
}

.about-us-page .metrics-card-plain-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .6
}

.about-us-page .tags-hover-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 32px
}

.about-us-page .tag-item {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    border: 1.5px solid #272e4833;
    border-radius: 6px;
    padding: 4px 16px;
    background: #FFF8F9;
    cursor: default;
    transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .tags-hover-group:hover .tag-item {
    opacity: .4;
    transform: translateY(4px)
}

.about-us-page .tags-hover-group .tag-item:hover {
    opacity: 1;
    background: #272E48;
    color: #FBF14E;
    transform: translateY(-4px) rotate(-2deg)
}

.about-us-page .tags-hover-group .tag-item:nth-child(2):hover {
    transform: translateY(-4px) rotate(1.5deg)
}

.about-us-page .tags-hover-group .tag-item:nth-child(3):hover {
    transform: translateY(-6px) rotate(-1deg)
}

.about-us-page .tags-hover-group .tag-item:nth-child(4):hover {
    transform: translateY(-4px) rotate(2deg)
}

.about-us-page .tags-hover-group .tag-item:nth-child(5):hover {
    transform: translateY(-5px) rotate(-1.5deg)
}

.about-us-page .tags-hover-group .tag-item:nth-child(6):hover {
    transform: translateY(-4px) rotate(1deg)
}

.about-us-page .contact-strip {
    background: #272E48;
    padding: 64px 32px
}

.about-us-page .contact-strip-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: center
}

.about-us-page .contact-text-col {
    flex: 1;
    min-width: 0
}

.about-us-page .contact-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FBF14E;
    display: inline-block
}

.about-us-page .contact-sub {
    font-size: 20px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .7;
    margin: 16px 0 32px
}

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

.about-us-page .contact-detail-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .8
}

.about-us-page .contact-detail-list li i {
    color: #FBF14E;
    width: 16px;
    text-align: center;
    flex-shrink: 0
}

.about-us-page .contact-detail-list a {
    color: #FFF8F9;
    text-decoration: none;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .contact-detail-list a:hover {
    color: #FBF14E
}

.about-us-page .contact-cta-col {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start
}

.about-us-page .cta-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    line-height: 1.55;
    color: #FBF14E;
    background: transparent;
    border: 2px solid #FBF14E;
    border-radius: 6px;
    padding: 16px 32px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: background .5s cubic-bezier(0.16, 1, 0.3, 1), color .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .cta-button::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px solid #FBF14E;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .cta-button:hover {
    background: #FBF14E;
    color: #272E48
}

.about-us-page .cta-button:hover::before {
    opacity: 1;
    border-color: #272E48
}

.about-us-page .cta-button-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    background: transparent;
    border: 1.5px solid #fff8f94d;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .cta-button-ghost::before {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid #fff8f933;
    border-radius: 4px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.about-us-page .cta-button-ghost:hover {
    border-color: #FFF8F9;
    color: #FBF14E
}

.about-us-page .cta-button-ghost:hover::before {
    opacity: 1
}

@media (max-width: 992px) {
    .about-us-page .title-strip-inner {
        flex-direction: column;
        gap: 32px
    }

    .about-us-page .title-image-frame {
        width: 100%;
        height: 180px
    }

    .about-us-page .about-split-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .about-us-page .about-split-border {
        display: none
    }

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

    .about-us-page .team-member-portrait {
        grid-column: span 1
    }

    .about-us-page .team-text-col {
        grid-column: span 1
    }

    .about-us-page .metrics-top {
        flex-direction: column;
        gap: 32px
    }

    .about-us-page .metrics-cards {
        grid-template-columns: 1fr 1fr
    }

    .about-us-page .metrics-card-accent {
        grid-column: span 2
    }

    .about-us-page .contact-strip-inner {
        flex-direction: column;
        gap: 32px
    }
}

@media (max-width: 576px) {
    .about-us-page .title-heading {
        font-size: 36px
    }

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

    .about-us-page .team-text-col {
        grid-column: span 1
    }

    .about-us-page .metrics-cards {
        grid-template-columns: 1fr
    }

    .about-us-page .metrics-card-accent {
        grid-column: span 1
    }

    .about-us-page .about-stat-row {
        flex-direction: column;
        gap: 16px
    }

    .about-us-page .title-strip,
    .about-us-page .team-strip,
    .about-us-page .metrics-band,
    .about-us-page .contact-strip {
        padding: 64px 16px
    }

    .about-us-page .about-split {
        padding: 64px 16px
    }
}

.contact-us-page {
    background: #FFF8F9;
    overflow-x: clip
}

.contact-us-page ::selection {
    background: #272E48;
    color: #FFF8F9
}

.contact-us-page .reach-block {
    max-width: 1024px;
    margin: 0 auto;
    padding: 96px 32px 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start
}

.contact-us-page .reach-label {
    font-size: 14px;
    line-height: 1.55;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #272E48;
    opacity: .5;
    margin: 0 0 16px
}

.contact-us-page .reach-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #272E48;
    margin: 0 0 32px;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px
}

.contact-us-page .reach-heading .gradient-word {
    background: linear-gradient(173deg, #272E48, #FBF14E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contact-us-page .reach-description {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 32px;
    opacity: .75
}

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

.contact-us-page .detail-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.contact-us-page .detail-icon-box {
    width: 44px;
    height: 44px;
    border: 1.5px solid #272E48;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #272E48;
    font-size: 14px;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contact-us-page .detail-item:hover .detail-icon-box {
    background: #FBF14E;
    border-color: #FBF14E
}

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

.contact-us-page .detail-text-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .5;
    text-transform: uppercase;
    letter-spacing: .08em
}

.contact-us-page .detail-text-value {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48
}

.contact-us-page .detail-text-value a {
    color: #272E48;
    text-decoration: none;
    border-bottom: 1px solid #FBF14E;
    transition: border-color .4s ease-in-out, color .4s ease-in-out
}

.contact-us-page .detail-text-value a:hover {
    color: #272E48;
    border-color: #272E48
}

.contact-us-page .diagonal-deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.contact-us-page .diagonal-deco svg {
    position: absolute;
    top: 0;
    right: 0
}

.contact-us-page .reach-left {
    position: relative
}

.contact-us-page .reach-right {
    position: relative
}

.contact-us-page .form-panel {
    background: #fff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: -1px 4px 14px 0 #272e4814;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.contact-us-page .form-panel-heading {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 4px
}

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

.contact-us-page .field-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .7
}

.contact-us-page .field-input {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #272e482e !important;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    background: #FFF8F9;
    box-sizing: border-box;
    outline: none;
    transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contact-us-page .field-input::placeholder {
    color: #272e4859;
    transition: opacity .5s ease-in-out
}

.contact-us-page .field-input:focus::placeholder {
    opacity: 0
}

.contact-us-page .field-input:focus {
    border-color: #272E48 !important
}

.contact-us-page .channel-label-text {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .7;
    margin: 0 0 8px;
    display: block
}

.contact-us-page .channel-options {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px
}

.contact-us-page .channel-option {
    position: relative
}

.contact-us-page .channel-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.contact-us-page .channel-option-label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1.5px solid #272e482e;
    border-radius: 36px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    background: transparent;
    transition: border-color .4s ease-in-out, background .4s ease-in-out;
    user-select: none
}

.contact-us-page .channel-option input[type="radio"]:checked+.channel-option-label {
    border-color: #272E48;
    background: #FBF14E
}

.contact-us-page .channel-option-label:hover {
    border-color: #272E48
}

.contact-us-page .channel-option input[type="radio"]:focus-visible+.channel-option-label {
    outline: 2px solid #272E48;
    outline-offset: 2px
}

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

.contact-us-page .privacy-checkbox {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #272E48;
    cursor: pointer
}

.contact-us-page .privacy-text {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .65
}

.contact-us-page .privacy-text a {
    color: #272E48;
    opacity: 1;
    border-bottom: 1px solid #FBF14E;
    text-decoration: none;
    transition: border-color .4s ease-in-out
}

.contact-us-page .privacy-text a:hover {
    border-color: #272E48
}

.contact-us-page .submit-button {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 12px;
    border: 1.5px solid #272E48;
    background: transparent;
    color: #272E48;
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1);
    align-self: flex-start
}

.contact-us-page .submit-button::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px solid transparent;
    border-radius: 9px;
    transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none
}

.contact-us-page .submit-button:hover {
    background: #272E48;
    color: #FBF14E
}

.contact-us-page .submit-button:hover::after {
    border-color: #fbf14e66
}

.contact-us-page .submit-button:focus-visible {
    outline: 2px solid #272E48;
    outline-offset: 3px
}

.contact-us-page .scallop-divider {
    width: 100%;
    line-height: 0;
    display: block;
    overflow: hidden
}

.contact-us-page .scallop-divider svg {
    display: block;
    width: 100%
}

.contact-us-page .tier-block {
    background: #272E48;
    position: relative;
    overflow: hidden
}

.contact-us-page .tier-block-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .06;
    background-image: linear-gradient(#fbf14eff 1px, transparent 1px), linear-gradient(90deg, #fbf14eff 1px, transparent 1px), linear-gradient(#fbf14e66 1px, transparent 1px), linear-gradient(90deg, #fbf14e66 1px, transparent 1px);
    background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px
}

.contact-us-page .tier-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 64px 32px 96px;
    position: relative;
    z-index: 1
}

.contact-us-page .tier-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0 0 32px;
    gap: 32px;
    flex-wrap: wrap
}

.contact-us-page .tier-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 5px
}

.contact-us-page .tier-sub {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    opacity: .55;
    max-width: 320px;
    text-align: right;
    margin: 0
}

.contact-us-page .tier-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px
}

.contact-us-page .tier-card {
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.contact-us-page .tier-card:hover {
    transform: translateY(-4px);
    box-shadow: -1px 9px 36px 0 #272e4821
}

.contact-us-page .tier-card.starter {
    background: #fff8f90f;
    border: 1px solid #fff8f91f
}

.contact-us-page .tier-card.standard {
    background: #fbf14e1a;
    border: 1px solid #fbf14e40
}

.contact-us-page .tier-card.advanced {
    background: #FBF14E;
    border: 1px solid #FBF14E
}

.contact-us-page .tier-card-badge {
    font-size: 14px;
    line-height: 1.55;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0
}

.contact-us-page .tier-card.starter .tier-card-badge {
    color: #fff8f980
}

.contact-us-page .tier-card.standard .tier-card-badge {
    color: #FBF14E
}

.contact-us-page .tier-card.advanced .tier-card-badge {
    color: #272E48
}

.contact-us-page .tier-card-name {
    font-size: 20px;
    line-height: 1.55;
    margin: 0;
    font-weight: 600
}

.contact-us-page .tier-card.starter .tier-card-name {
    color: #FFF8F9
}

.contact-us-page .tier-card.standard .tier-card-name {
    color: #FFF8F9
}

.contact-us-page .tier-card.advanced .tier-card-name {
    color: #272E48
}

.contact-us-page .tier-card-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contact-us-page .tier-card-feature {
    font-size: 14px;
    line-height: 1.55;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.contact-us-page .tier-card.starter .tier-card-feature {
    color: #fff8f9a6
}

.contact-us-page .tier-card.standard .tier-card-feature {
    color: #fff8f9cc
}

.contact-us-page .tier-card.advanced .tier-card-feature {
    color: #272E48
}

.contact-us-page .feature-dot {
    width: 6px;
    height: 6px;
    border-radius: 6px;
    flex-shrink: 0;
    margin-top: 7px
}

.contact-us-page .tier-card.starter .feature-dot {
    background: #fff8f94d
}

.contact-us-page .tier-card.standard .feature-dot {
    background: #FBF14E
}

.contact-us-page .tier-card.advanced .feature-dot {
    background: #272E48
}

.contact-us-page .tier-card-price {
    margin: 0;
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700
}

.contact-us-page .tier-card.starter .tier-card-price {
    color: #FFF8F9
}

.contact-us-page .tier-card.standard .tier-card-price {
    color: #FFF8F9
}

.contact-us-page .tier-card.advanced .tier-card-price {
    color: #272E48
}

.contact-us-page .tier-price-note {
    font-size: 14px;
    font-weight: 400
}

.contact-us-page .tier-card-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
    text-decoration: none;
    border: 1.5px solid;
    transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1);
    align-self: flex-start;
    position: relative
}

.contact-us-page .tier-card.starter .tier-card-action {
    border-color: #fff8f94d;
    color: #FFF8F9
}

.contact-us-page .tier-card.starter .tier-card-action:hover {
    background: #fff8f91a
}

.contact-us-page .tier-card.standard .tier-card-action {
    border-color: #FBF14E;
    color: #FBF14E
}

.contact-us-page .tier-card.standard .tier-card-action:hover {
    background: #fbf14e26
}

.contact-us-page .tier-card.advanced .tier-card-action {
    border-color: #272E48;
    color: #272E48
}

.contact-us-page .tier-card.advanced .tier-card-action:hover {
    background: #272E48;
    color: #FBF14E
}

@keyframes fadeSlideUp {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

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

.contact-us-page .reach-left {
    animation: fadeSlideUp .55s cubic-bezier(0.16, 1, 0.3, 1) .1s both
}

.contact-us-page .reach-right {
    animation: fadeSlideUp .55s cubic-bezier(0.16, 1, 0.3, 1) .25s both
}

.contact-us-page .tier-card:nth-child(1) {
    animation: fadeSlideUp .5s cubic-bezier(0.16, 1, 0.3, 1) .1s both
}

.contact-us-page .tier-card:nth-child(2) {
    animation: fadeSlideUp .5s cubic-bezier(0.16, 1, 0.3, 1) .22s both
}

.contact-us-page .tier-card:nth-child(3) {
    animation: fadeSlideUp .5s cubic-bezier(0.16, 1, 0.3, 1) .34s both
}

@media (max-width: 992px) {
    .contact-us-page .reach-block {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 64px 32px 48px
    }

    .contact-us-page .tier-grid {
        grid-template-columns: 1fr 1fr
    }

    .contact-us-page .tier-card:last-child {
        grid-column: 1 / -1
    }

    .contact-us-page .reach-heading {
        font-size: 36px
    }

    .contact-us-page .tier-sub {
        text-align: left
    }
}

@media (max-width: 576px) {
    .contact-us-page .reach-block {
        padding: 48px 16px 32px;
        gap: 32px
    }

    .contact-us-page .reach-heading {
        font-size: 36px
    }

    .contact-us-page .tier-grid {
        grid-template-columns: 1fr
    }

    .contact-us-page .tier-card:last-child {
        grid-column: auto
    }

    .contact-us-page .tier-inner {
        padding: 48px 16px 64px
    }

    .contact-us-page .form-panel {
        padding: 24px 16px
    }

    .contact-us-page .channel-options {
        gap: 8px
    }

    .contact-us-page .tier-top {
        flex-direction: column;
        align-items: flex-start
    }
}

.learning-program {
    background: #FFF8F9;
    overflow-x: hidden
}

.learning-program .program-title-block {
    position: relative;
    padding: 64px 32px 96px;
    background: linear-gradient(173deg, transparent 0%, #272E48 100%);
    overflow: hidden
}

.learning-program .program-title-block .title-image-layer {
    position: absolute;
    inset: 0;
    z-index: 0
}

.learning-program .program-title-block .title-image-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.45) saturate(0.7);
    transform: translateY(0);
    transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.learning-program .program-title-block .title-reading-arrow {
    position: absolute;
    bottom: 32px;
    right: 64px;
    width: 48px;
    height: 48px;
    z-index: 2;
    opacity: .55
}

.learning-program .program-title-block .title-reading-arrow svg {
    width: 100%;
    height: 100%
}

.learning-program .program-title-block .title-flow-line {
    position: absolute;
    top: 32px;
    left: 64px;
    width: 80px;
    height: 2px;
    background: #FBF14E;
    z-index: 2;
    transform-origin: left center;
    animation: draw-line .55s cubic-bezier(0.16, 1, 0.3, 1) .2s both
}

@keyframes draw-line {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

.learning-program .program-title-block .title-text-area {
    position: relative;
    z-index: 2;
    max-width: 1024px;
    margin: 0 auto;
    padding-top: 32px
}

.learning-program .program-title-block .program-heading {
    font-size: 66px;
    line-height: 1.1;
    color: #FFF8F9;
    margin: 0;
    max-width: 700px
}

.learning-program .program-title-block .program-heading span {
    color: #FBF14E
}

.learning-program .divider-curve-one {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #FFF8F9
}

.learning-program .divider-curve-one svg {
    display: block;
    width: 100%
}

.learning-program .program-details-block {
    background: #FFF8F9;
    padding: 96px 32px
}

.learning-program .program-details-block .details-container {
    max-width: 1024px;
    margin: 0 auto
}

.learning-program .program-details-block .details-top {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    margin-bottom: 64px
}

.learning-program .program-details-block .details-text-column {
    flex: 1 1 0;
    min-width: 0
}

.learning-program .program-details-block .details-heading {
    font-size: 36px;
    line-height: 1.1;
    color: #272E48;
    margin: 0 0 8px;
    text-decoration: underline;
    text-decoration-color: #FBF14E;
    text-underline-offset: 6px
}

.learning-program .program-details-block .details-paragraph {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    margin: 16px 0 0
}

.learning-program .program-details-block .details-paragraph+.details-paragraph {
    margin-top: 16px
}

.learning-program .program-details-block .details-stat-column {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.learning-program .program-details-block .stat-shape {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.learning-program .program-details-block .stat-hexagon {
    position: relative;
    width: 72px;
    height: 72px;
    flex-shrink: 0
}

.learning-program .program-details-block .stat-hexagon svg {
    width: 72px;
    height: 72px
}

.learning-program .program-details-block .stat-hexagon .stat-number {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;
    color: #272E48
}

.learning-program .program-details-block .stat-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48
}

.learning-program .program-details-block .donut-row {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    padding: 32px;
    background: #272E48;
    border-radius: 20px;
    box-shadow: -1px 9px 36px 0 #272e4821;
    margin-bottom: 64px
}

.learning-program .program-details-block .donut-chart-area {
    flex-shrink: 0
}

.learning-program .program-details-block .donut-legend {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learning-program .program-details-block .donut-legend-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.learning-program .program-details-block .donut-dot {
    width: 12px;
    height: 12px;
    border-radius: 6px;
    flex-shrink: 0
}

.learning-program .program-details-block .donut-legend-label {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9
}

.learning-program .program-details-block .donut-legend-pct {
    font-size: 14px;
    line-height: 1.55;
    color: #FBF14E;
    margin-left: auto
}

.learning-program .program-details-block .stepped-columns {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-end
}

.learning-program .program-details-block .step-column {
    flex: 1 1 0;
    border: 2px solid #272E48;
    border-radius: 12px;
    padding: 32px 16px;
    position: relative;
    transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: default
}

.learning-program .program-details-block .step-column::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 8px;
    transition: border-color .55s cubic-bezier(0.16, 1, 0.3, 1) .15s;
    pointer-events: none
}

.learning-program .program-details-block .step-column:hover {
    box-shadow: -1px 9px 36px 0 #272e4821;
    border-color: #FBF14E
}

.learning-program .program-details-block .step-column:hover::after {
    border-color: #FBF14E
}

.learning-program .program-details-block .step-column.tall {
    padding-top: 64px
}

.learning-program .program-details-block .step-column.medium {
    padding-top: 48px
}

.learning-program .program-details-block .step-column-number {
    font-size: 50px;
    line-height: 1.1;
    color: #FBF14E;
    font-weight: 700;
    display: block;
    margin-bottom: 8px;
    -webkit-text-stroke: 1px #272E48
}

.learning-program .program-details-block .step-column-label {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    display: block;
    text-transform: uppercase;
    letter-spacing: .08em
}

.learning-program .program-details-block .step-column-desc {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    margin-top: 8px
}

.learning-program .program-details-block .dual-narrative {
    display: flex;
    flex-direction: row;
    gap: 0;
    margin-top: 64px;
    border: 2px dashed #272E48;
    border-radius: 20px;
    overflow: hidden
}

.learning-program .program-details-block .narrative-path {
    flex: 1 1 0;
    padding: 32px;
    position: relative
}

.learning-program .program-details-block .narrative-path.path-left {
    background: #272E48
}

.learning-program .program-details-block .narrative-path.path-right {
    background: #FFF8F9
}

.learning-program .program-details-block .narrative-divider {
    width: 2px;
    background: linear-gradient(173deg, #272E48 0%, #FBF14E 100%);
    flex-shrink: 0
}

.learning-program .program-details-block .narrative-tag {
    font-size: 14px;
    line-height: 1.55;
    text-transform: uppercase;
    letter-spacing: .1em;
    display: block;
    margin-bottom: 16px
}

.learning-program .program-details-block .narrative-path.path-left .narrative-tag {
    color: #FBF14E
}

.learning-program .program-details-block .narrative-path.path-right .narrative-tag {
    color: #272E48;
    opacity: .6
}

.learning-program .program-details-block .narrative-heading {
    font-size: 20px;
    line-height: 1.55;
    margin: 0 0 16px
}

.learning-program .program-details-block .narrative-path.path-left .narrative-heading {
    color: #FFF8F9
}

.learning-program .program-details-block .narrative-path.path-right .narrative-heading {
    color: #272E48
}

.learning-program .program-details-block .narrative-text {
    font-size: 14px;
    line-height: 1.55
}

.learning-program .program-details-block .narrative-path.path-left .narrative-text {
    color: #FFF8F9;
    opacity: .85
}

.learning-program .program-details-block .narrative-path.path-right .narrative-text {
    color: #272E48
}

.learning-program .program-details-block .portrait-strip {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 64px;
    align-items: flex-start
}

.learning-program .program-details-block .portrait-card {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program .program-details-block .portrait-image-frame {
    width: 100%;
    aspect-ratio: 2/3;
    overflow: hidden
}

.learning-program .program-details-block .portrait-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    filter: brightness(0.88);
    transition: filter .45s cubic-bezier(0.16, 1, 0.3, 1);
    display: block
}

.learning-program .program-details-block .portrait-image-frame img:hover {
    filter: brightness(1.05)
}

.learning-program .program-details-block .portrait-name {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    font-weight: 700
}

.learning-program .program-details-block .portrait-role {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    opacity: .65
}

.learning-program .program-details-block .portrait-quote {
    font-size: 14px;
    line-height: 1.55;
    color: #272E48;
    font-style: italic
}

.learning-program .program-details-block .mesh-accent-band {
    background: linear-gradient(173deg, #272E48 0%, #FBF14E 60%, #FFF8F9 100%);
    border-radius: 20px;
    padding: 32px;
    margin-top: 64px;
    box-shadow: -1px 4px 14px 0 #fbf14e14
}

.learning-program .program-details-block .mesh-accent-band .mesh-label {
    font-size: 14px;
    line-height: 1.55;
    color: #FFF8F9;
    text-transform: uppercase;
    letter-spacing: .1em;
    display: block;
    margin-bottom: 8px
}

.learning-program .program-details-block .mesh-accent-band .mesh-text {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48
}

.learning-program .program-details-block .enroll-button {
    display: inline-block;
    margin-top: 32px;
    padding: 16px 32px;
    font-size: 20px;
    line-height: 1.1;
    color: #272E48;
    background: transparent;
    border: 2px solid #272E48;
    border-radius: 12px;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.learning-program .program-details-block .enroll-button::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 2px solid transparent;
    border-radius: 8px;
    transition: border-color .55s cubic-bezier(0.16, 1, 0.3, 1) .15s;
    pointer-events: none
}

.learning-program .program-details-block .enroll-button:hover {
    background: #272E48;
    color: #FBF14E
}

.learning-program .program-details-block .enroll-button:hover::after {
    border-color: #FBF14E
}

.learning-program .program-details-block .enroll-button:focus {
    outline: 3px solid #FBF14E;
    outline-offset: 4px
}

@media (max-width: 992px) {
    .learning-program .program-title-block .program-heading {
        font-size: 50px
    }

    .learning-program .program-details-block .details-top {
        flex-direction: column;
        gap: 32px
    }

    .learning-program .program-details-block .details-stat-column {
        flex: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap
    }

    .learning-program .program-details-block .stat-shape {
        flex: 1 1 140px
    }

    .learning-program .program-details-block .stepped-columns {
        flex-wrap: wrap
    }

    .learning-program .program-details-block .step-column {
        flex: 1 1 140px
    }

    .learning-program .program-details-block .dual-narrative {
        flex-direction: column
    }

    .learning-program .program-details-block .narrative-divider {
        width: 100%;
        height: 2px
    }

    .learning-program .program-details-block .portrait-strip {
        flex-wrap: wrap
    }

    .learning-program .program-details-block .portrait-card {
        flex: 1 1 140px
    }
}

@media (max-width: 576px) {
    .learning-program .program-title-block {
        padding: 32px 16px 64px
    }

    .learning-program .program-title-block .program-heading {
        font-size: 36px
    }

    .learning-program .program-details-block {
        padding: 64px 16px
    }

    .learning-program .program-details-block .donut-row {
        flex-direction: column;
        gap: 16px
    }

    .learning-program .program-details-block .stepped-columns {
        flex-direction: column;
        align-items: stretch
    }

    .learning-program .program-details-block .step-column.tall,
    .learning-program .program-details-block .step-column.medium {
        padding-top: 32px
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 32px;
    background-color: #FFF8F9
}

.success-page .success-wrapper {
    max-width: 1024px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px
}

.success-page .success-icon-ring {
    width: 80px;
    height: 80px;
    border-radius: 48px;
    background: #FBF14E;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 4px 14px 0 #fbf14e14 -1px 9px 36px 0 #fbf14e21
}

.success-page .success-icon-ring svg {
    display: block
}

.success-page .success-heading {
    font-size: 50px;
    line-height: 1.1;
    color: #272E48;
    margin: 0
}

.success-page .success-subtext {
    font-size: 20px;
    line-height: 1.55;
    color: #272E48;
    max-width: 480px;
    margin: 0;
    opacity: .72
}

.success-page .success-divider {
    width: 48px;
    height: 3px;
    background: linear-gradient(173deg, #272E48, #FBF14E);
    border-radius: 6px
}

.success-page .success-return-link {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 12px;
    border: 2px solid #272E48;
    color: #272E48;
    font-size: 14px;
    line-height: 1.55;
    text-decoration: none;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: transparent;
    position: relative;
    transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.success-page .success-return-link::before {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 8px;
    border: 1px solid #272E48;
    opacity: 0;
    transition: opacity .4s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none
}

.success-page .success-return-link:hover {
    background: #272E48;
    color: #FBF14E;
    box-shadow: -1px 9px 36px 0 #272e4821
}

.success-page .success-return-link:hover::before {
    opacity: .3;
    border-color: #FBF14E
}

.success-page .success-return-link:focus-visible {
    outline: 2px solid #272E48;
    outline-offset: 4px
}

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

    .success-page .success-heading {
        font-size: 36px
    }

    .success-page .success-subtext {
        font-size: 14px
    }
}