* {
    box-sizing: border-box
}

body {
    margin: 0;
    scrollbar-gutter: stable;
    min-height: 100vh;
    font-family: 'Montserrat', sans-serif;
    background: #fff;
    color: #1d1d1d;
    font-size: 15px;
    line-height: 1.7
}

.hd-wrapper {
    background: linear-gradient(135deg, #EFECE9 0%, #fff 100%);
    border-bottom: 2px solid #B0B62B
}

.hd-top-strip {
    background: #fff;
    border-bottom: 1px solid #b0b62b33;
    padding: 8px 0
}

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

.hd-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #4a4a4a;
    text-decoration: none;
    transition: color .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.hd-contact-item:hover {
    color: #B0B62B
}

.hd-contact-item:focus {
    outline: 2px dashed #D85881;
    outline-offset: 4px;
    animation: rotateDash 3s linear infinite
}

@keyframes rotateDash {
    to {
        outline-offset: 8px
    }
}

.hd-contact-icon {
    width: 16px;
    height: 16px;
    fill: currentColor
}

.hd-bottom-row {
    max-width: 1170px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px
}

.hd-logo-zone {
    display: flex;
    align-items: center;
    border-top: 3px solid #B0B62B;
    border-bottom: 3px solid #D85881;
    padding: 16px 24px;
    background: #fff;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    border-radius: 0 10px 0 10px
}

.hd-logo-img {
    width: 48px;
    height: 48px;
    object-fit: contain
}

.hd-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 40px;
    align-items: center
}

.hd-nav-link {
    font-size: 15px;
    font-weight: 500;
    color: #2a2a2a;
    text-decoration: none;
    padding: 16px 0;
    display: block;
    position: relative;
    transition: color .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.hd-nav-link::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, #B0B62B 0%, #D85881 100%);
    transition: width .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.hd-nav-link:hover {
    color: #B0B62B
}

.hd-nav-link:hover::after {
    width: 100%
}

.hd-nav-link:focus {
    outline: 2px dashed #D85881;
    outline-offset: 6px;
    animation: rotateDash 3s linear infinite
}

.ft-wrapper {
    background: #2a2a2a;
    color: #e8e8e8;
    padding: 72px 0 40px;
    margin-top: 72px
}

.ft-inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 24px
}

.ft-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 40px;
    margin-bottom: 40px
}

.ft-col-brand {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ft-logo-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: #3a3a3a;
    border: 2px solid #B0B62B;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 #d8588114;
    align-self: flex-start
}

.ft-logo-img {
    width: 44px;
    height: 44px;
    object-fit: contain
}

.ft-brand-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #c8c8c8
}

.ft-col-heading {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px;
    color: #B0B62B
}

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

.ft-nav-link {
    font-size: 15px;
    color: #d0d0d0;
    text-decoration: none;
    display: inline-block;
    transition: color .26s cubic-bezier(0.34, 1.56, 0.64, 1), transform .26s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ft-nav-link:hover {
    color: #D85881;
    transform: translateX(4px)
}

.ft-nav-link:focus {
    outline: 2px dashed #B0B62B;
    outline-offset: 4px;
    animation: rotateDash 3s linear infinite
}

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

.ft-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #d0d0d0
}

.ft-contact-icon {
    width: 18px;
    height: 18px;
    fill: #B0B62B;
    flex-shrink: 0;
    margin-top: 2px
}

.ft-contact-link {
    color: #d0d0d0;
    text-decoration: none;
    transition: color .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.ft-contact-link:hover {
    color: #D85881
}

.ft-contact-link:focus {
    outline: 2px dashed #B0B62B;
    outline-offset: 3px;
    animation: rotateDash 3s linear infinite
}

.ft-bottom {
    border-top: 1px solid #b0b62b4d;
    padding-top: 24px;
    display: flex;
    justify-content: center;
    align-items: center
}

.ft-copyright {
    font-size: 15px;
    color: #a0a0a0;
    text-align: center
}

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

    .hd-bottom-row {
        flex-direction: column;
        gap: 24px
    }

    .hd-nav-list {
        flex-direction: column;
        gap: 16px;
        width: 100%
    }

    .hd-nav-link {
        text-align: center
    }

    .ft-columns {
        grid-template-columns: 1fr
    }
}

.cookie-popup-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1000;
    max-width: 420px
}

.cookie-banner {
    background: #fff;
    border: 2px solid #B0B62B;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 12px 44px 0 #b0b62b1f;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .32s cubic-bezier(0.34, 1.56, 0.64, 1), transform .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cookie-banner.visible {
    opacity: 1;
    transform: translateY(0)
}

.cookie-text {
    font-size: 15px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px
}

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

.cookie-btn {
    flex: 1;
    min-width: 120px;
    padding: 16px 24px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 500;
    border: 2px solid #B0B62B;
    border-radius: 10px;
    background: transparent;
    color: #2a2a2a;
    cursor: pointer;
    transition: background .24s cubic-bezier(0.68, -0.55, 0.27, 1.55), color .24s cubic-bezier(0.68, -0.55, 0.27, 1.55), border-color .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.cookie-btn:hover {
    background: #B0B62B;
    color: #fff;
    border-color: #B0B62B
}

.cookie-btn:focus {
    outline: 2px dashed #D85881;
    outline-offset: 4px;
    animation: rotateDash 3s linear infinite
}

.cookie-btn.decline {
    border-color: #D85881
}

.cookie-btn.decline:hover {
    background: #D85881;
    color: #fff;
    border-color: #D85881
}

@media (max-width: 480px) {
    .cookie-popup-container {
        left: 16px;
        right: 16px;
        bottom: 16px;
        max-width: none
    }

    .cookie-actions {
        flex-direction: column
    }

    .cookie-btn {
        min-width: 100%
    }
}

.legal-data {
    max-width: 1170px;
    margin: 0 auto;
    padding: 72px 24px;
    font-size: 18px;
    line-height: 1.7;
    color: #2a2a2a
}

.legal-data strong,
.legal-data b {
    font-weight: 600;
    color: #1a1a1a
}

.legal-data a {
    color: #D85881;
    text-decoration: none;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.legal-data a:hover {
    color: #B0B62B
}

.legal-data a:focus {
    outline: 2px solid #D85881;
    outline-offset: 2px
}

.legal-data table {
    width: 100%;
    border-collapse: collapse;
    margin: 40px 0;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: 0 3px 5px 0 #b0b62b14;
    border-radius: 10px;
    overflow: hidden
}

.legal-data thead {
    background: #EFECE9
}

.legal-data thead tr {
    border-bottom: 2px solid #d4d1ce
}

.legal-data th {
    padding: 16px 24px;
    text-align: left;
    font-weight: 600;
    color: #1a1a1a
}

.legal-data tbody tr {
    border-bottom: 1px solid #e8e5e2;
    transition: background-color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

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

.legal-data tbody tr:hover {
    background-color: #faf9f8
}

.legal-data td {
    padding: 16px 24px;
    color: #3a3a3a
}

.legal-data hr {
    border: none;
    height: 1px;
    background: #e8e5e2;
    margin: 40px 0
}

.legal-data div {
    margin: 24px 0
}

@media (max-width: 768px) {
    .legal-data {
        padding: 40px 16px;
        font-size: 15px
    }

    .legal-data table {
        display: block;
        overflow-x: auto;
        margin: 24px 0;
        box-shadow: 0 3px 5px 0 #b0b62b14
    }

    .legal-data th,
    .legal-data td {
        padding: 8px 16px;
        white-space: nowrap
    }
}

.prog-dtl {
    background: #fff;
    color: #2a2a2a;
    overflow-x: clip
}

.prog-dtl * {
    box-sizing: border-box
}

.prog-dtl .topband {
    position: relative;
    background: linear-gradient(127deg, #b0b62b1f 0%, #fff0 52%, #d8588117 100%);
    padding: 72px 24px;
    overflow: hidden
}

.prog-dtl .topband::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    height: 8px;
    background: repeating-linear-gradient(90deg, #B0B62B 0px, #B0B62B 16px, transparent 16px, transparent 32px, #D85881 32px, #D85881 48px, transparent 48px, transparent 64px)
}

.prog-dtl .topband::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800" opacity="0.03"><text x="50%" y="50%" font-size="280" text-anchor="middle" dominant-baseline="middle" fill="%23B0B62B" font-weight="900">VOICE</text></svg>') no-repeat center center;
    background-size: contain;
    pointer-events: none;
    z-index: 0
}

.prog-dtl .topband-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.prog-dtl .breadnav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 15px;
    flex-wrap: wrap
}

.prog-dtl .breadnav a {
    color: #5a5a5a;
    text-decoration: none;
    transition: color .27s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .breadnav a:hover {
    color: #B0B62B
}

.prog-dtl .breadnav span {
    color: #9a9a9a
}

.prog-dtl .meta-row {
    display: flex;
    gap: 24px;
    margin-bottom: 16px;
    flex-wrap: wrap;
    align-items: center
}

.prog-dtl .tag-pill {
    display: inline-block;
    padding: 8px 16px;
    background: #fff;
    border: 2px solid #EFECE9;
    font-size: 15px;
    color: #4a4a4a;
    font-weight: 600;
    letter-spacing: .02em;
    border-radius: 10px;
    transition: all .24s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.prog-dtl .tag-pill:hover {
    border-color: #B0B62B;
    background: #B0B62B;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.prog-dtl .viewcount {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #6a6a6a
}

.prog-dtl .viewcount svg {
    width: 20px;
    height: 20px;
    fill: #9a9a9a
}

.prog-dtl .readtime {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #6a6a6a
}

.prog-dtl .readtime svg {
    width: 20px;
    height: 20px;
    fill: #9a9a9a
}

.prog-dtl .hero-title {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 900;
    color: #1a1a1a;
    margin: 0 0 24px;
    letter-spacing: -.02em;
    animation: shakeAttention .5s cubic-bezier(0.36, 0.07, 0.19, 0.97) .8s;
    transform-origin: center
}

@keyframes shakeAttention {

    0%,
    100% {
        transform: translateX(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-4px)
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(4px)
    }
}

.prog-dtl .hero-subtitle {
    font-size: 23px;
    line-height: 1.4;
    color: #4a4a4a;
    margin: 0 0 40px;
    max-width: 820px
}

.prog-dtl .price-block {
    display: inline-flex;
    align-items: baseline;
    gap: 16px;
    padding: 16px 24px;
    background: #fff;
    border: 4px solid #EFECE9;
    border-radius: 10px;
    box-shadow: 0 7px 14px 0 #d858811c inset 0 2px 4px 0 #d858810f;
    position: relative;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .price-block::before {
    content: '';
    position: absolute;
    inset: -8px;
    border: 2px solid #D85881;
    border-radius: 10px;
    opacity: 0;
    transition: opacity .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none
}

.prog-dtl .price-block:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 44px 0 #d858811f
}

.prog-dtl .price-block:hover::before {
    opacity: 1
}

.prog-dtl .price-block:active::before {
    animation: borderPulse .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

@keyframes borderPulse {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.08)
    }
}

.prog-dtl .price-val {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 900;
    color: #D85881
}

.prog-dtl .price-desc {
    font-size: 15px;
    line-height: 1.4;
    color: #5a5a5a
}

.prog-dtl .duration-seats {
    display: flex;
    gap: 40px;
    margin-top: 24px;
    flex-wrap: wrap
}

.prog-dtl .duration-item,
.prog-dtl .seats-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prog-dtl .duration-label,
.prog-dtl .seats-label {
    font-size: 15px;
    color: #7a7a7a;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600
}

.prog-dtl .duration-value,
.prog-dtl .seats-value {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a
}

.prog-dtl .content-area {
    position: relative;
    padding: 72px 24px;
    background: #fafbf9;
    clip-path: polygon(0 0, 100% 48px, 100% 100%, 0 100%);
    margin-top: -48px
}

.prog-dtl .content-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(45deg, transparent, transparent 2px, #b0b62b04 2px, #b0b62b04 4px), repeating-linear-gradient(-45deg, transparent, transparent 2px, #d8588104 2px, #d8588104 4px);
    pointer-events: none;
    opacity: .6
}

.prog-dtl .content-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.prog-dtl .layout-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px
}

.prog-dtl .img-feature {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 44px 0 #b0b62b1f;
    border: 3px solid #fff
}

.prog-dtl .img-feature img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .img-feature:hover img {
    transform: scale(1.05)
}

.prog-dtl .text-zone {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.prog-dtl .overline {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #B0B62B 0%, #D85881 100%);
    margin: 0 auto 16px
}

.prog-dtl .zone-heading {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 16px;
    text-align: center
}

.prog-dtl .zone-body {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    text-align: left
}

.prog-dtl .zone-body p {
    margin: 0 0 24px
}

.prog-dtl .zone-body p:last-child {
    margin-bottom: 0
}

.prog-dtl .zone-body h2 {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    margin: 40px 0 16px
}

.prog-dtl .zone-body h2:first-child {
    margin-top: 0
}

.prog-dtl .zone-body ul,
.prog-dtl .zone-body ol {
    margin: 0 0 24px;
    padding-left: 24px
}

.prog-dtl .zone-body li {
    margin-bottom: 8px;
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a
}

.prog-dtl .zone-body blockquote {
    margin: 24px 0;
    padding: 24px;
    background: #fff;
    border-left: 0;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 #b0b62b14;
    position: relative;
    border: 2px solid #EFECE9
}

.prog-dtl .zone-body blockquote::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 16px;
    width: 4px;
    height: calc(100% - 32px);
    background: linear-gradient(180deg, #B0B62B 0%, #D85881 100%);
    border-radius: 10px
}

.prog-dtl .zone-body blockquote p {
    margin-left: 24px;
    font-style: italic;
    color: #4a4a4a
}

.prog-dtl .zone-body cite {
    display: block;
    margin-top: 8px;
    margin-left: 24px;
    font-size: 15px;
    color: #7a7a7a;
    font-style: normal
}

.prog-dtl .zone-body small {
    font-size: 15px;
    color: #7a7a7a;
    display: block;
    margin-top: 8px
}

.prog-dtl .zone-body figure {
    margin: 24px 0
}

.prog-dtl .zone-body figcaption {
    margin-top: 8px;
    font-size: 15px;
    color: #7a7a7a;
    text-align: center
}

.prog-dtl .zone-body dl {
    margin: 24px 0
}

.prog-dtl .zone-body dt {
    font-weight: 700;
    color: #2a2a2a;
    margin-bottom: 8px
}

.prog-dtl .zone-body dd {
    margin: 0 0 16px 24px;
    color: #4a4a4a
}

.prog-dtl .zone-body details {
    margin: 24px 0;
    padding: 16px;
    background: #fff;
    border: 2px solid #EFECE9;
    border-radius: 10px
}

.prog-dtl .zone-body summary {
    font-weight: 700;
    color: #2a2a2a;
    cursor: pointer;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .zone-body summary:hover {
    color: #B0B62B
}

.prog-dtl .zone-body details[open] summary {
    margin-bottom: 16px
}

.prog-dtl .program-structure {
    margin-top: 40px;
    padding: 40px;
    background: #fff;
    border: 4px solid #EFECE9;
    border-radius: 10px;
    box-shadow: 0 7px 14px 0 #d858811c;
    position: relative
}

.prog-dtl .program-structure::before {
    content: '';
    position: absolute;
    inset: -10px;
    border: 3px solid transparent;
    border-radius: 10px;
    background: linear-gradient(135deg, #B0B62B, #D85881) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    transition: opacity .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .program-structure:hover::before {
    opacity: 1
}

.prog-dtl .program-heading {
    font-size: 31px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0 0 24px;
    text-align: center
}

.prog-dtl .program-heading::before {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #B0B62B 0%, #D85881 100%);
    margin: 0 auto 16px
}

.prog-dtl .program-structure p {
    margin: 0 0 16px;
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a
}

.prog-dtl .program-structure h2 {
    font-size: 23px;
    line-height: 1.4;
    font-weight: 700;
    color: #2a2a2a;
    margin: 24px 0 16px
}

.prog-dtl .program-structure ol {
    margin: 0 0 24px;
    padding-left: 24px;
    counter-reset: program-counter;
    list-style: none
}

.prog-dtl .program-structure ol li {
    position: relative;
    padding-left: 40px;
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    counter-increment: program-counter
}

.prog-dtl .program-structure ol li::before {
    content: counter(program-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #B0B62B 0%, #D85881 100%);
    color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px
}

.prog-dtl .program-structure small {
    font-size: 15px;
    color: #7a7a7a;
    display: block;
    margin-top: 8px
}

.prog-dtl .program-structure cite {
    display: block;
    margin-top: 8px;
    font-size: 15px;
    color: #7a7a7a;
    font-style: normal
}

.prog-dtl .program-structure blockquote {
    margin: 24px 0;
    padding: 24px;
    background: #fafbf9;
    border-radius: 10px;
    border: 2px solid #EFECE9
}

.prog-dtl .program-structure blockquote p {
    margin: 0;
    font-style: italic;
    color: #4a4a4a
}

.prog-dtl .program-structure figure {
    margin: 24px 0
}

.prog-dtl .program-structure figcaption {
    margin-top: 8px;
    font-size: 15px;
    color: #7a7a7a;
    text-align: center
}

.prog-dtl .action-zone {
    display: flex;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
    justify-content: center
}

.prog-dtl .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background: #B0B62B;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    transition: all .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    position: relative
}

.prog-dtl .btn-primary:hover {
    background: #9fa226;
    transform: translateY(-2px);
    box-shadow: 0 12px 44px 0 #b0b62b1f
}

.prog-dtl .btn-primary:active {
    animation: borderPulse .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background: #fff;
    color: #D85881;
    font-size: 18px;
    font-weight: 700;
    border: 3px solid #D85881;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    transition: all .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 3px 5px 0 #d8588114
}

.prog-dtl .btn-secondary:hover {
    background: #D85881;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 7px 14px 0 #d858811c
}

.prog-dtl .btn-secondary:active {
    animation: borderPulse .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.prog-dtl .btn-print {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 40px;
    background: #EFECE9;
    color: #3a3a3a;
    font-size: 18px;
    font-weight: 700;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    transition: all .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.prog-dtl .btn-print:hover {
    background: #e0dcd7;
    transform: translateY(-2px);
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.prog-dtl .btn-print svg {
    width: 20px;
    height: 20px;
    fill: currentColor
}

.prog-dtl .backtop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #D85881;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    transition: all .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 7px 14px 0 #d858811c;
    margin-top: 40px
}

.prog-dtl .backtop:hover {
    background: #c74d72;
    transform: translateY(-3px);
    box-shadow: 0 12px 44px 0 #d858811f
}

.prog-dtl .backtop svg {
    width: 24px;
    height: 24px;
    fill: currentColor
}

@media (min-width: 768px) {
    .prog-dtl .layout-split {
        grid-template-columns: 1fr 1fr;
        align-items: start
    }

    .prog-dtl .hero-title {
        font-size: 72px
    }

    .prog-dtl .zone-heading {
        text-align: left
    }

    .prog-dtl .overline {
        margin: 0 0 16px
    }
}

@media (min-width: 1024px) {
    .prog-dtl .topband {
        padding: 72px 40px
    }

    .prog-dtl .content-area {
        padding: 72px 40px
    }
}

@media print {

    .prog-dtl .btn-print,
    .prog-dtl .backtop,
    .prog-dtl .breadnav {
        display: none
    }
}

.how-wrk {
    background: #fff;
    color: #2a2a2a
}

.how-wrk .title-zone {
    max-width: 1170px;
    margin: 0 auto;
    padding: 72px 24px 24px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: end;
    position: relative
}

.how-wrk .title-zone::before {
    content: '';
    position: absolute;
    top: 40px;
    right: 40px;
    width: 2px;
    height: 80px;
    background: #B0B62B
}

.how-wrk .title-zone::after {
    content: '';
    position: absolute;
    top: 40px;
    right: 40px;
    width: 80px;
    height: 2px;
    background: #B0B62B
}

.how-wrk .img-col {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    height: 420px
}

.how-wrk .img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: relative
}

.how-wrk .img-col::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, #2a2a2a99 0%, #2a2a2a00 100%);
    pointer-events: none
}

.how-wrk .txt-zone {
    padding-bottom: 40px
}

.how-wrk .num-accent {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 700;
    color: #B0B62B;
    margin: 0 0 8px;
    letter-spacing: -.02em
}

.how-wrk .prime-head {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 16px;
    color: #2a2a2a
}

.how-wrk .brief-exp {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    max-width: 620px
}

.how-wrk .step-flow {
    background: #EFECE9;
    padding: 72px 24px;
    position: relative;
    overflow: hidden
}

.how-wrk .step-flow::before {
    content: '∞';
    position: absolute;
    font-size: 480px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px #b0b62b1f;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    font-weight: 300
}

.how-wrk .step-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.how-wrk .over-label {
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #D85881;
    margin: 0 0 16px;
    text-align: center;
    font-weight: 600
}

.how-wrk .step-head {
    font-size: 31px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
    color: #2a2a2a
}

.how-wrk .step-intro {
    font-size: 18px;
    line-height: 1.7;
    text-align: center;
    color: #4a4a4a;
    margin: 0 auto 40px;
    max-width: 720px
}

.how-wrk .step-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    position: relative
}

.how-wrk .step-list::before {
    content: '';
    position: absolute;
    top: 36px;
    left: 12%;
    right: 12%;
    height: 3px;
    background: linear-gradient(90deg, #B0B62B 0%, #D85881 100%);
    z-index: 0
}

.how-wrk .step-item {
    position: relative;
    z-index: 1
}

.how-wrk .step-icon-wrap {
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    position: relative;
    border: 3px solid #fff;
    animation: border-trace 1.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes border-trace {
    0% {
        border-color: #fff;
        box-shadow: 0 7px 14px 0 #b0b62b1c
    }

    50% {
        border-color: #B0B62B;
        box-shadow: 0 12px 44px 0 #b0b62b1f
    }

    100% {
        border-color: #fff;
        box-shadow: 0 7px 14px 0 #b0b62b1c
    }
}

.how-wrk .step-icon {
    width: 36px;
    height: 36px;
    fill: none;
    stroke: #B0B62B;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.how-wrk .step-num {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 28px;
    height: 28px;
    background: #D85881;
    color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1
}

.how-wrk .step-title {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
    color: #2a2a2a
}

.how-wrk .step-desc {
    font-size: 15px;
    line-height: 1.7;
    text-align: center;
    color: #4a4a4a;
    margin: 0
}

.how-wrk .wave-divide {
    width: 100%;
    height: 80px;
    display: block;
    background: #EFECE9
}

.how-wrk .wave-divide svg {
    width: 100%;
    height: 100%;
    display: block
}

.how-wrk .profile-zone {
    padding: 72px 24px;
    background: linear-gradient(147deg, #b0b62b0a 0%, #fff0 35%, #fff0 65%, #d858810a 100%)
}

.how-wrk .profile-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center
}

.how-wrk .profile-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative
}

.how-wrk .profile-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 60px;
    background: linear-gradient(180deg, #B0B62B 0%, #D85881 100%);
    border-radius: 10px
}

.how-wrk .profile-top {
    display: flex;
    gap: 24px;
    align-items: start
}

.how-wrk .profile-img-wrap {
    width: 140px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 10px
}

.how-wrk .profile-img-wrap img {
    width: 140px;
    height: 196px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.how-wrk .profile-img-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2a2a2a00;
    transition: background .32s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    pointer-events: none
}

.how-wrk .profile-card:hover .profile-img-wrap::after {
    background: #2a2a2ab3
}

.how-wrk .profile-card:hover .profile-img-wrap img {
    transform: scale(1.08)
}

.how-wrk .profile-meta {
    flex: 1;
    padding-top: 8px
}

.how-wrk .profile-name {
    font-size: 23px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 8px;
    color: #2a2a2a
}

.how-wrk .profile-role {
    font-size: 15px;
    line-height: 1.4;
    color: #D85881;
    margin: 0;
    font-weight: 600
}

.how-wrk .profile-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    padding-left: 24px
}

.how-wrk .content-display {
    padding: 72px 24px;
    background: #fff
}

.how-wrk .content-display-inner {
    max-width: 1170px;
    margin: 0 auto
}

.how-wrk .content-head-wrap {
    text-align: center;
    margin-bottom: 40px
}

.how-wrk .content-over {
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #B0B62B;
    margin: 0 0 16px;
    font-weight: 600
}

.how-wrk .content-heading {
    font-size: 31px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 16px;
    color: #2a2a2a
}

.how-wrk .content-sub {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 auto;
    max-width: 680px
}

.how-wrk .content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

.how-wrk .content-img-box {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    height: 380px;
    box-shadow: 0 7px 14px 0 #d858811c
}

.how-wrk .content-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.how-wrk .content-img-box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2a2a2a00;
    transition: background .26s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    opacity: 0
}

.how-wrk .content-img-box:hover::after {
    background: #2a2a2abf;
    opacity: 1
}

.how-wrk .content-img-box:hover img {
    transform: scale(1.05)
}

.how-wrk .content-txt-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px
}

.how-wrk .content-feature {
    display: flex;
    gap: 16px;
    align-items: start
}

.how-wrk .feature-icon-wrap {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: #EFECE9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .24s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.how-wrk .content-feature:hover .feature-icon-wrap {
    background: #B0B62B;
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.how-wrk .feature-icon {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #2a2a2a;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.how-wrk .content-feature:hover .feature-icon {
    stroke: #fff
}

.how-wrk .feature-txt {
    flex: 1
}

.how-wrk .feature-label {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 8px;
    color: #2a2a2a
}

.how-wrk .feature-detail {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

@media (max-width: 1024px) {
    .how-wrk .title-zone {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 40px 24px 24px
    }

    .how-wrk .img-col {
        height: 320px
    }

    .how-wrk .txt-zone {
        padding-bottom: 0
    }

    .how-wrk .num-accent {
        font-size: 43px
    }

    .how-wrk .prime-head {
        font-size: 31px
    }

    .how-wrk .step-list {
        grid-template-columns: 1fr 1fr
    }

    .how-wrk .step-list::before {
        display: none
    }

    .how-wrk .profile-inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .how-wrk .content-grid {
        grid-template-columns: 1fr
    }

    .how-wrk .content-img-box {
        height: 320px
    }
}

@media (max-width: 640px) {
    .how-wrk .title-zone {
        padding: 24px 16px 16px
    }

    .how-wrk .title-zone::before,
    .how-wrk .title-zone::after {
        display: none
    }

    .how-wrk .img-col {
        height: 240px
    }

    .how-wrk .num-accent {
        font-size: 31px
    }

    .how-wrk .prime-head {
        font-size: 23px
    }

    .how-wrk .brief-exp {
        font-size: 15px
    }

    .how-wrk .step-flow {
        padding: 40px 16px
    }

    .how-wrk .step-head {
        font-size: 23px
    }

    .how-wrk .step-intro {
        font-size: 15px;
        margin-bottom: 24px
    }

    .how-wrk .step-list {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .how-wrk .wave-divide {
        height: 60px
    }

    .how-wrk .profile-zone {
        padding: 40px 16px
    }

    .how-wrk .profile-top {
        flex-direction: column
    }

    .how-wrk .profile-img-wrap {
        width: 100%
    }

    .how-wrk .profile-img-wrap img {
        width: 100%;
        height: auto;
        aspect-ratio: 5/7
    }

    .how-wrk .content-display {
        padding: 40px 16px
    }

    .how-wrk .content-heading {
        font-size: 23px
    }

    .how-wrk .content-sub {
        font-size: 15px
    }

    .how-wrk .content-img-box {
        height: 260px
    }
}

.learn-prog {
    background: #fff;
    color: #2a2a2a
}

.learn-prog .tight-band {
    background: linear-gradient(117deg, #2a2a2a 0%, #3d3d3d 100%);
    padding: 40px 16px;
    position: relative;
    overflow: hidden
}

.learn-prog .tight-band-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.learn-prog .tight-band h1 {
    font-size: 43px;
    line-height: 1.1;
    color: #fff;
    margin: 0;
    text-align: center
}

.learn-prog .tight-band h1 .accent-punct {
    color: #B0B62B
}

.learn-prog .geo-shape {
    position: absolute;
    opacity: .12;
    pointer-events: none
}

.learn-prog .geo-circle {
    width: 180px;
    height: 180px;
    border: 3px solid #D85881;
    border-radius: 50%;
    top: -60px;
    right: 8%
}

.learn-prog .geo-square {
    width: 140px;
    height: 140px;
    border: 3px solid #B0B62B;
    bottom: -40px;
    left: 12%;
    transform: rotate(15deg)
}

.learn-prog .geo-tri {
    width: 0;
    height: 0;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
    border-bottom: 120px solid #EFECE9;
    top: 50%;
    left: 5%;
    transform: translateY(-50%) rotate(-20deg)
}

.learn-prog .catalog-wrap {
    max-width: 1170px;
    margin: 0 auto;
    padding: 72px 16px
}

.learn-prog .catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 40px
}

.learn-prog .course-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.learn-prog .course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 44px 0 #b0b62b1f
}

.learn-prog .course-img-wrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative
}

.learn-prog .course-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .32s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.learn-prog .course-card:hover .course-img {
    transform: scale(1.08)
}

.learn-prog .course-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #2a2a2ae0;
    color: #fff;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.4
}

.learn-prog .course-body {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learn-prog .course-title {
    font-size: 23px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0
}

.learn-prog .course-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.learn-prog .course-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto
}

.learn-prog .meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    line-height: 1.4;
    color: #5a5a5a
}

.learn-prog .meta-label {
    font-weight: 600;
    color: #2a2a2a
}

.learn-prog .price-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 16px 0 0;
    border-top: 2px solid #EFECE9
}

.learn-prog .course-price {
    font-size: 31px;
    line-height: 1.1;
    color: #B0B62B;
    font-weight: 600;
    margin: 0
}

.learn-prog .price-terms {
    font-size: 15px;
    line-height: 1.4;
    color: #5a5a5a
}

.learn-prog .course-footer {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.learn-prog .seats-indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #D85881
}

.learn-prog .seats-dot {
    width: 8px;
    height: 8px;
    background: #D85881;
    border-radius: 50%
}

.learn-prog .course-link {
    display: block;
    background: #2a2a2a;
    color: #fff;
    text-align: center;
    padding: 16px 24px;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.4;
    text-decoration: none;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.learn-prog .course-link:hover {
    background: #B0B62B
}

.learn-prog .dual-zone {
    background: linear-gradient(117deg, #EFECE9 0%, #fff 100%);
    padding: 72px 16px;
    position: relative
}

.learn-prog .dual-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(117deg, transparent 0%, transparent 48%, #fafbf5 48%, #fafbf5 100%);
    pointer-events: none;
    z-index: 1
}

.learn-prog .dual-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: center
}

.learn-prog .dual-content h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 24px;
    position: relative;
    padding-top: 16px
}

.learn-prog .dual-content h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 72px;
    height: 3px;
    background: #B0B62B
}

.learn-prog .dual-content p {
    font-size: 18px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0 0 16px
}

.learn-prog .dual-content p:last-child {
    margin-bottom: 0
}

.learn-prog .dual-accent {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learn-prog .accent-box {
    background: #fff;
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 #d8588114;
    border: 3px solid transparent;
    transition: border-color .26s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.learn-prog .accent-box:hover {
    border-color: #D85881
}

.learn-prog .accent-box h3 {
    font-size: 23px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 8px
}

.learn-prog .accent-box p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.learn-prog .diagonal-slice {
    background: #fff;
    padding: 72px 16px;
    position: relative;
    clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 92%);
    margin: -40px 0
}

.learn-prog .diagonal-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px
}

.learn-prog .diagonal-text {
    text-align: center
}

.learn-prog .diagonal-text h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 24px
}

.learn-prog .diagonal-text p {
    font-size: 18px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0 auto;
    max-width: 800px
}

.learn-prog .metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px
}

.learn-prog .metric-card {
    background: linear-gradient(135deg, #fafafa 0%, #fff 100%);
    padding: 40px 24px;
    border-radius: 10px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.learn-prog .metric-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #B0B62B 0%, #D85881 100%)
}

.learn-prog .metric-num {
    font-size: 72px;
    line-height: 1.1;
    color: #B0B62B;
    font-weight: 600;
    margin: 0 0 8px;
    display: block
}

.learn-prog .metric-label {
    font-size: 18px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0
}

.learn-prog .instructor-zone {
    background: #EFECE9;
    padding: 72px 16px
}

.learn-prog .instructor-inner {
    max-width: 1170px;
    margin: 0 auto
}

.learn-prog .instructor-header {
    text-align: center;
    margin-bottom: 40px
}

.learn-prog .instructor-header h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px
}

.learn-prog .instructor-header p {
    font-size: 18px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0 auto;
    max-width: 700px
}

.learn-prog .instructor-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 40px
}

.learn-prog .instructor-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 14px 0 #d858811c;
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.learn-prog .instructor-card:hover {
    transform: translateY(-6px)
}

.learn-prog .instructor-photo-wrap {
    width: 100%;
    height: 320px;
    overflow: hidden
}

.learn-prog .instructor-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.learn-prog .instructor-info {
    padding: 24px;
    text-align: center
}

.learn-prog .instructor-name {
    font-size: 23px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 8px
}

.learn-prog .instructor-role {
    font-size: 15px;
    line-height: 1.4;
    color: #B0B62B;
    margin: 0 0 16px;
    font-weight: 600
}

.learn-prog .instructor-bio {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.learn-prog .process-flow {
    background: #fff;
    padding: 72px 16px;
    position: relative;
    overflow: hidden
}

.learn-prog .process-bg-animation {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 30% 40%, #b0b62b0d 0%, transparent 60%);
    background-size: 200% 200%;
    animation: bgBreathing 10s ease-in-out infinite;
    pointer-events: none
}

@keyframes bgBreathing {

    0%,
    100% {
        background-size: 200% 200%
    }

    50% {
        background-size: 220% 220%
    }
}

.learn-prog .process-inner {
    max-width: 1170px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.learn-prog .process-header {
    margin-bottom: 40px
}

.learn-prog .process-header h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px;
    text-align: center;
    position: relative;
    padding-top: 16px
}

.learn-prog .process-header h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 72px;
    height: 3px;
    background: #D85881
}

.learn-prog .process-header p {
    font-size: 18px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0 auto;
    max-width: 800px;
    text-align: center
}

.learn-prog .process-steps {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learn-prog .step-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-items: center;
    background: linear-gradient(90deg, #fafafa 0%, #fff 100%);
    padding: 24px;
    border-radius: 10px;
    position: relative
}

.learn-prog .step-row::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #B0B62B 0%, #D85881 100%);
    border-radius: 10px 0 0 10px
}

.learn-prog .step-num-wrap {
    text-align: center
}

.learn-prog .step-num {
    font-size: 72px;
    line-height: 1.1;
    color: #D85881;
    font-weight: 600;
    margin: 0;
    opacity: .3
}

.learn-prog .step-text h3 {
    font-size: 23px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 8px
}

.learn-prog .step-text p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

.learn-prog .dots-rhythm {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 24px
}

.learn-prog .rhythm-dot {
    width: 8px;
    height: 8px;
    background: #B0B62B;
    border-radius: 50%
}

.learn-prog .rhythm-dot:nth-child(2) {
    background: #D85881
}

.learn-prog .rhythm-dot:nth-child(4) {
    background: #D85881
}

.learn-prog .faq-zone {
    background: linear-gradient(117deg, #fafafa 0%, #fff 100%);
    padding: 72px 16px
}

.learn-prog .faq-inner {
    max-width: 1170px;
    margin: 0 auto
}

.learn-prog .faq-header {
    text-align: center;
    margin-bottom: 40px
}

.learn-prog .faq-header h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px
}

.learn-prog .faq-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto
}

.learn-prog .faq-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.learn-prog .faq-question {
    width: 100%;
    background: transparent;
    border: none;
    padding: 24px;
    text-align: left;
    font-size: 18px;
    line-height: 1.4;
    color: #2a2a2a;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.learn-prog .faq-question:hover {
    background: #b0b62b0d
}

.learn-prog .faq-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    transition: transform .3s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.learn-prog .faq-item.active .faq-icon {
    transform: rotate(180deg)
}

.learn-prog .faq-answer {
    padding: 0 24px;
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s cubic-bezier(0.34, 1.56, 0.64, 1), padding .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.learn-prog .faq-item.active .faq-answer {
    padding: 0 24px 24px;
    max-height: 500px
}

.learn-prog .faq-answer p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0
}

@media (max-width: 768px) {
    .learn-prog .catalog-grid {
        grid-template-columns: 1fr
    }

    .learn-prog .dual-inner {
        grid-template-columns: 1fr
    }

    .learn-prog .metric-grid {
        grid-template-columns: 1fr
    }

    .learn-prog .instructor-list {
        grid-template-columns: 1fr
    }

    .learn-prog .step-row {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .learn-prog .tight-band h1 {
        font-size: 31px
    }

    .learn-prog .dual-content h2,
    .learn-prog .diagonal-text h2,
    .learn-prog .process-header h2,
    .learn-prog .faq-header h2,
    .learn-prog .instructor-header h2 {
        font-size: 23px
    }

    .learn-prog .metric-num {
        font-size: 43px
    }

    .learn-prog .step-num {
        font-size: 43px
    }
}

.voice-about {
    background: #FFF;
    color: #2a2a2a;
    overflow-x: clip
}

.voice-about .drop-reveal {
    animation: dropIn .6s cubic-bezier(0.34, 1.56, 0.64, 1) backwards
}

.voice-about .drop-reveal:nth-child(1) {
    animation-delay: .1s
}

.voice-about .drop-reveal:nth-child(2) {
    animation-delay: .2s
}

.voice-about .drop-reveal:nth-child(3) {
    animation-delay: .3s
}

.voice-about .drop-reveal:nth-child(4) {
    animation-delay: .4s
}

.voice-about .drop-reveal:nth-child(5) {
    animation-delay: .5s
}

@keyframes dropIn {
    from {
        opacity: 0;
        transform: translateY(-40px)
    }

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

.voice-about .opening-stage {
    position: relative;
    min-height: 580px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 72px 24px;
    background: linear-gradient(147deg, #f4f4f2 0%, #fdfcfb 100%);
    overflow: hidden
}

.voice-about .opening-stage::before {
    content: '';
    position: absolute;
    top: -120px;
    left: -80px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, #b0b62b1f 0%, transparent 70%);
    filter: blur(60px);
    pointer-events: none
}

.voice-about .opening-stage::after {
    content: '';
    position: absolute;
    bottom: -100px;
    right: -60px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, #d8588117 0%, transparent 70%);
    filter: blur(70px);
    pointer-events: none
}

.voice-about .opening-stage .scatter-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .15
}

.voice-about .opening-stage .scatter-dots::before,
.voice-about .opening-stage .scatter-dots::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: #B0B62B
}

.voice-about .opening-stage .scatter-dots::before {
    width: 4px;
    height: 4px;
    top: 18%;
    left: 12%
}

.voice-about .opening-stage .scatter-dots::after {
    width: 7px;
    height: 7px;
    top: 65%;
    right: 15%
}

.voice-about .opening-stage .dot-one {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #D85881;
    top: 42%;
    left: 85%;
    opacity: .2;
    pointer-events: none
}

.voice-about .opening-stage .dot-two {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #B0B62B;
    top: 78%;
    left: 22%;
    opacity: .18;
    pointer-events: none
}

.voice-about .opening-stage .dot-three {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #D85881;
    top: 28%;
    right: 28%;
    opacity: .16;
    pointer-events: none
}

.voice-about .stage-content {
    position: relative;
    z-index: 2;
    max-width: 1170px;
    width: 100%;
    text-align: center
}

.voice-about .stage-content .big-voice {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 24px;
    color: #2a2a2a;
    letter-spacing: -.02em
}

.voice-about .stage-content .under-voice {
    font-size: 23px;
    line-height: 1.4;
    color: #5a5a5a;
    margin: 0 0 40px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.voice-about .stage-content .primary-link {
    display: inline-block;
    padding: 16px 40px;
    background: #B0B62B;
    color: #FFF;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 10px;
    transition: background .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.voice-about .stage-content .primary-link:hover {
    background: #9da126;
    box-shadow: 0 12px 44px 0 #b0b62b1f 0 0 0 0 #b0b62b66
}

.voice-about .stage-content .primary-link:focus {
    outline: 3px solid #b0b62b80;
    outline-offset: 3px
}

.voice-about .split-narrative {
    position: relative;
    padding: 72px 24px;
    background: linear-gradient(147deg, #EFECE9 0%, #f8f6f4 50%, #FFF 100%)
}

.voice-about .split-narrative::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, #b0b62b0a 0%, transparent 100%);
    pointer-events: none
}

.voice-about .split-wrap {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 72px;
    align-items: start
}

.voice-about .left-zone {
    padding: 40px 24px 40px 0
}

.voice-about .right-zone {
    padding: 24px 0 24px 40px
}

.voice-about .overline-mark {
    display: block;
    width: 60px;
    height: 2px;
    background: #D85881;
    margin: 0 0 16px
}

.voice-about .split-heading {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0 0 24px
}

.voice-about .split-text {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 24px
}

.voice-about .split-text:last-child {
    margin-bottom: 0
}

.voice-about .metric-pair {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin: 40px 0 0
}

.voice-about .metric-box {
    display: flex;
    flex-direction: column;
    padding: 24px;
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 #d8588114;
    flex: 1;
    transition: box-shadow .26s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.voice-about .metric-box:hover {
    box-shadow: 0 12px 44px 0 #d858811f
}

.voice-about .metric-num {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    color: #D85881;
    margin: 0 0 8px
}

.voice-about .metric-label {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6a6a;
    margin: 0
}

.voice-about .arrow-connector {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.voice-about .arrow-connector svg {
    width: 100%;
    height: 100%;
    fill: #B0B62B;
    opacity: .6
}

.voice-about .image-grid-block {
    padding: 72px 24px;
    background: #FFF;
    position: relative
}

.voice-about .image-grid-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #D85881
}

.voice-about .grid-container {
    max-width: 1170px;
    margin: 0 auto
}

.voice-about .grid-header {
    text-align: center;
    margin: 0 0 72px
}

.voice-about .grid-header .overline-mark {
    margin-left: auto;
    margin-right: auto;
    background: #B0B62B
}

.voice-about .grid-title {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0 0 16px
}

.voice-about .grid-subtitle {
    font-size: 18px;
    line-height: 1.7;
    color: #5a5a5a;
    margin: 0;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto
}

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

.voice-about .photo-card {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    transition: transform .32s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-about .photo-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 44px 0 #b0b62b1f
}

.voice-about .photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.voice-about .photo-card .card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 24px;
    background: linear-gradient(to top, #2a2a2ad9 0%, transparent 100%);
    color: #FFF;
    opacity: 0;
    transition: opacity .24s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.voice-about .photo-card:hover .card-overlay {
    opacity: 1
}

.voice-about .card-overlay .overlay-title {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
    margin: 0
}

.voice-about .founder-profile {
    padding: 72px 24px;
    background: linear-gradient(147deg, #fdfcfb 0%, #EFECE9 100%);
    position: relative
}

.voice-about .founder-profile::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    background: linear-gradient(270deg, #d858810d 0%, transparent 100%);
    pointer-events: none
}

.voice-about .founder-wrap {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 72px;
    align-items: center
}

.voice-about .founder-content {
    padding: 0 40px 0 0
}

.voice-about .founder-content .overline-mark {
    background: #D85881
}

.voice-about .founder-heading {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    margin: 0 0 24px
}

.voice-about .founder-bio {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 24px
}

.voice-about .founder-bio:last-of-type {
    margin-bottom: 40px
}

.voice-about .founder-name {
    font-size: 23px;
    line-height: 1.4;
    font-weight: 600;
    color: #2a2a2a;
    margin: 0 0 8px
}

.voice-about .founder-role {
    font-size: 18px;
    line-height: 1.4;
    color: #6a6a6a;
    margin: 0
}

.voice-about .founder-visual {
    position: relative;
    padding: 0 0 0 24px
}

.voice-about .portrait-frame {
    position: relative;
    width: 100%;
    max-width: 340px;
    aspect-ratio: 1/1;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 12px 44px 0 #d858811f;
    margin: 0 auto
}

.voice-about .portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.voice-about .glow-element {
    display: inline-block;
    transition: box-shadow .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-about .glow-element:hover {
    box-shadow: 0 0 24px 8px #b0b62b4d
}

.voice-about .direction-arrow {
    position: absolute;
    width: 48px;
    height: 48px;
    opacity: .15;
    pointer-events: none
}

.voice-about .direction-arrow svg {
    width: 100%;
    height: 100%;
    fill: #B0B62B
}

.voice-about .arrow-top-right {
    top: 24px;
    right: 24px;
    transform: rotate(-45deg)
}

.voice-about .arrow-bottom-left {
    bottom: 24px;
    left: 24px;
    transform: rotate(135deg)
}

@media (max-width: 1024px) {
    .voice-about .split-wrap {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .voice-about .left-zone,
    .voice-about .right-zone {
        padding: 0
    }

    .voice-about .founder-wrap {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .voice-about .founder-content {
        padding: 0
    }

    .voice-about .founder-visual {
        padding: 0
    }

    .voice-about .photo-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .voice-about .stage-content .big-voice {
        font-size: 43px
    }

    .voice-about .stage-content .under-voice {
        font-size: 18px
    }

    .voice-about .split-heading,
    .voice-about .grid-title,
    .voice-about .founder-heading {
        font-size: 31px
    }

    .voice-about .metric-pair {
        flex-direction: column;
        gap: 16px
    }

    .voice-about .arrow-connector {
        transform: rotate(90deg)
    }

    .voice-about .photo-grid {
        grid-template-columns: 1fr
    }

    .voice-about .opening-stage {
        min-height: 480px;
        padding: 40px 24px
    }

    .voice-about .split-narrative,
    .voice-about .image-grid-block,
    .voice-about .founder-profile {
        padding: 40px 24px
    }

    .voice-about .grid-header {
        margin: 0 0 40px
    }

    .voice-about .split-wrap {
        gap: 24px
    }

    .voice-about .founder-wrap {
        gap: 24px
    }
}

@media (max-width: 480px) {
    .voice-about .stage-content .big-voice {
        font-size: 31px
    }

    .voice-about .stage-content .under-voice {
        font-size: 15px
    }

    .voice-about .split-heading,
    .voice-about .grid-title,
    .voice-about .founder-heading {
        font-size: 23px
    }

    .voice-about .split-text,
    .voice-about .grid-subtitle,
    .voice-about .founder-bio {
        font-size: 15px
    }

    .voice-about .metric-num {
        font-size: 31px
    }
}

.voice-about input:focus::placeholder,
.voice-about textarea:focus::placeholder {
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-about input::placeholder,
.voice-about textarea::placeholder {
    opacity: 1;
    transition: opacity .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

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

.debut-page .title-zone {
    max-width: 1170px;
    margin: 0 auto;
    padding: 72px 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    position: relative
}

.debut-page .title-zone::before {
    content: '';
    position: absolute;
    top: 40px;
    left: -120px;
    width: 280px;
    height: 280px;
    background: linear-gradient(135deg, #B0B62B 0%, transparent 70%);
    border-radius: 10px;
    opacity: .15;
    z-index: 1;
    transform: rotate(-15deg)
}

.debut-page .title-zone::after {
    content: '';
    position: absolute;
    bottom: 60px;
    right: -80px;
    width: 200px;
    height: 200px;
    background: linear-gradient(225deg, #D85881 0%, transparent 65%);
    border-radius: 10px;
    opacity: .12;
    z-index: 1;
    transform: rotate(25deg)
}

.debut-page .img-card {
    flex: 0 0 380px;
    position: relative;
    z-index: 2
}

.debut-page .img-card img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
    filter: saturate(0.7);
    transition: filter .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.debut-page .img-card:hover img {
    filter: saturate(1)
}

.debut-page .text-lead {
    flex: 1;
    position: relative;
    z-index: 2
}

.debut-page .text-lead h1 {
    font-size: 43px;
    line-height: 1.1;
    color: #1a1a1a;
    margin: 0 0 24px;
    font-weight: 600
}

.debut-page .problem-state {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 16px
}

.debut-page .solution-state {
    font-size: 18px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0
}

.debut-page .support-wrap {
    background: #EFECE9;
    padding: 72px 24px;
    position: relative
}

.debut-page .support-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.debut-page .support-text-zone {
    padding: 24px 0
}

.debut-page .support-text-zone::before {
    content: '';
    display: block;
    width: 72px;
    height: 3px;
    background: #B0B62B;
    margin: 0 0 24px
}

.debut-page .support-text-zone h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 24px;
    font-weight: 600
}

.debut-page .support-text-zone p {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 16px
}

.debut-page .support-text-zone p:last-child {
    margin: 0
}

.debut-page .support-visual {
    position: relative
}

.debut-page .support-img-holder {
    width: 100%;
    height: 380px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    position: relative
}

.debut-page .support-img-holder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.65);
    transition: filter .26s cubic-bezier(0.34, 1.56, 0.64, 1), transform 8s linear;
    transform-origin: center
}

.debut-page .support-img-holder:hover img {
    filter: saturate(1)
}

.debut-page .support-img-holder img {
    animation: zoom-cycle 12s ease-in-out infinite
}

@keyframes zoom-cycle {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.08)
    }
}

.debut-page .support-counter {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #fffffff2;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.4;
    color: #2a2a2a;
    font-weight: 600;
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.debut-page .approach-section {
    padding: 72px 24px;
    background: #fff;
    position: relative
}

.debut-page .approach-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 940px;
    height: 100%;
    background-image: url(./background_gallery/media-20350.jpg);
    background-size: cover;
    background-position: center;
    opacity: .06;
    z-index: 1;
    pointer-events: none
}

.debut-page .approach-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #b0b62b14 0%, transparent 50%, #d8588114 100%);
    z-index: 2;
    pointer-events: none
}

.debut-page .approach-content {
    max-width: 680px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
    text-align: center
}

.debut-page .approach-content::before {
    content: '';
    display: block;
    width: 64px;
    height: 3px;
    background: #D85881;
    margin: 0 auto 24px
}

.debut-page .approach-content h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 24px;
    font-weight: 600
}

.debut-page .approach-content p {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 16px;
    text-align: left
}

.debut-page .approach-content p:last-child {
    margin: 0
}

.debut-page .experience-flow {
    background: #fff;
    padding: 72px 24px;
    position: relative
}

.debut-page .experience-container {
    max-width: 1170px;
    margin: 0 auto
}

.debut-page .experience-header {
    text-align: center;
    margin: 0 0 40px
}

.debut-page .experience-header::before {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: #B0B62B;
    margin: 0 auto 24px
}

.debut-page .experience-header h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 16px;
    font-weight: 600
}

.debut-page .experience-header p {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0;
    max-width: 740px;
    margin-left: auto;
    margin-right: auto
}

.debut-page .timeline-blocks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    position: relative
}

.debut-page .timeline-blocks::before {
    content: '';
    position: absolute;
    top: 60px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: repeating-linear-gradient(to right, #B0B62B 0px, #B0B62B 16px, transparent 16px, transparent 24px, #B0B62B 24px, #B0B62B 48px, transparent 48px, transparent 56px);
    z-index: 1
}

.debut-page .phase-card {
    position: relative;
    z-index: 2;
    text-align: center
}

.debut-page .phase-marker {
    width: 120px;
    height: 120px;
    margin: 0 auto 24px;
    border-radius: 10px;
    background: #EFECE9;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 3px 5px 0 #b0b62b14;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.debut-page .phase-marker:hover {
    background: #B0B62B;
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.debut-page .phase-number {
    font-size: 43px;
    line-height: 1.1;
    font-weight: 700;
    color: #2a2a2a;
    transition: color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.debut-page .phase-marker:hover .phase-number {
    color: #fff
}

.debut-page .phase-card h3 {
    font-size: 23px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 16px;
    font-weight: 600
}

.debut-page .phase-card p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0
}

.debut-page .offerings-zone {
    background: #EFECE9;
    padding: 72px 24px;
    position: relative
}

.debut-page .offerings-container {
    max-width: 1170px;
    margin: 0 auto
}

.debut-page .offerings-intro {
    max-width: 820px;
    margin: 0 auto 40px;
    text-align: center
}

.debut-page .offerings-intro::before {
    content: '';
    display: block;
    width: 56px;
    height: 3px;
    background: #D85881;
    margin: 0 auto 24px
}

.debut-page .offerings-intro h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 16px;
    font-weight: 600
}

.debut-page .offerings-intro p {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.debut-page .program-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px
}

.debut-page .program-item {
    background: #fff;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 3px 5px 0 #d8588114;
    transition: box-shadow .27s cubic-bezier(0.34, 1.56, 0.64, 1), transform .27s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative
}

.debut-page .program-item:hover {
    box-shadow: 0 12px 44px 0 #d858811f;
    transform: translateY(-4px)
}

.debut-page .program-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #D85881;
    border-radius: 10px 0 0 10px;
    opacity: 0;
    transition: opacity .27s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.debut-page .program-item:hover::before {
    opacity: 1
}

.debut-page .program-item h3 {
    font-size: 23px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 16px;
    font-weight: 600
}

.debut-page .program-item p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 24px
}

.debut-page .program-meta {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center
}

.debut-page .meta-detail {
    font-size: 15px;
    line-height: 1.4;
    color: #5a5a5a;
    display: flex;
    align-items: center;
    gap: 8px
}

.debut-page .meta-icon {
    width: 20px;
    height: 20px;
    border-radius: 0;
    background: #B0B62B;
    flex-shrink: 0
}

.debut-page .outcomes-section {
    background: #fff;
    padding: 72px 24px;
    position: relative
}

.debut-page .outcomes-layout {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 40fr 60fr;
    gap: 40px;
    align-items: center
}

.debut-page .outcomes-visual-zone {
    position: relative
}

.debut-page .outcomes-img-wrap {
    width: 100%;
    height: 460px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    position: relative
}

.debut-page .outcomes-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.7);
    transition: filter .29s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.debut-page .outcomes-img-wrap:hover img {
    filter: saturate(1)
}

.debut-page .profile-accent {
    position: absolute;
    bottom: 24px;
    left: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    background: #fffffff5;
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.debut-page .profile-thumb {
    width: 80px;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0
}

.debut-page .profile-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.debut-page .profile-info {
    flex: 1
}

.debut-page .profile-name {
    font-size: 18px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 8px;
    font-weight: 600
}

.debut-page .profile-role {
    font-size: 15px;
    line-height: 1.4;
    color: #5a5a5a;
    margin: 0
}

.debut-page .outcomes-text-zone {
    padding: 24px 0
}

.debut-page .outcomes-text-zone::before {
    content: '';
    display: block;
    width: 64px;
    height: 3px;
    background: #D85881;
    margin: 0 0 24px
}

.debut-page .outcomes-text-zone h2 {
    font-size: 31px;
    line-height: 1.4;
    color: #1a1a1a;
    margin: 0 0 24px;
    font-weight: 600
}

.debut-page .outcomes-text-zone p {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 16px
}

.debut-page .outcomes-text-zone p:last-child {
    margin: 0
}

.debut-page .capability-list {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.debut-page .capability-item {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 16px
}

.debut-page .capability-marker {
    width: 28px;
    height: 28px;
    border-radius: 0;
    background: #B0B62B;
    flex-shrink: 0;
    margin-top: 4px
}

.debut-page .capability-text {
    flex: 1;
    font-size: 18px;
    line-height: 1.7;
    color: #2a2a2a;
    margin: 0
}

@media (max-width: 1024px) {
    .debut-page .title-zone {
        flex-direction: column;
        padding: 40px 24px
    }

    .debut-page .img-card {
        flex: 0 0 auto;
        width: 100%;
        max-width: 480px
    }

    .debut-page .img-card img {
        height: 360px
    }

    .debut-page .support-inner {
        grid-template-columns: 1fr
    }

    .debut-page .timeline-blocks {
        grid-template-columns: 1fr
    }

    .debut-page .timeline-blocks::before {
        display: none
    }

    .debut-page .program-grid {
        grid-template-columns: 1fr
    }

    .debut-page .outcomes-layout {
        grid-template-columns: 1fr
    }

    .debut-page .outcomes-visual-zone {
        order: 2
    }

    .debut-page .outcomes-text-zone {
        order: 1
    }
}

@media (max-width: 640px) {
    .debut-page .title-zone {
        padding: 40px 16px
    }

    .debut-page .text-lead h1 {
        font-size: 31px
    }

    .debut-page .problem-state,
    .debut-page .solution-state {
        font-size: 15px
    }

    .debut-page .support-wrap,
    .debut-page .approach-section,
    .debut-page .experience-flow,
    .debut-page .offerings-zone,
    .debut-page .outcomes-section {
        padding: 40px 16px
    }

    .debut-page .support-text-zone h2,
    .debut-page .approach-content h2,
    .debut-page .experience-header h2,
    .debut-page .offerings-intro h2,
    .debut-page .outcomes-text-zone h2 {
        font-size: 23px
    }

    .debut-page .phase-marker {
        width: 100px;
        height: 100px
    }

    .debut-page .phase-number {
        font-size: 31px
    }

    .debut-page .program-item {
        padding: 24px
    }

    .debut-page .profile-accent {
        flex-direction: column;
        align-items: start
    }
}

.debut-page .divider-center {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 72px auto;
    max-width: 600px;
    gap: 16px
}

.debut-page .divider-line {
    flex: 1;
    height: 2px;
    background: repeating-linear-gradient(to right, #B0B62B 0px, #B0B62B 12px, transparent 12px, transparent 20px, #B0B62B 20px, #B0B62B 40px, transparent 40px, transparent 48px)
}

.debut-page .divider-ornament {
    width: 40px;
    height: 40px;
    background: #D85881;
    border-radius: 10px;
    transform: rotate(45deg);
    flex-shrink: 0
}

.debut-page .blur-reveal {
    opacity: 0;
    filter: blur(8px);
    animation: reveal-content 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes reveal-content {
    to {
        opacity: 1;
        filter: blur(0px)
    }
}

.debut-page .support-wrap {
    animation-delay: .2s
}

.debut-page .approach-section {
    animation-delay: .4s
}

.debut-page .experience-flow {
    animation-delay: .6s
}

.debut-page .offerings-zone {
    animation-delay: .8s
}

.debut-page .outcomes-section {
    animation-delay: 1s
}

.voice-contact {
    background: #fff;
    color: #1a1a1a;
    min-height: 100vh
}

.voice-contact * {
    box-sizing: border-box
}

.voice-contact .monochrome-stage {
    background: linear-gradient(127deg, #f5f5f5 0%, #fff 48%, #f5f5f5 100%);
    padding: 72px 24px;
    position: relative;
    overflow: hidden
}

.voice-contact .monochrome-stage::before {
    content: '';
    position: absolute;
    top: 40%;
    left: 15%;
    width: 8px;
    height: 8px;
    background: #2a2a2a;
    border-radius: 50%;
    opacity: .15
}

.voice-contact .monochrome-stage::after {
    content: '';
    position: absolute;
    top: 45%;
    left: 18%;
    width: 6px;
    height: 6px;
    background: #2a2a2a;
    border-radius: 50%;
    opacity: .12
}

.voice-contact .stage-dots-one {
    position: absolute;
    top: 52%;
    left: 20%;
    width: 4px;
    height: 4px;
    background: #2a2a2a;
    border-radius: 50%;
    opacity: .08
}

.voice-contact .stage-dots-two {
    position: absolute;
    top: 60%;
    left: 16%;
    width: 5px;
    height: 5px;
    background: #2a2a2a;
    border-radius: 50%;
    opacity: .1
}

.voice-contact .stage-dots-three {
    position: absolute;
    top: 38%;
    right: 22%;
    width: 7px;
    height: 7px;
    background: #2a2a2a;
    border-radius: 50%;
    opacity: .14
}

.voice-contact .stage-inner {
    max-width: 1170px;
    margin: 0 auto;
    text-align: center
}

.voice-contact .stage-heading {
    font-size: 72px;
    line-height: 1.1;
    margin: 0 0 24px;
    color: #0d0d0d;
    font-weight: 700;
    letter-spacing: -.02em
}

.voice-contact .stage-quote {
    font-size: 23px;
    line-height: 1.4;
    color: #4a4a4a;
    margin: 0;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.voice-contact .form-zone {
    background: #D85881;
    padding: 72px 24px;
    position: relative;
    animation: zone-shift 18s ease-in-out infinite
}

@keyframes zone-shift {

    0%,
    100% {
        background: #D85881
    }

    50% {
        background: #c54f73
    }
}

.voice-contact .form-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 35px, #ffffff08 35px, #ffffff08 36px), repeating-linear-gradient(90deg, transparent, transparent 35px, #ffffff08 35px, #ffffff08 36px), repeating-linear-gradient(60deg, transparent, transparent 35px, #ffffff05 35px, #ffffff05 36px), repeating-linear-gradient(120deg, transparent, transparent 35px, #ffffff05 35px, #ffffff05 36px);
    pointer-events: none
}

.voice-contact .form-container {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start;
    position: relative;
    z-index: 1
}

.voice-contact .form-intro {
    color: #fff
}

.voice-contact .form-overline {
    display: block;
    width: 60px;
    height: 2px;
    background: #fff6;
    margin-bottom: 16px
}

.voice-contact .form-intro-heading {
    font-size: 43px;
    line-height: 1.1;
    margin: 0 0 24px;
    color: #fff;
    font-weight: 700
}

.voice-contact .form-intro-text {
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #ffffffeb
}

.voice-contact .form-intro-list {
    list-style: none;
    padding: 0;
    margin: 40px 0 0
}

.voice-contact .form-intro-list li {
    font-size: 18px;
    line-height: 1.7;
    color: #ffffffe0;
    margin-bottom: 16px;
    padding-left: 32px;
    position: relative
}

.voice-contact .form-intro-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 16px;
    height: 2px;
    background: #ffffff80
}

.voice-contact .contact-form-wrapper {
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 12px 44px 0 #d858811f
}

.voice-contact .contact-form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.voice-contact .form-field {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.voice-contact .form-label {
    font-size: 15px;
    line-height: 1.4;
    color: #2a2a2a;
    font-weight: 600
}

.voice-contact .form-input {
    padding: 16px;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.4;
    color: #1a1a1a;
    background: #fff;
    transition: border-color .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    outline: none
}

.voice-contact .form-input::placeholder {
    color: #9a9a9a;
    transition: opacity .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-contact .form-input:focus::placeholder {
    opacity: 0
}

.voice-contact .form-input:focus {
    border-color: #D85881;
    box-shadow: 0 3px 5px 0 #d8588114 inset 0 1px 3px 0 #d8588126
}

.voice-contact .form-input:hover:not(:focus) {
    border-color: #d0d0d0
}

.voice-contact .form-textarea {
    min-height: 140px;
    resize: vertical;
    font-family: inherit
}

.voice-contact .form-select-wrapper {
    position: relative
}

.voice-contact .form-select {
    width: 100%;
    padding: 16px 40px 16px 16px;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.4;
    color: #1a1a1a;
    background: #fff;
    appearance: none;
    cursor: pointer;
    transition: border-color .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
    outline: none
}

.voice-contact .form-select:focus {
    border-color: #D85881;
    box-shadow: 0 3px 5px 0 #d8588114 inset 0 1px 3px 0 #d8588126
}

.voice-contact .form-select:hover:not(:focus) {
    border-color: #d0d0d0
}

.voice-contact .form-select-wrapper::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #4a4a4a;
    pointer-events: none
}

.voice-contact .form-privacy {
    display: flex;
    align-items: start;
    gap: 8px;
    margin-top: 8px
}

.voice-contact .form-checkbox {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #e8e8e8;
    border-radius: 0;
    cursor: pointer;
    margin-top: 2px;
    accent-color: #D85881;
    transition: border-color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-contact .form-checkbox:hover {
    border-color: #D85881
}

.voice-contact .form-checkbox:focus {
    outline: 2px solid #D85881;
    outline-offset: 2px
}

.voice-contact .form-privacy-text {
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a
}

.voice-contact .form-privacy-text a {
    color: #D85881;
    text-decoration: none;
    border-bottom: 1px solid #d858814d;
    transition: border-color .24s cubic-bezier(0.34, 1.56, 0.64, 1), color .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-contact .form-privacy-text a:hover {
    color: #c54f73;
    border-color: #c54f73
}

.voice-contact .form-submit {
    padding: 16px 40px;
    background: #B0B62B;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
    cursor: pointer;
    transition: background .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1), transform .24s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.voice-contact .form-submit:hover {
    background: #9ea327;
    box-shadow: 0 12px 44px 0 #b0b62b1f;
    transform: translateY(-2px)
}

.voice-contact .form-submit:active {
    transform: translateY(0);
    box-shadow: 0 3px 5px 0 #b0b62b14
}

.voice-contact .form-submit:focus {
    outline: 3px solid #b0b62b66;
    outline-offset: 2px
}

.voice-contact .divider-line {
    height: 1px;
    background: #e8e8e8;
    position: relative;
    margin: 0
}

.voice-contact .divider-line::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 50%
}

.voice-contact .divider-line::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #B0B62B 0%, #D85881 100%);
    border-radius: 50%
}

.voice-contact .details-split {
    background: #EFECE9;
    padding: 72px 24px;
    position: relative
}

.voice-contact .details-grid {
    max-width: 1170px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.voice-contact .detail-card {
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 7px 14px 0 #b0b62b1c;
    position: relative;
    transition: transform .32s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .32s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.voice-contact .detail-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 44px 0 #b0b62b1f
}

.voice-contact .detail-card:hover+.detail-card {
    transform: translateY(-3px);
    box-shadow: 0 7px 14px 0 #b0b62b1c
}

.voice-contact .detail-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(127deg, #f8f8f8 0%, #fff 100%);
    border-radius: 10px;
    position: relative
}

.voice-contact .detail-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: #2a2a2a;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.voice-contact .detail-card-heading {
    font-size: 23px;
    line-height: 1.4;
    margin: 0 0 16px;
    color: #0d0d0d;
    font-weight: 700
}

.voice-contact .detail-card-text {
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 24px;
    color: #4a4a4a
}

.voice-contact .detail-card-info {
    font-size: 18px;
    line-height: 1.7;
    margin: 0;
    color: #1a1a1a;
    font-weight: 600;
    word-break: break-word
}

.voice-contact .detail-card-link {
    color: #D85881 !important;
    text-decoration: none;
    border-bottom: 1px solid #d858814d;
    transition: border-color .24s cubic-bezier(0.34, 1.56, 0.64, 1), color .24s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: inline
}

.voice-contact .detail-card-link:hover {
    color: #c54f73 !important;
    border-color: #c54f73
}

@media (max-width: 1024px) {
    .voice-contact .stage-heading {
        font-size: 43px
    }

    .voice-contact .stage-quote {
        font-size: 18px
    }

    .voice-contact .form-container {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .voice-contact .form-intro-heading {
        font-size: 31px
    }

    .voice-contact .details-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .voice-contact .detail-card:hover+.detail-card {
        transform: none;
        box-shadow: 0 7px 14px 0 #b0b62b1c
    }
}

@media (max-width: 768px) {
    .voice-contact .monochrome-stage {
        padding: 40px 16px
    }

    .voice-contact .stage-heading {
        font-size: 31px
    }

    .voice-contact .stage-quote {
        font-size: 15px
    }

    .voice-contact .form-zone {
        padding: 40px 16px
    }

    .voice-contact .contact-form-wrapper {
        padding: 24px
    }

    .voice-contact .form-intro-heading {
        font-size: 23px
    }

    .voice-contact .form-intro-text {
        font-size: 15px
    }

    .voice-contact .form-intro-list li {
        font-size: 15px
    }

    .voice-contact .details-split {
        padding: 40px 16px
    }

    .voice-contact .detail-card {
        padding: 24px
    }

    .voice-contact .detail-card-heading {
        font-size: 18px
    }

    .voice-contact .detail-card-text {
        font-size: 15px
    }

    .voice-contact .detail-card-info {
        font-size: 15px
    }
}

.success-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    background: linear-gradient(247deg, #EFECE9 0%, #fff 50%, #EFECE9 100%)
}

.success-page .confirmation-wrapper {
    max-width: 680px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 72px 40px;
    box-shadow: 0 12px 44px 0 #b0b62b1f;
    text-align: center
}

.success-page .icon-check {
    width: 88px;
    height: 88px;
    margin: 0 auto 40px;
    background: #B0B62B;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.success-page .icon-check::before {
    content: '';
    width: 36px;
    height: 20px;
    border-left: 5px solid #fff;
    border-bottom: 5px solid #fff;
    transform: rotate(-45deg) translateY(-4px)
}

.success-page .confirmation-title {
    font-size: 43px;
    line-height: 1.1;
    margin: 0 0 24px;
    color: #1a1a1a
}

.success-page .confirmation-message {
    font-size: 18px;
    line-height: 1.7;
    color: #4a4a4a;
    margin: 0 0 40px
}

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

.success-page .btn-primary {
    padding: 16px 40px;
    font-size: 18px;
    background: #B0B62B;
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background .24s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.success-page .btn-primary:hover {
    background: #9ca127
}

.success-page .btn-secondary {
    padding: 16px 40px;
    font-size: 18px;
    background: #fff;
    color: #4a4a4a;
    border: 2px solid #EFECE9;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.success-page .btn-secondary:hover {
    border-color: #D85881
}

.success-page .detail-info {
    margin: 40px 0 0;
    padding: 24px;
    background: #EFECE9;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.7;
    color: #4a4a4a
}

.success-page .detail-info p {
    margin: 0
}

@media (max-width: 640px) {
    .success-page .confirmation-wrapper {
        padding: 40px 24px
    }

    .success-page .confirmation-title {
        font-size: 31px
    }

    .success-page .action-group {
        flex-direction: column
    }

    .success-page .btn-primary,
    .success-page .btn-secondary {
        width: 100%
    }
}