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

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

:focus-visible {
    outline: 2px solid #F9AA1E;
    outline-offset: 3px
}

:focus:not(:focus-visible) {
    outline: none
}

.topbar {
    background-color: #2A1927;
    padding: 8px 32px
}

.topbar-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.topbar-contact {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap
}

.topbar-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #F9F9F9;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .02em;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.topbar-item:hover {
    color: #F9AA1E
}

.topbar-item svg {
    flex-shrink: 0;
    opacity: .75
}

.topbar-tagline {
    font-size: 13px;
    color: #F9AA1E;
    letter-spacing: .04em;
    line-height: 1.4;
    font-weight: 500
}

.headermain {
    background: linear-gradient(135deg, #2A1927 0%, #3d2438 60%, #2A1927 100%);
    border-bottom: 3px solid #F9AA1E;
    box-shadow: 0 6px 22px 0 #2a192717;
    position: relative
}

.headermain-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px
}

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

.brand-logobox {
    width: 56px;
    height: 56px;
    border-radius: 0;
    background-color: #fff;
    border: 2px solid #F9AA1E;
    box-shadow: inset 0 1px 3px 0 #2a192714 0 1px 3px 0 #2a192714;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    flex-shrink: 0
}

.brand-logobox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

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

.brand-name {
    font-size: 21px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    letter-spacing: -.01em
}

.brand-sub {
    font-size: 13px;
    color: #F9AA1E;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .03em
}

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

.primarynav a {
    font-size: 15px;
    font-weight: 500;
    color: #F9F9F9;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 0;
    line-height: 1.4;
    letter-spacing: .01em;
    position: relative;
    transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    white-space: nowrap
}

.primarynav a::after {
    content: "";
    position: absolute;
    bottom: 6px;
    left: 16px;
    right: 16px;
    height: 2px;
    background-color: #F9AA1E;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.primarynav a:hover {
    color: #F9AA1E;
    background-color: #f9aa1e14
}

.primarynav a:hover::after {
    transform: scaleX(1)
}

.primarynav a[data-current="true"] {
    color: #F9AA1E
}

.primarynav a[data-current="true"]::after {
    transform: scaleX(1)
}

.sitefooter {
    background-color: #2A1927;
    border-top: 3px solid #F9AA1E;
    padding: 48px 32px 32px
}

.sitefooter-inner {
    max-width: 1400px;
    margin: 0 auto
}

.footercard {
    background-color: #f9f9f90a;
    border-radius: 28px;
    border: 1px solid #f9aa1e2e;
    box-shadow: 0 12px 36px 0 #2a192724 inset 0 1px 3px 0 #f9aa1e0f;
    padding: 48px;
    margin-bottom: 32px
}

.footergrid {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
    align-items: flex-start
}

.footerbrand {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 200px;
    flex: 0 0 auto
}

.footerbrand-logobox {
    width: 56px;
    height: 56px;
    background-color: #fff;
    border: 2px solid #F9AA1E;
    border-radius: 0;
    box-shadow: 0 1px 3px 0 #2a192714 inset 0 1px 3px 0 #2a192714;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px
}

.footerbrand-logobox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.footerbrand-name {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15
}

.footerbrand-desc {
    font-size: 13px;
    color: #f9f9f9a6;
    line-height: 1.6;
    max-width: 220px
}

.footercols {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
    flex: 1 1 auto
}

.footercol {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 160px
}

.footercol-label {
    font-size: 13px;
    font-weight: 700;
    color: #F9AA1E;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.15;
    padding-bottom: 8px;
    border-bottom: 1px solid #f9aa1e40
}

.footercol a {
    font-size: 15px;
    color: #f9f9f9cc;
    text-decoration: none;
    line-height: 1.4;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footercol a:hover {
    color: #F9AA1E
}

.footercontact {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footercontact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #f9f9f9bf;
    line-height: 1.6;
    text-decoration: none;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footercontact-item:hover {
    color: #F9AA1E
}

.footercontact-item svg {
    flex-shrink: 0;
    margin-top: 3px;
    opacity: .7
}

.footerbottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid #f9aa1e1f
}

.footercopy {
    font-size: 13px;
    color: #f9f9f973;
    line-height: 1.4
}

.footerlegal {
    display: flex;
    gap: 16px;
    flex-wrap: wrap
}

.footerlegal a {
    font-size: 13px;
    color: #f9f9f973;
    text-decoration: none;
    line-height: 1.4;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footerlegal a:hover {
    color: #F9AA1E
}

.cookiepopup {
    position: fixed;
    bottom: 32px;
    left: 32px;
    z-index: 1500;
    width: 360px;
    max-width: calc(100vw - 64px);
    background-color: #fff;
    border: 2px solid #F9AA1E;
    border-radius: 28px;
    box-shadow: 0 12px 36px 0 #2a192724;
    padding: 32px;
    display: none
}

.cookiepopup-description {
    font-size: 13px;
    color: #2A1927;
    line-height: 1.6;
    margin-bottom: 8px;
    font-family: 'Noto Sans', sans-serif
}

.cookiepopup-headline {
    font-size: 17px;
    font-weight: 700;
    color: #2A1927;
    line-height: 1.15;
    margin-bottom: 16px;
    font-family: 'Noto Sans', sans-serif
}

.cookietoggles {
    display: none;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.cookietoggles[data-open="true"] {
    display: flex
}

.cookietoggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    color: #2A1927;
    font-family: 'Noto Sans', sans-serif;
    line-height: 1.4
}

.cookietoggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #F9AA1E;
    cursor: pointer;
    flex-shrink: 0
}

.cookieactions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px
}

.cookiebtn {
    flex: 1 1 auto;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Noto Sans', sans-serif;
    border-radius: 0;
    cursor: pointer;
    line-height: 1.4;
    letter-spacing: .02em;
    transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 2px solid #2A1927;
    background-color: transparent;
    color: #2A1927
}

.cookiebtn:hover {
    background-color: #2A1927;
    color: #fff
}

.cookiebtn:focus-visible {
    outline: 2px solid #F9AA1E;
    outline-offset: 3px
}

.cookiebtn primary {
    background-color: #2A1927;
    color: #fff
}

.cookiebtn.primary {
    background-color: #2A1927;
    color: #fff
}

.cookiebtn.primary:hover {
    background-color: #F9AA1E;
    border-color: #F9AA1E;
    color: #2A1927
}

.cookiesettingslink {
    display: block;
    font-size: 13px;
    color: #2A1927;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font-family: 'Noto Sans', sans-serif;
    line-height: 1.4;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cookiesettingslink:hover {
    color: #F9AA1E
}

.cookiesettingslink:focus-visible {
    outline: 2px solid #F9AA1E;
    outline-offset: 2px
}

@media (max-width: 992px) {
    .topbar-tagline {
        display: none
    }

    .headermain-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 16px;
        gap: 16px
    }

    .brand {
        margin-left: 0
    }

    .primarynav {
        justify-content: flex-start
    }

    .primarynav a {
        font-size: 13px;
        padding: 8px 12px
    }

    .footercard {
        padding: 32px
    }

    .footergrid {
        flex-direction: column;
        gap: 32px
    }
}

@media (max-width: 576px) {
    .topbar {
        padding: 8px 16px
    }

    .topbar-contact {
        gap: 16px
    }

    .sitefooter {
        padding: 32px 16px
    }

    .footercard {
        padding: 16px
    }

    .footercols {
        gap: 32px
    }

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

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

.content-policy {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 48px;
    background: #fff
}

.content-policy h1 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #2A1927;
    margin-bottom: 32px;
    margin-top: 0
}

.content-policy h2 {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.015em;
    color: #2A1927;
    margin-top: 96px;
    margin-bottom: 32px
}

.content-policy h3 {
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: -.01em;
    color: #2A1927;
    margin-top: 48px;
    margin-bottom: 16px
}

.content-policy h4 {
    font-size: 21px;
    line-height: 1.4;
    letter-spacing: -.005em;
    color: #2A1927;
    margin-top: 32px;
    margin-bottom: 16px
}

.content-policy h5 {
    font-size: 17px;
    line-height: 1.4;
    letter-spacing: 0;
    color: #2A1927;
    margin-top: 32px;
    margin-bottom: 8px
}

.content-policy h6 {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .01em;
    color: #2A1927;
    margin-top: 32px;
    margin-bottom: 8px
}

.content-policy p {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: 0;
    color: #2A1927;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.content-policy ul,
.content-policy ol {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px;
    max-width: 72ch
}

.content-policy ul {
    list-style-type: disc
}

.content-policy ol {
    list-style-type: decimal
}

.content-policy li {
    margin-bottom: 8px;
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927
}

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

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

.content-policy a {
    color: #2A1927;
    text-decoration: underline;
    text-decoration-color: #F9AA1E;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), text-decoration-color .45s ease-in-out
}

.content-policy a:hover {
    color: #F9AA1E;
    text-decoration-color: #F9AA1E
}

.content-policy a:focus-visible {
    outline: 2px solid #F9AA1E;
    outline-offset: 2px;
    border-radius: 0
}

.content-policy table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 32px;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: 0 1px 3px 0 #2a192714;
    border-radius: 0;
    overflow: hidden
}

.content-policy thead {
    background: #2A1927
}

.content-policy thead th {
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 16px;
    text-align: left;
    font-weight: 700;
    border: none
}

.content-policy tbody tr {
    border-bottom: 1px solid #2a19271a;
    transition: background .5s ease-in-out
}

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

.content-policy tbody tr:nth-child(even) {
    background: #f9aa1e0f
}

.content-policy tbody tr:hover {
    background: #f9aa1e1f
}

.content-policy td {
    padding: 16px;
    color: #2A1927;
    font-size: 15px;
    line-height: 1.6;
    vertical-align: top;
    border: none
}

.content-policy th {
    padding: 16px;
    text-align: left;
    vertical-align: top
}

.content-policy hr {
    border: none;
    height: 1px;
    background: #2a192726;
    margin-top: 48px;
    margin-bottom: 48px
}

.content-policy div {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927
}

@media (max-width: 992px) {
    .content-policy {
        padding: 48px 32px
    }

    .content-policy h1 {
        font-size: 38px
    }

    .content-policy h2 {
        font-size: 28px;
        margin-top: 48px
    }

    .content-policy h3 {
        font-size: 21px
    }

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

@media (max-width: 576px) {
    .content-policy {
        padding: 32px 16px
    }

    .content-policy h1 {
        font-size: 28px
    }

    .content-policy h2 {
        font-size: 21px;
        margin-top: 48px
    }

    .content-policy h3 {
        font-size: 17px
    }

    .content-policy h4,
    .content-policy h5,
    .content-policy h6 {
        font-size: 15px
    }

    .content-policy p,
    .content-policy ul,
    .content-policy ol,
    .content-policy li,
    .content-policy div {
        font-size: 15px
    }

    .content-policy ul,
    .content-policy ol {
        padding-left: 16px
    }
}

.learningprogram {
    max-width: 100%;
    overflow-x: hidden
}

.learningprogram .programwrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.learningprogram .titlegrid {
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 38%, #1e0f1c 72%, #F9AA1E 100%);
    padding: 48px 32px 96px;
    position: relative
}

.learningprogram .titlegrid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #F9AA1E
}

.learningprogram .titlegrid::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #F9AA1E
}

.learningprogram .titleinner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.learningprogram .titletext {
    flex: 1 1 55%;
    position: relative
}

.learningprogram .quotemark {
    position: absolute;
    top: -16px;
    left: -32px;
    font-size: 200px;
    line-height: 1.15;
    color: #F9AA1E;
    opacity: .08;
    pointer-events: none;
    user-select: none;
    font-style: italic;
    z-index: 0
}

.learningprogram .numaccent {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #F9AA1E;
    border: 1px solid #f9aa1e66;
    border-radius: 0;
    padding: 4px 16px;
    margin-bottom: 16px;
    text-transform: uppercase
}

.learningprogram .titleheading {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 16px;
    background: linear-gradient(263deg, #F9AA1E 0%, #fff 55%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    z-index: 1
}

.learningprogram .titledesc {
    font-size: 17px;
    line-height: 1.6;
    color: #f9f9f9d1;
    max-width: 520px;
    margin: 0 0 32px;
    position: relative;
    z-index: 1
}

.learningprogram .titlestats {
    display: flex;
    flex-direction: row;
    gap: 32px;
    position: relative;
    z-index: 1
}

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

.learningprogram .statnum {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #F9AA1E
}

.learningprogram .statlabel {
    font-size: 13px;
    line-height: 1.4;
    color: #f9f9f999;
    letter-spacing: .06em
}

.learningprogram .titleimage {
    flex: 1 1 40%;
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2a192724
}

.learningprogram .titleimage img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block
}

.learningprogram .scanoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, #2a192712 3px, #2a192712 4px);
    pointer-events: none
}

.learningprogram .coloroverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(263deg, #f9aa1e38 0%, #2a192770 100%);
    mix-blend-mode: multiply;
    pointer-events: none
}

.learningprogram .svgdivider {
    display: block;
    width: 100%;
    line-height: 0;
    background: #fff
}

.learningprogram .svgdivider svg {
    display: block;
    width: 100%
}

.learningprogram .modulesblock {
    background: #fff;
    padding: 96px 32px 48px;
    border-top: 3px solid #2A1927;
    border-bottom: 3px solid #2A1927
}

.learningprogram .modulesinner {
    max-width: 1400px;
    margin: 0 auto
}

.learningprogram .modulestop {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 48px
}

.learningprogram .modulesheading {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0;
    max-width: 540px;
    background: linear-gradient(263deg, #2A1927 20%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.learningprogram .modulesdesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2A1927;
    max-width: 340px;
    margin: 0;
    opacity: .72
}

.learningprogram .modulegrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 48px
}

.learningprogram .modulecard {
    border-radius: 28px;
    background: #f4f0f3;
    padding: 32px;
    border-left: 4px solid #F9AA1E;
    border-top: 1px solid #2a192714;
    box-shadow: 0 1px 3px 0 #2a192714;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.learningprogram .modulecard:hover {
    box-shadow: 0 12px 36px 0 #2a192724;
    transform: translateY(-4px)
}

.learningprogram .cardnum {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.04em;
    color: #F9AA1E;
    margin-bottom: 8px;
    display: block
}

.learningprogram .cardtitle {
    font-size: 21px;
    line-height: 1.4;
    color: #2A1927;
    margin: 0 0 8px
}

.learningprogram .carddesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2A1927;
    opacity: .7;
    margin: 0 0 16px
}

.learningprogram .cardtag {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .08em;
    color: #2A1927;
    background: #f9aa1e2e;
    border-radius: 0;
    padding: 4px 8px
}

.learningprogram .imagerow {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 32px;
    background: #2A1927;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 6px 22px 0 #2a192717
}

.learningprogram .imagerowpic {
    flex: 0 0 380px;
    position: relative;
    overflow: hidden
}

.learningprogram .imagerowpic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 280px
}

.learningprogram .imagerowoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(263deg, #f9aa1e2e 0%, #2a19278c 100%);
    mix-blend-mode: multiply;
    pointer-events: none
}

.learningprogram .imagerowtext {
    flex: 1;
    padding: 48px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.learningprogram .imagerowheading {
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: -.01em;
    color: #F9AA1E;
    margin: 0
}

.learningprogram .imagerowbody {
    font-size: 15px;
    line-height: 1.6;
    color: #f9f9f9cc;
    margin: 0;
    max-width: 480px
}

.learningprogram .iconrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px
}

.learningprogram .iconitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.learningprogram .iconwrap {
    width: 36px;
    height: 36px;
    border-radius: 0;
    border: 1px solid #f9aa1e80;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    animation: floaticon 3.2s ease-in-out infinite
}

@keyframes floaticon {

    0%,
    100% {
        transform: translateY(0px)
    }

    50% {
        transform: translateY(-5px)
    }
}

.learningprogram .iconitem:nth-child(2) .iconwrap {
    animation-delay: .8s
}

.learningprogram .iconitem:nth-child(3) .iconwrap {
    animation-delay: 1.6s
}

.learningprogram .iconsvg {
    width: 18px;
    height: 18px;
    stroke: #F9AA1E;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.learningprogram .iconlabel {
    font-size: 13px;
    color: #f9f9f9b3;
    letter-spacing: .05em
}

.learningprogram .ctarow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 8px
}

.learningprogram .btnprimary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F9AA1E;
    color: #2A1927;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 16px 32px;
    border-radius: 0;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 6px 22px 0 #f9aa1e17;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden
}

.learningprogram .btnprimary:hover {
    background: #e09a10;
    box-shadow: 0 12px 36px 0 #f9aa1e24;
    transform: translateY(-2px)
}

.learningprogram .btnprimary:focus {
    outline: 3px solid #F9AA1E;
    outline-offset: 3px
}

.learningprogram .btnprimary:active {
    transform: translateY(0px)
}

.learningprogram .btnsecondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: #f9f9f9d9;
    font-size: 15px;
    letter-spacing: .04em;
    padding: 16px 32px;
    border-radius: 0;
    border: 1px solid #f9f9f94d;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .5s ease-in-out, color .5s ease-in-out
}

.learningprogram .btnsecondary:hover {
    border-color: #F9AA1E;
    color: #F9AA1E
}

.learningprogram .btnsecondary:focus {
    outline: 3px solid #F9AA1E;
    outline-offset: 3px
}

@media (max-width: 992px) {
    .learningprogram .titleinner {
        flex-direction: column
    }

    .learningprogram .titleimage {
        flex: 1 1 auto;
        width: 100%
    }

    .learningprogram .titleimage img {
        height: 300px
    }

    .learningprogram .modulegrid {
        grid-template-columns: repeat(2, 1fr)
    }

    .learningprogram .modulestop {
        flex-direction: column;
        align-items: flex-start
    }

    .learningprogram .imagerow {
        flex-direction: column
    }

    .learningprogram .imagerowpic {
        flex: 0 0 auto
    }

    .learningprogram .imagerowpic img {
        height: 240px
    }
}

@media (max-width: 576px) {
    .learningprogram .titlegrid {
        padding: 32px 16px 48px
    }

    .learningprogram .titleheading {
        font-size: 38px
    }

    .learningprogram .titlestats {
        flex-direction: column;
        gap: 16px
    }

    .learningprogram .modulegrid {
        grid-template-columns: 1fr
    }

    .learningprogram .modulesblock {
        padding: 48px 16px 32px
    }

    .learningprogram .iconrow {
        flex-direction: column;
        gap: 16px
    }

    .learningprogram .ctarow {
        flex-direction: column
    }

    .learningprogram .imagerowtext {
        padding: 32px 16px
    }

    .learningprogram .quotemark {
        font-size: 120px;
        left: -8px
    }
}

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

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

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

.root .titleblock .imagecol {
    position: relative;
    overflow: hidden
}

.root .titleblock .imagecol img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.root .titleblock .imagecol .imgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 30%, #2A1927 100%)
}

.root .titleblock .textcol {
    background: #2A1927;
    padding: 96px 48px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px
}

@media (max-width: 992px) {
    .root .titleblock .textcol {
        padding: 48px 32px
    }

    .root .titleblock .imagecol {
        height: 280px
    }
}

.root .titleblock .dotgrid {
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    overflow: hidden
}

.root .titleblock .dotgrid svg {
    width: 100%;
    height: 100%;
    opacity: .18
}

.root .titleblock .badgelabel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f9aa1e1f;
    border: 1px solid #f9aa1e59;
    border-radius: 0;
    padding: 4px 16px;
    width: fit-content
}

.root .titleblock .badgelabel span {
    font-size: 13px;
    color: #F9AA1E;
    letter-spacing: .08em;
    line-height: 1.4
}

.root .titleblock .mainheading {
    font-size: clamp(28px, 4vw, 50px);
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #F9F9F9;
    margin: 0
}

.root .titleblock .mainheading .keyword {
    position: relative;
    display: inline;
    text-decoration: none;
    background: linear-gradient(263deg, #F9AA1E 0%, #F9AA1E 60%, #f9d87e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    padding-bottom: 2px;
    border-bottom: 2px solid #F9AA1E
}

.root .titleblock .subtitle {
    font-size: 17px;
    line-height: 1.6;
    color: #f9f9f9b8;
    margin: 0;
    max-width: 440px
}

.root .titleblock .ctarow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.root .titleblock .btnprimary {
    background: #F9AA1E;
    color: #2A1927;
    border: none;
    border-radius: 0;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .45s ease-in-out;
    box-shadow: 0 6px 22px 0 #2a192717;
    position: relative;
    overflow: hidden
}

.root .titleblock .btnprimary:hover {
    background: #e09810;
    box-shadow: 0 12px 36px 0 #2a192724
}

.root .titleblock .btnprimary:focus-visible {
    outline: 3px solid #F9AA1E !important;
    outline-offset: 3px !important
}

.root .titleblock .btnprimary:active {
    background: #c8870e
}

.root .titleblock .statrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap
}

.root .titleblock .statitem {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.root .titleblock .statitem .statnum {
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
    color: #F9AA1E;
    letter-spacing: -.01em
}

.root .titleblock .statitem .statlabel {
    font-size: 13px;
    line-height: 1.4;
    color: #f9f9f98c;
    letter-spacing: .06em
}

.root .titleblock .animatein {
    animation: diagslide .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.root .titleblock .animatein.delay1 {
    animation-delay: .1s
}

.root .titleblock .animatein.delay2 {
    animation-delay: .22s
}

.root .titleblock .animatein.delay3 {
    animation-delay: .34s
}

.root .titleblock .animatein.delay4 {
    animation-delay: .46s
}

.root .titleblock .animatein.delay5 {
    animation-delay: .58s
}

@keyframes diagslide {
    from {
        opacity: 0;
        transform: translate(-18px, 18px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

.root .outcomeblock {
    padding: 96px 48px;
    background: #F9F9F9;
    position: relative
}

@media (max-width: 992px) {
    .root .outcomeblock {
        padding: 48px 16px
    }
}

.root .outcomeblock .doublerule {
    width: 64px;
    height: 10px;
    position: relative;
    margin-bottom: 32px
}

.root .outcomeblock .doublerule::before,
.root .outcomeblock .doublerule::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: #2A1927
}

.root .outcomeblock .doublerule::before {
    top: 0
}

.root .outcomeblock .doublerule::after {
    bottom: 0
}

.root .outcomeblock .sectiontag {
    font-size: 13px;
    letter-spacing: .1em;
    color: #F9AA1E;
    line-height: 1.4;
    margin-bottom: 8px;
    display: block
}

.root .outcomeblock .sectionheading {
    font-size: clamp(28px, 3.5vw, 38px);
    line-height: 1.15;
    letter-spacing: -.015em;
    background: linear-gradient(263deg, #2A1927 0%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 16px;
    max-width: 600px
}

.root .outcomeblock .lead {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    max-width: 520px;
    margin: 0 0 48px
}

.root .outcomeblock .outcomegrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px
}

@media (max-width: 992px) {
    .root .outcomeblock .outcomegrid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 576px) {
    .root .outcomeblock .outcomegrid {
        grid-template-columns: 1fr
    }
}

.root .outcomeblock .outcomecard {
    background: #fff;
    border-radius: 0;
    padding: 32px;
    border-left: 4px solid #F9AA1E;
    border-top: 1px solid #2a192714;
    box-shadow: 0 1px 3px 0 #2a192714;
    transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative
}

.root .outcomeblock .outcomecard:hover {
    box-shadow: 0 12px 36px 0 #2a192724;
    transform: translateY(-4px)
}

.root .outcomeblock .outcomecard .cardnum {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 700;
    color: #F9AA1E;
    letter-spacing: -.02em;
    display: block;
    margin-bottom: 8px
}

.root .outcomeblock .outcomecard .cardtitle {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
    color: #2A1927;
    margin: 0 0 8px
}

.root .outcomeblock .outcomecard .carddesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a1927b8;
    margin: 0
}

.root .outcomeblock .imagerow {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 32px;
    align-items: center
}

@media (max-width: 992px) {
    .root .outcomeblock .imagerow {
        grid-template-columns: 1fr
    }
}

.root .outcomeblock .imagerow .imagewrap {
    overflow: hidden;
    border-radius: 28px;
    box-shadow: 0 6px 22px 0 #2a192717
}

.root .outcomeblock .imagerow .imagewrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.root .outcomeblock .imagerow .imagewrap:hover img {
    transform: scale(1.04)
}

.root .outcomeblock .imagerow .imagetextside {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .outcomeblock .imagerow .imagetextside .bigquote {
    font-size: 21px;
    line-height: 1.4;
    color: #2A1927;
    font-style: italic;
    margin: 0;
    padding-left: 16px;
    border-left: 3px solid #F9AA1E
}

.root .outcomeblock .imagerow .imagetextside .smallnote {
    font-size: 15px;
    line-height: 1.6;
    color: #2a1927a6;
    margin: 0
}

.root .experienceblock {
    padding: 96px 48px;
    background: #2A1927;
    position: relative;
    overflow: hidden
}

@media (max-width: 992px) {
    .root .experienceblock {
        padding: 48px 16px
    }
}

.root .experienceblock .decorationdots {
    position: absolute;
    bottom: 32px;
    right: 32px;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.root .experienceblock .decorationdots .dotrow {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.root .experienceblock .decorationdots .dot {
    border-radius: 28px;
    background: #f9aa1e40
}

.root .experienceblock .innerlayout {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1
}

@media (max-width: 992px) {
    .root .experienceblock .innerlayout {
        grid-template-columns: 1fr
    }
}

.root .experienceblock .leftsidebar {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.root .experienceblock .exptag {
    font-size: 13px;
    letter-spacing: .1em;
    color: #F9AA1E;
    line-height: 1.4
}

.root .experienceblock .expheading {
    font-size: clamp(21px, 3vw, 38px);
    line-height: 1.15;
    letter-spacing: -.015em;
    background: linear-gradient(263deg, #F9F9F9 0%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0
}

.root .experienceblock .expimage {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2a192724
}

.root .experienceblock .expimage img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block
}

.root .experienceblock .rightside {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.root .experienceblock .profilecard {
    background: #f9f9f90f;
    border: 1px solid #f9aa1e33;
    border-radius: 0;
    padding: 32px;
    box-shadow: inset 0 1px 8px 0 #f9aa1e0f;
    transition: border-color .5s ease-in-out
}

.root .experienceblock .profilecard:hover {
    border-color: #f9aa1e73
}

.root .experienceblock .profilecard .profilename {
    font-size: 17px;
    font-weight: 700;
    color: #F9AA1E;
    line-height: 1.4;
    margin: 0 0 4px
}

.root .experienceblock .profilecard .profilemeta {
    font-size: 13px;
    color: #f9f9f980;
    line-height: 1.4;
    margin: 0 0 16px;
    letter-spacing: .05em
}

.root .experienceblock .profilecard .profiletext {
    font-size: 15px;
    line-height: 1.6;
    color: #f9f9f9d1;
    margin: 0
}

.root .experienceblock .datatable {
    width: 100%;
    border-collapse: collapse
}

.root .experienceblock .datatable th {
    font-size: 13px;
    letter-spacing: .08em;
    color: #F9AA1E;
    text-align: left;
    padding: 8px 16px;
    border-bottom: 1px solid #f9aa1e40;
    line-height: 1.4
}

.root .experienceblock .datatable td {
    font-size: 15px;
    color: #f9f9f9cc;
    padding: 8px 16px;
    line-height: 1.6
}

.root .experienceblock .datatable tr:nth-child(even) td {
    background: #f9f9f90a
}

.root .experienceblock .datatable tr:hover td {
    background: #f9aa1e14;
    transition: background .45s ease-in-out
}

.root .programblock {
    padding: 96px 48px;
    background: #fff;
    position: relative
}

@media (max-width: 992px) {
    .root .programblock {
        padding: 48px 16px
    }
}

.root .programblock .toprule {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px
}

.root .programblock .toprule .ruleline {
    flex: 1;
    height: 1px;
    background: #2a19271f;
    position: relative
}

.root .programblock .toprule .ruleline::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    right: 0;
    height: 1px;
    background: #f9aa1e4d
}

.root .programblock .toprule .rulelabel {
    font-size: 13px;
    letter-spacing: .1em;
    color: #2a192773;
    white-space: nowrap;
    line-height: 1.4
}

.root .programblock .programheading {
    font-size: clamp(28px, 3.5vw, 38px);
    line-height: 1.15;
    letter-spacing: -.015em;
    background: linear-gradient(263deg, #2A1927 20%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 16px
}

.root .programblock .programlead {
    font-size: 17px;
    line-height: 1.6;
    color: #2a1927b3;
    max-width: 560px;
    margin: 0 0 48px
}

.root .programblock .programgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

@media (max-width: 992px) {
    .root .programblock .programgrid {
        grid-template-columns: 1fr
    }
}

.root .programblock .programitem {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: start;
    padding: 32px;
    border: 1px solid #2a192714;
    border-left: 4px solid #2A1927;
    border-radius: 0;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-left-color .45s ease-in-out;
    box-shadow: 0 1px 3px 0 #2a192714
}

.root .programblock .programitem:hover {
    box-shadow: 0 6px 22px 0 #2a192717;
    border-left-color: #F9AA1E
}

.root .programblock .programitem .itemnumber {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 700;
    color: #F9AA1E;
    letter-spacing: -.02em;
    text-align: center
}

.root .programblock .programitem .itemtext {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.root .programblock .programitem .itemtitle {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
    color: #2A1927;
    margin: 0
}

.root .programblock .programitem .itemdesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a1927a6;
    margin: 0
}

.root .programblock .bottomrow {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center
}

@media (max-width: 992px) {
    .root .programblock .bottomrow {
        grid-template-columns: 1fr
    }
}

.root .programblock .bottomrow .imagewrap {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 6px 22px 0 #2a192717
}

.root .programblock .bottomrow .imagewrap img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.root .programblock .bottomrow .imagewrap:hover img {
    transform: scale(1.03)
}

.root .programblock .bottomrow .ctaside {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .programblock .bottomrow .ctaside .ctaheading {
    font-size: 21px;
    line-height: 1.4;
    font-weight: 600;
    color: #2A1927;
    margin: 0
}

.root .programblock .bottomrow .ctaside .ctadesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a1927a6;
    margin: 0
}

.root .programblock .bottomrow .ctaside .btnmain {
    background: #2A1927;
    color: #F9F9F9;
    border: none;
    border-radius: 0;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    width: fit-content;
    transition: background-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .45s ease-in-out;
    box-shadow: 0 6px 22px 0 #2a192717
}

.root .programblock .bottomrow .ctaside .btnmain:hover {
    background: #3e2438;
    box-shadow: 0 12px 36px 0 #2a192724
}

.root .programblock .bottomrow .ctaside .btnmain:focus-visible {
    outline: 3px solid #F9AA1E !important;
    outline-offset: 3px !important
}

.root .programblock .bottomrow .ctaside .btnmain:active {
    background: #1e101b
}

.aboutus {
    max-width: 1400px;
    margin: 0 auto;
    overflow-x: clip
}

.aboutus .topblock {
    position: relative;
    padding: 96px 48px 48px;
    background: #F0EBF0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.aboutus .topblock::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(263deg, #F0EBF0 60%, #F9AA1E22 100%);
    pointer-events: none
}

.aboutus .topblock .corner-line-tl {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #2A1927;
    border-left: 2px solid #2A1927;
    pointer-events: none
}

.aboutus .topblock .corner-line-br {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 32px;
    height: 32px;
    border-bottom: 2px solid #F9AA1E;
    border-right: 2px solid #F9AA1E;
    pointer-events: none
}

.aboutus .topblock .imagewrap {
    position: relative;
    z-index: 1;
    width: 320px;
    max-width: 100%;
    margin-bottom: 32px
}

.aboutus .topblock .imagewrap img {
    width: 320px;
    max-width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 0;
    display: block;
    box-shadow: 0 6px 22px 0 #2a192717
}

.aboutus .topblock .imagewrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, #2a19270a 2px, #2a19270a 3px);
    pointer-events: none
}

.aboutus .topblock .caption {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 13px;
    letter-spacing: .18em;
    color: #2A1927;
    text-transform: uppercase;
    margin-bottom: 16px;
    opacity: .7
}

.aboutus .topblock .caption::after {
    content: '';
    display: block;
    width: 48px;
    height: 1px;
    background: #F9AA1E;
    margin: 8px auto 0
}

.aboutus .topblock h1 {
    position: relative;
    z-index: 1;
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 16px;
    background: linear-gradient(263deg, #2A1927 30%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    max-width: 640px
}

.aboutus .topblock .description {
    position: relative;
    z-index: 1;
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    max-width: 520px;
    margin: 0 0 32px
}

.aboutus .topblock .actionlink {
    position: relative;
    z-index: 1;
    display: inline-block;
    background: #2A1927;
    color: #F9F9F9;
    font-size: 15px;
    letter-spacing: .06em;
    padding: 16px 32px;
    border-radius: 0;
    text-decoration: none;
    border: 2px solid #2A1927;
    transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease-in-out
}

.aboutus .topblock .actionlink:hover {
    background: #F9AA1E;
    color: #2A1927;
    border-color: #F9AA1E
}

.aboutus .divider-blur {
    height: 1px;
    background: transparent;
    box-shadow: 0 1px 12px 3px #2a19271a;
    margin: 0
}

.aboutus .storyblock {
    padding: 96px 48px;
    background: #fff;
    position: relative;
    margin-left: 32px
}

.aboutus .storyblock::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(263deg, #fff 55%, #f9aa1e14 100%);
    pointer-events: none
}

.aboutus .storyblock .bgspot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    border-radius: 28px;
    background: radial-gradient(circle at 50% 50%, #f9aa1e1a 0%, transparent 70%);
    animation: spotpulse 5s ease-in-out infinite;
    pointer-events: none
}

@keyframes spotpulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .7
    }

    50% {
        transform: translate(-50%, -50%) scale(1.18);
        opacity: 1
    }
}

.aboutus .storyblock .grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    max-width: 1100px
}

.aboutus .storyblock .textside h2 {
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.01em;
    margin: 0 0 8px;
    background: linear-gradient(263deg, #2A1927 20%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.aboutus .storyblock .textside .subcap {
    display: block;
    font-size: 13px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #F9AA1E;
    margin-bottom: 32px
}

.aboutus .storyblock .textside .subcap::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 1px;
    background: #F9AA1E;
    vertical-align: middle;
    margin-right: 8px
}

.aboutus .storyblock .textside p {
    font-size: 15px;
    line-height: 1.6;
    color: #2A1927;
    margin: 0 0 16px
}

.aboutus .storyblock .textside p.wide {
    max-width: 100%
}

.aboutus .storyblock .textside p.narrow {
    max-width: 360px
}

.aboutus .storyblock .visualside {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.aboutus .storyblock .visualside .imgframe {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 6px 22px 0 #2a192717
}

.aboutus .storyblock .visualside .imgframe img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.aboutus .storyblock .visualside .imgframe:hover img {
    transform: scale(1.04)
}

.aboutus .storyblock .visualside .imgframe .gradienmask {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, #2a192773 100%);
    opacity: 0;
    transition: opacity .5s ease-in-out;
    pointer-events: none
}

.aboutus .storyblock .visualside .imgframe:hover .gradienmask {
    opacity: 1
}

.aboutus .storyblock .visualside .imgframe .masklabel {
    position: absolute;
    bottom: 16px;
    left: 16px;
    color: #F9F9F9;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .55s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none
}

.aboutus .storyblock .visualside .imgframe:hover .masklabel {
    opacity: 1;
    transform: translateY(0)
}

.aboutus .storyblock .metrics {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px
}

.aboutus .storyblock .metricitem {
    display: flex;
    flex-direction: column;
    border-left: 3px solid #F9AA1E;
    border-top: 1px solid #2a19271a;
    padding: 8px 0 8px 16px;
    box-shadow: inset 2px 0 8px 0 #f9aa1e14
}

.aboutus .storyblock .metricitem .mval {
    font-size: 28px;
    line-height: 1.15;
    color: #2A1927;
    letter-spacing: -.02em
}

.aboutus .storyblock .metricitem .mlabel {
    font-size: 13px;
    color: #2A1927;
    opacity: .65;
    letter-spacing: .08em;
    margin-top: 4px
}

.aboutus .divider-offset {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #2a19271f 40%, #f9aa1e40 70%, transparent 100%);
    margin: 0 48px
}

.aboutus .teamblock {
    padding: 96px 48px 96px 16px;
    background: #2A1927;
    position: relative;
    margin-right: 32px;
    overflow: hidden
}

.aboutus .teamblock::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(263deg, #2a192700 60%, #f9aa1e1f 100%);
    pointer-events: none
}

.aboutus .teamblock .corner-tri {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 64px 64px 0;
    border-color: transparent #f9aa1e2e transparent transparent;
    pointer-events: none
}

.aboutus .teamblock .corner-tri-bl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 0 0 48px;
    border-color: transparent transparent transparent #f9aa1e1f;
    pointer-events: none
}

.aboutus .teamblock h2 {
    position: relative;
    z-index: 1;
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 8px;
    background: linear-gradient(263deg, #F9F9F9 30%, #F9AA1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    max-width: 600px
}

.aboutus .teamblock .subcap {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 13px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #F9AA1E;
    margin-bottom: 48px
}

.aboutus .teamblock .subcap::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 1px;
    background: #F9AA1E;
    vertical-align: middle;
    margin-left: 8px
}

.aboutus .teamblock .teamgrid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1100px
}

.aboutus .teamblock .membercard {
    background: #f9f9f90d;
    border-radius: 0;
    border-top: 2px solid #f9aa1e59;
    border-right: 1px solid #f9f9f914;
    padding: 32px;
    box-shadow: 0 1px 3px 0 #2a192714;
    transition: background .5s ease-in-out, border-top-color .5s ease-in-out
}

.aboutus .teamblock .membercard:hover {
    background: #f9aa1e14;
    border-top-color: #F9AA1E
}

.aboutus .teamblock .membercard .mname {
    font-size: 17px;
    line-height: 1.4;
    color: #F9F9F9;
    margin: 0 0 4px;
    letter-spacing: .01em
}

.aboutus .teamblock .membercard .mrole {
    font-size: 13px;
    color: #F9AA1E;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.aboutus .teamblock .membercard .mbio {
    font-size: 15px;
    line-height: 1.6;
    color: #f9f9f9b8;
    margin: 0
}

.aboutus .teamblock .chartarea {
    position: relative;
    z-index: 1;
    margin-top: 48px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.aboutus .teamblock .chartlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #f9f9f9b8;
    max-width: 260px;
    padding-top: 16px
}

.aboutus .teamblock .chartlabel strong {
    color: #F9AA1E
}

.aboutus .spiderwrap {
    flex: 0 0 auto
}

.aboutus .spiderwrap svg {
    display: block
}

@media (max-width: 992px) {
    .aboutus .storyblock {
        margin-left: 0
    }

    .aboutus .storyblock .grid {
        grid-template-columns: 1fr
    }

    .aboutus .teamblock {
        margin-right: 0;
        padding-left: 32px
    }

    .aboutus .teamblock .teamgrid {
        grid-template-columns: 1fr 1fr
    }

    .aboutus .teamblock .chartarea {
        flex-direction: column;
        align-items: center
    }
}

@media (max-width: 576px) {
    .aboutus .topblock {
        padding: 48px 16px 32px
    }

    .aboutus .storyblock {
        padding: 48px 16px
    }

    .aboutus .teamblock {
        padding: 48px 16px
    }

    .aboutus .teamblock .teamgrid {
        grid-template-columns: 1fr
    }

    .aboutus .teamblock h2 {
        font-size: 28px
    }

    .aboutus .topblock h1 {
        font-size: 28px
    }

    .aboutus .storyblock .metrics {
        flex-direction: column;
        gap: 16px
    }

    .aboutus .divider-offset {
        margin: 0 16px
    }
}

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

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

.contactus .diamond-divider span {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #F9AA1E;
    transform: rotate(45deg);
    opacity: .6
}

.contactus .diamond-divider span:nth-child(3) {
    opacity: 1;
    width: 8px;
    height: 8px
}

.contactus .diamond-divider span:nth-child(1),
.contactus .diamond-divider span:nth-child(5) {
    opacity: .3
}

.contactus .reach-band {
    background: #2A1927;
    padding: 96px 32px 48px;
    position: relative;
    overflow: hidden
}

.contactus .reach-band::before {
    content: '';
    position: absolute;
    top: -60px;
    left: -60px;
    width: 320px;
    height: 320px;
    background: #F9AA1E;
    opacity: .04;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none
}

.contactus .reach-band::after {
    content: '';
    position: absolute;
    bottom: -40px;
    right: 10%;
    width: 200px;
    height: 200px;
    background: #F9AA1E;
    opacity: .06;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none
}

.contactus .reach-initials {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    font-size: 160px;
    font-weight: 900;
    color: #F9AA1E;
    opacity: .04;
    line-height: 1.15;
    pointer-events: none;
    user-select: none;
    letter-spacing: -4px
}

.contactus .reach-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: start
}

.contactus .reach-label {
    font-size: 13px;
    letter-spacing: .12em;
    color: #F9AA1E;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.contactus .reach-heading {
    font-size: 50px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0 0 32px;
    background: linear-gradient(263deg, #F9AA1E 0%, #fff 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -.02em
}

.contactus .reach-subtext {
    font-size: 17px;
    line-height: 1.6;
    color: #f9f9f9b8;
    margin: 0;
    max-width: 420px
}

.contactus .reach-details {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px
}

.contactus .detail-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    border-left: 3px solid #F9AA1E;
    border-top: 1px solid #f9aa1e2e;
    padding: 16px;
    background: #f9aa1e0a;
    border-radius: 0;
    box-shadow: inset 0 1px 3px 0 #2a192714
}

.contactus .detail-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.contactus .detail-icon svg {
    width: 22px;
    height: 22px;
    stroke: #F9AA1E;
    fill: none;
    stroke-width: 1.6
}

.contactus .detail-label {
    font-size: 13px;
    color: #f9f9f973;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px
}

.contactus .detail-value {
    font-size: 17px;
    color: #F9F9F9;
    line-height: 1.4;
    display: block
}

.contactus .detail-value a {
    color: #F9AA1E;
    text-decoration: none;
    transition: opacity .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .detail-value a:hover {
    opacity: .75
}

.contactus .form-area {
    background: #F9F9F9;
    padding: 96px 32px;
    position: relative
}

.contactus .form-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(263deg, #2A1927 0%, #F9AA1E 100%)
}

.contactus .form-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 96px;
    align-items: start
}

.contactus .form-card {
    background: #fff;
    border-radius: 28px;
    padding: 48px;
    box-shadow: 0 6px 22px 0 #2a192717 0 1px 3px 0 #2a192714
}

.contactus .form-card-heading {
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
    color: #2A1927;
    margin: 0 0 8px;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contactus .form-card-sub {
    font-size: 15px;
    color: #5a4a57;
    line-height: 1.6;
    margin: 0 0 32px
}

.contactus .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px
}

.contactus .field-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.contactus .field-label {
    font-size: 13px;
    font-weight: 600;
    color: #2A1927;
    letter-spacing: .05em
}

.contactus .field-label .required-mark {
    color: #F9AA1E;
    margin-left: 2px
}

.contactus .field-input {
    border: 1.5px solid #e2d8e0;
    border-radius: 0;
    padding: 12px 16px;
    font-size: 15px;
    color: #2A1927;
    background: #fff;
    outline: none;
    transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 100%;
    box-sizing: border-box
}

.contactus .field-input::placeholder {
    color: #2a192759
}

.contactus .field-input:focus {
    border-color: #F9AA1E;
    box-shadow: inset 0 1px 3px 0 #f9aa1e1f 0 0 0 3px #f9aa1e1a
}

.contactus .field-select {
    border: 1.5px solid #e2d8e0;
    border-radius: 0;
    padding: 12px 16px;
    font-size: 15px;
    color: #2A1927;
    background: #fff;
    outline: none;
    transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    cursor: pointer
}

.contactus .field-select:focus {
    border-color: #F9AA1E;
    box-shadow: inset 0 1px 3px 0 #f9aa1e1f
}

.contactus .select-wrapper {
    position: relative
}

.contactus .select-wrapper::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #2A1927;
    pointer-events: none
}

.contactus .conditional-toggle {
    display: none
}

.contactus .conditional-label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 15px;
    color: #2A1927;
    padding: 12px 16px;
    background: #f9aa1e12;
    border-radius: 0;
    border-left: 3px solid #F9AA1E;
    border-top: 1px solid #f9aa1e33;
    margin-bottom: 16px;
    user-select: none;
    transition: background .48s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .conditional-label:hover {
    background: #f9aa1e21
}

.contactus .conditional-label .toggle-box {
    width: 18px;
    height: 18px;
    border: 2px solid #F9AA1E;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .48s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .conditional-toggle:checked+.conditional-label .toggle-box {
    background: #F9AA1E
}

.contactus .conditional-toggle:checked+.conditional-label .toggle-box::after {
    content: '';
    display: block;
    width: 10px;
    height: 6px;
    border-left: 2px solid #2A1927;
    border-bottom: 2px solid #2A1927;
    transform: rotate(-45deg) translateY(-1px)
}

.contactus .conditional-fields {
    display: none;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px;
    background: #2a192708;
    border-radius: 0
}

.contactus .conditional-toggle:checked~.conditional-fields {
    display: flex
}

.contactus .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin: 32px 0 24px
}

.contactus .privacy-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid #e2d8e0;
    accent-color: #F9AA1E;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer
}

.contactus .privacy-text {
    font-size: 13px;
    color: #5a4a57;
    line-height: 1.6
}

.contactus .privacy-text a {
    color: #2A1927;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .privacy-text a:hover {
    color: #F9AA1E
}

.contactus .submit-btn {
    background: #2A1927;
    color: #F9AA1E;
    border: none;
    border-radius: 0;
    padding: 16px 48px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    cursor: pointer;
    transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 6px 22px 0 #2a192717;
    display: inline-block
}

.contactus .submit-btn:hover {
    background: #F9AA1E;
    color: #2A1927;
    box-shadow: 0 12px 36px 0 #2a192724
}

.contactus .submit-btn:focus {
    outline: 3px solid #F9AA1E;
    outline-offset: 3px
}

.contactus .submit-btn:active {
    box-shadow: 0 1px 3px 0 #2a192714
}

.contactus .form-aside {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px
}

.contactus .aside-card {
    background: #2A1927;
    border-radius: 28px;
    padding: 32px;
    box-shadow: 0 6px 22px 0 #2a192717
}

.contactus .aside-card-label {
    font-size: 13px;
    color: #F9AA1E;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.contactus .aside-card-text {
    font-size: 15px;
    color: #f9f9f9bf;
    line-height: 1.6;
    margin: 0
}

.contactus .aside-stat {
    background: #fff;
    border-radius: 0;
    border-left: 4px solid #F9AA1E;
    border-top: 1px solid #f9aa1e40;
    padding: 24px;
    box-shadow: 0 1px 3px 0 #2a192714
}

.contactus .aside-stat-num {
    font-size: 38px;
    font-weight: 800;
    color: #2A1927;
    line-height: 1.15;
    display: block;
    letter-spacing: -.02em
}

.contactus .aside-stat-desc {
    font-size: 13px;
    color: #5a4a57;
    line-height: 1.4;
    margin-top: 4px;
    display: block
}

.contactus .image-strip {
    padding: 48px 32px 96px;
    background: #fff;
    position: relative
}

.contactus .image-strip-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.contactus .image-frame {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 12px 36px 0 #2a192724
}

.contactus .image-frame img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
    transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .image-frame:hover img {
    transform: scale(1.03)
}

.contactus .image-frame-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: #2A1927;
    color: #F9AA1E;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 8px 16px;
    border-radius: 0;
    text-transform: uppercase
}

.contactus .strip-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.contactus .strip-heading {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 800;
    color: #2A1927;
    margin: 0;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 65%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -.02em
}

.contactus .strip-body {
    font-size: 15px;
    line-height: 1.6;
    color: #3d2e3a;
    margin: 0;
    max-width: 480px
}

.contactus .strip-meta {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px
}

.contactus .strip-meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.contactus .strip-meta-val {
    font-size: 21px;
    font-weight: 700;
    color: #2A1927;
    line-height: 1.15
}

.contactus .strip-meta-key {
    font-size: 13px;
    color: #7a6677;
    line-height: 1.4
}

.contactus .icon-outline-anim {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.contactus .icon-outline-anim svg.outline-trace {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    pointer-events: none
}

.contactus .icon-outline-anim svg.outline-trace circle {
    fill: none;
    stroke: #F9AA1E;
    stroke-width: 1.5;
    stroke-dasharray: 130;
    stroke-dashoffset: 130;
    transition: stroke-dashoffset .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contactus .detail-item:hover .outline-trace circle {
    stroke-dashoffset: 0
}

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

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

.contactus .reach-left {
    animation: colReveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.contactus .reach-right {
    animation: colReveal .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .28s both
}

.contactus .form-card {
    animation: colReveal .58s cubic-bezier(0.25, 0.46, 0.45, 0.94) .12s both
}

.contactus .form-aside {
    animation: colReveal .62s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s both
}

@media (max-width: 992px) {
    .contactus .reach-inner {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .contactus .reach-heading {
        font-size: 38px
    }

    .contactus .reach-initials {
        display: none
    }

    .contactus .form-inner {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .contactus .image-strip-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }
}

@media (max-width: 576px) {
    .contactus .reach-band {
        padding: 48px 16px 32px
    }

    .contactus .reach-heading {
        font-size: 28px
    }

    .contactus .form-area {
        padding: 48px 16px
    }

    .contactus .form-card {
        padding: 32px 16px
    }

    .contactus .field-row {
        grid-template-columns: 1fr
    }

    .contactus .image-strip {
        padding: 32px 16px 48px
    }

    .contactus .strip-heading {
        font-size: 28px
    }

    .contactus .strip-meta {
        flex-direction: column;
        gap: 16px
    }
}

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

.support .pagetop {
    display: flex;
    flex-direction: row;
    min-height: 0
}

.support .pagetop .left {
    background: #2A1927;
    flex: 1 1 55%;
    padding: 96px 48px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.support .pagetop .left::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    right: 24px;
    bottom: 24px;
    border: 1px solid #f9aa1e38;
    pointer-events: none
}

.support .pagetop .left::after {
    content: '';
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-top: 2px solid #F9AA1E;
    border-left: 2px solid #F9AA1E;
    pointer-events: none
}

.support .pagetop .leftcorner {
    position: absolute;
    bottom: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    border-bottom: 2px solid #F9AA1E;
    border-right: 2px solid #F9AA1E;
    pointer-events: none
}

.support .pagetop .right {
    flex: 1 1 45%;
    background: #F9AA1E;
    position: relative;
    overflow: hidden;
    min-height: 420px
}

.support .pagetop .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: panimage 18s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate
}

.support .pagetop .right .imgoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, #2a19278c 0%, #2a192714 60%, transparent 100%);
    pointer-events: none
}

@keyframes panimage {
    0% {
        object-position: 30% 50%
    }

    100% {
        object-position: 70% 50%
    }
}

.support .pagetop .tagline {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #F9AA1E;
    text-transform: uppercase;
    margin-bottom: 16px;
    opacity: 0;
    animation: blurtosharp .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s forwards
}

.support .pagetop .tagline::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 2px;
    background: #F9AA1E;
    vertical-align: middle;
    margin-right: 8px
}

.support .pagetop h1 {
    font-size: 50px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #F9F9F9;
    margin: 0 0 16px;
    opacity: 0;
    animation: blurtosharp .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .25s forwards;
    background: linear-gradient(263deg, #F9AA1E 0%, #F9F9F9 55%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.support .pagetop .subtext {
    font-size: 17px;
    line-height: 1.6;
    color: #f9f9f9c7;
    max-width: 420px;
    margin: 0;
    opacity: 0;
    animation: blurtosharp .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) .45s forwards
}

@keyframes blurtosharp {
    0% {
        opacity: 0;
        filter: blur(8px)
    }

    100% {
        opacity: 1;
        filter: blur(0)
    }
}

.support .divider {
    border: none;
    border-top: 1px dotted #2a19272e;
    margin: 0
}

.support .faqblock {
    background: #fff;
    padding: 96px 48px;
    max-width: 1400px;
    margin: 0 auto
}

.support .faqblock .faqhead {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px;
    margin-bottom: 48px
}

.support .faqblock h2 {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.015em;
    margin: 0;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    flex: 1 1 auto
}

.support .faqblock .faqnote {
    font-size: 15px;
    line-height: 1.6;
    color: #2A1927;
    max-width: 320px;
    margin: 0;
    flex: 0 0 auto
}

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

.support .faqitem {
    border-left: 3px solid #F9AA1E;
    border-top: 1px solid #2a19271a;
    border-right: 1px solid #2a192712;
    border-bottom: 1px solid #2a192712;
    padding: 32px;
    background: #fff;
    box-shadow: 0 1px 3px 0 #2a192714;
    transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.support .faqitem:hover {
    box-shadow: 0 6px 22px 0 #2a192717;
    transform: translateY(-2px)
}

.support .faqitem h4 {
    font-size: 17px;
    line-height: 1.4;
    color: #2A1927;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.support .faqitem p {
    font-size: 15px;
    line-height: 1.6;
    color: #3d2e3b;
    margin: 0
}

.support .divider2 {
    border: none;
    border-top: 1px dotted #2a19271f;
    margin: 0 48px
}

.support .contactblock {
    background: #f2edf1;
    padding: 96px 48px
}

.support .contactblock .inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.support .contactblock .leftcol {
    flex: 1 1 50%
}

.support .contactblock h2 {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.015em;
    color: #2A1927;
    margin: 0 0 16px;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.support .contactblock .contactdesc {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    margin: 0 0 32px;
    max-width: 380px
}

.support .contactblock .rightcol {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.support .contactcard {
    background: #fff;
    border-left: 3px solid #2A1927;
    border-top: 1px solid #2a19271a;
    border-right: 1px solid #2a192712;
    border-bottom: 1px solid #2a192712;
    padding: 32px;
    box-shadow: 0 1px 3px 0 #2a192714;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.support .contactcard:hover {
    box-shadow: 0 12px 36px 0 #2a192724
}

.support .contactcard .icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    background: #2A1927;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.support .contactcard .icon svg {
    width: 20px;
    height: 20px
}

.support .contactcard .cardtext h5 {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F9AA1E;
    margin: 0 0 4px
}

.support .contactcard .cardtext p {
    font-size: 17px;
    line-height: 1.4;
    color: #2A1927;
    margin: 0
}

.support .contactcard .cardtext a {
    font-size: 17px;
    line-height: 1.4;
    color: #2A1927;
    text-decoration: none;
    border-bottom: 1px solid #2a192740;
    transition: border-color .45s ease-in-out, color .5s ease-in-out
}

.support .contactcard .cardtext a:hover {
    color: #F9AA1E;
    border-color: #F9AA1E
}

.support .hoursblock {
    margin-top: 32px;
    background: #2A1927;
    padding: 32px;
    border-radius: 0
}

.support .hoursblock h5 {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F9AA1E;
    margin: 0 0 16px
}

.support .hoursrow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f9f9f91a
}

.support .hoursrow:last-child {
    border-bottom: none
}

.support .hoursrow .day {
    font-size: 15px;
    color: #f9f9f9b3
}

.support .hoursrow .time {
    font-size: 15px;
    color: #F9F9F9;
    font-weight: 600
}

.support .divider3 {
    border: none;
    border-top: 1px dotted #2a192726;
    margin: 0
}

.support .codeblock {
    padding: 96px 48px;
    max-width: 1400px;
    margin: 0 auto
}

.support .codeblock .codehead {
    margin-bottom: 48px
}

.support .codeblock h2 {
    font-size: 38px;
    line-height: 1.15;
    letter-spacing: -.015em;
    margin: 0 0 16px;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 65%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.support .codeblock .codedesc {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    max-width: 560px;
    margin: 0
}

.support .codepanel {
    display: flex;
    flex-direction: row;
    gap: 0;
    border: 1px solid #2a19271f;
    box-shadow: 0 6px 22px 0 #2a192717
}

.support .codeside {
    flex: 1 1 55%;
    background: #1e1119;
    padding: 32px;
    overflow: hidden
}

.support .codeside .codetab {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin-bottom: 16px
}

.support .codeside .codetab span {
    width: 12px;
    height: 12px;
    border-radius: 28px;
    display: inline-block
}

.support .codeside .codetab .dot1 {
    background: #ff5f57
}

.support .codeside .codetab .dot2 {
    background: #febc2e
}

.support .codeside .codetab .dot3 {
    background: #28c840
}

.support .codeside pre {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #c9b8c5;
    white-space: pre-wrap;
    word-break: break-word
}

.support .codeside pre .kw {
    color: #F9AA1E
}

.support .codeside pre .str {
    color: #a8d8a8
}

.support .codeside pre .num {
    color: #88ccf0
}

.support .codeside pre .cm {
    color: #c9b8c573;
    font-style: italic
}

.support .outputside {
    flex: 1 1 45%;
    background: #fff;
    border-left: 1px solid #2a19271a;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.support .outputside h5 {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F9AA1E;
    margin: 0 0 8px
}

.support .outputrow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 16px;
    background: #f2edf1;
    border-left: 3px solid #F9AA1E;
    border-right: 1px solid #2a192712;
    border-top: 1px solid #2a192712;
    border-bottom: 1px solid #2a192712
}

.support .outputrow .label {
    font-size: 13px;
    color: #2A1927;
    letter-spacing: .03em
}

.support .outputrow .value {
    font-size: 15px;
    color: #2A1927;
    font-weight: 700
}

.support .outputrow .value.positive {
    color: #1a6e3c
}

.support .outputrow .value.negative {
    color: #a0200e
}

.support .outputnote {
    font-size: 13px;
    line-height: 1.6;
    color: #2a19278c;
    margin: 0;
    padding-top: 8px;
    border-top: 1px dotted #2a192726
}

@media (max-width: 992px) {
    .support .pagetop {
        flex-direction: column
    }

    .support .pagetop .right {
        min-height: 280px
    }

    .support .pagetop h1 {
        font-size: 38px
    }

    .support .faqgrid {
        grid-template-columns: 1fr
    }

    .support .faqblock .faqhead {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .support .contactblock .inner {
        flex-direction: column
    }

    .support .codepanel {
        flex-direction: column
    }

    .support .codeside {
        flex: none
    }

    .support .outputside {
        flex: none;
        border-left: none;
        border-top: 1px solid #2a19271a
    }
}

@media (max-width: 576px) {
    .support .pagetop .left {
        padding: 48px 32px
    }

    .support .faqblock {
        padding: 48px 16px
    }

    .support .contactblock {
        padding: 48px 16px
    }

    .support .codeblock {
        padding: 48px 16px
    }

    .support .pagetop h1 {
        font-size: 28px
    }

    .support .faqblock h2,
    .support .contactblock h2,
    .support .codeblock h2 {
        font-size: 28px
    }
}

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

.successPage .card {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 28px;
    padding: 48px;
    box-shadow: 0 6px 22px 0 #2a192717 0 12px 36px 0 #2a192724;
    border-top: 4px solid #F9AA1E;
    text-align: center
}

.successPage .icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 32px;
    display: flex;
    align-items: center;
    justify-content: center
}

.successPage .icon svg {
    width: 64px;
    height: 64px
}

.successPage .heading {
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #2A1927;
    margin: 0 0 16px;
    background: linear-gradient(263deg, #F9AA1E 0%, #2A1927 60%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.successPage .message {
    font-size: 17px;
    line-height: 1.6;
    color: #2A1927;
    margin: 0 0 32px;
    opacity: .82
}

.successPage .divider {
    width: 48px;
    height: 2px;
    background: #F9AA1E;
    margin: 0 auto 32px;
    border-radius: 0
}

.successPage .detail {
    font-size: 15px;
    line-height: 1.4;
    color: #2A1927;
    opacity: .65;
    margin: 0 0 48px
}

.successPage .backLink {
    display: inline-block;
    padding: 16px 32px;
    background: #2A1927;
    color: #F9AA1E;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: .02em;
    border-radius: 0;
    text-decoration: none;
    transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease-in-out;
    border: 2px solid #2A1927
}

.successPage .backLink:hover {
    background: #F9AA1E;
    color: #2A1927;
    border-color: #F9AA1E
}

.successPage .backLink:focus {
    outline: 3px solid #F9AA1E;
    outline-offset: 4px
}

@media (max-width: 576px) {
    .successPage {
        padding: 48px 16px
    }

    .successPage .card {
        padding: 32px 16px
    }

    .successPage .heading {
        font-size: 21px
    }
}