html {
    box-sizing: border-box;
    scroll-behavior: smooth
}

html,
body {
    margin: 0;
    padding: 0
}

body {
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #1a2060
}

:focus {
    outline: none;
    border-bottom: 4px solid #1C23A7
}

::selection {
    background: linear-gradient(90deg, #1C23A7, #BCA4D4);
    color: #fff
}

.gymheaderplate {
    position: relative;
    width: 100%;
    background: #ffffffe0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 2px solid #1c23a71f;
    box-shadow: 0 3px 4px -1px #1c23a70f 0 7px 25px -1px #1c23a71c;
    z-index: 100
}

.gymheaderdeck {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    gap: 0
}

.gymlogopod {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0 8px;
    border-bottom: 1px solid #1c23a726
}

.gymlogocell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border: 2px dashed #1c23a766;
    border-radius: 11px;
    background: #d0e1e82e;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    padding: 8px;
    flex-shrink: 0;
    text-decoration: none
}

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

.gymstatuspod {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #1C23A7
}

.gymstatusdot {
    width: 10px;
    height: 10px;
    border-radius: 46px;
    background: #1C23A7;
    border: 2px solid #1c23a74d;
    box-shadow: 0 0 0 3px #1c23a71a;
    flex-shrink: 0
}

.gymstatustext {
    font-size: 16px;
    line-height: 1.15;
    color: #1C23A7;
    letter-spacing: .05em
}

.gymnavpod {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    gap: 8px;
    flex-wrap: wrap
}

.gymnavlink {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .04em;
    color: #1C23A7;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.gymnavlink::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1c23a714;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0;
    border-radius: 6px
}

.gymnavlink:hover::before {
    height: 100%
}

.gymnavlink:hover {
    border-color: #1c23a74d;
    color: #1C23A7
}

.gymnavlink span {
    position: relative;
    z-index: 1
}

.gymnavlink.active {
    border-color: #1C23A7;
    background: #1c23a70f
}

.gymnavactioncell {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.gymnavbtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-family: 'PT Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .04em;
    color: #1C23A7;
    text-decoration: none;
    border: 2px solid #1C23A7;
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.gymnavbtn::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1C23A7;
    transition: height .16s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.gymnavbtn:hover::before {
    height: 100%
}

.gymnavbtn:hover {
    color: #fff
}

.gymnavbtn span {
    position: relative;
    z-index: 1
}

.gymfooterplate {
    background: linear-gradient(160deg, #1c23a70f 0%, #d0e1e84d 100%);
    border-top: 2px solid #1c23a724;
    box-shadow: 0 -3px 4px -1px #1c23a70f
}

.gymfooterdeck {
    max-width: 1500px;
    margin: 0 auto;
    padding: 40px 40px 0
}

.gymfootertop {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #1c23a71f;
    flex-wrap: wrap
}

.gymfooterlogocell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.gymfooterlogoframe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border: 2px dashed #1c23a759;
    border-radius: 11px;
    background: #ffffffb3;
    box-shadow: 0 3px 4px -1px #1c23a70f 0 7px 25px -1px #1c23a71c;
    padding: 8px
}

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

.gymfooterbrandname {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    color: #1C23A7;
    letter-spacing: -.01em;
    text-align: center
}

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

.gymfootercontactlabel {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    color: #1C23A7;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 8px
}

.gymfootercontactrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.65;
    color: #2a3180
}

.gymfootercontactrow a {
    color: #1C23A7;
    text-decoration: none;
    border-bottom: 1px solid #1c23a74d;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.gymfootercontactrow a:hover {
    border-color: #1C23A7
}

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

.gymfooterhourslabel {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    color: #1C23A7;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 8px
}

.gymfooterhoursrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.65;
    color: #2a3180
}

.gymfooterhoursday {
    font-weight: 700;
    color: #1C23A7;
    min-width: 80px
}

.gymfooterbottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    flex-wrap: wrap
}

.gymfooternav {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.gymfooternavlink {
    font-size: 16px;
    line-height: 1.15;
    color: #1C23A7;
    text-decoration: none;
    border-bottom: 1px solid #1c23a74d;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1);
    letter-spacing: .02em
}

.gymfooternavlink:hover {
    border-color: #1C23A7
}

.gymcopyright {
    font-size: 16px;
    line-height: 1.15;
    color: #1c23a799;
    letter-spacing: .02em
}

@media (max-width: 1024px) {
    .gymheaderdeck {
        padding: 0 16px
    }

    .gymfooterdeck {
        padding: 40px 16px 0
    }

    .gymfootertop {
        gap: 16px
    }
}

@media (max-width: 640px) {
    .gymlogopod {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 16px 0 8px
    }

    .gymnavpod {
        justify-content: flex-start
    }

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

    .gymfooterbottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

@media (max-width: 360px) {
    .gymlogocell {
        width: 70px;
        height: 70px
    }

    .gymfooterlogoframe {
        width: 70px;
        height: 70px
    }

    .gymnavlink {
        padding: 8px;
        font-size: 16px
    }
}

.terms-body {
    max-width: 1500px;
    margin: 0 auto;
    padding: 80px 40px;
    color: #2a2d5e
}

.terms-body h1 {
    font-size: 60px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #1C23A7;
    margin-bottom: 40px;
    margin-top: 0;
    padding-bottom: 16px;
    border-bottom: 3px solid #BCA4D4
}

.terms-body h2 {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1C23A7;
    margin-top: 80px;
    margin-bottom: 16px
}

.terms-body h3 {
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #1C23A7;
    margin-top: 40px;
    margin-bottom: 16px
}

.terms-body h4 {
    font-size: 24px;
    line-height: 1.65;
    letter-spacing: 0;
    color: #1C23A7;
    margin-top: 40px;
    margin-bottom: 8px
}

.terms-body h5 {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .04em;
    color: #1C23A7;
    text-transform: uppercase;
    margin-top: 40px;
    margin-bottom: 8px
}

.terms-body h6 {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .02em;
    color: #3d45b8;
    margin-top: 16px;
    margin-bottom: 8px
}

.terms-body p {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .01em;
    color: #2a2d5e;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.terms-body strong,
.terms-body b {
    font-weight: 700;
    color: #1C23A7
}

.terms-body a {
    color: #1C23A7;
    text-decoration: underline;
    text-decoration-color: #BCA4D4;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
    border-radius: 6px;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1), text-decoration-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.terms-body a:hover {
    color: #BCA4D4;
    text-decoration-color: #1C23A7
}

.terms-body a:focus-visible {
    outline: 2px solid #1C23A7;
    outline-offset: 3px;
    border-radius: 6px
}

.terms-body hr {
    border: none;
    border-top: 2px solid #D0E1E8;
    margin-top: 40px;
    margin-bottom: 40px;
    border-radius: 6px
}

@media (max-width: 1024px) {
    .terms-body {
        padding: 80px 40px
    }

    .terms-body h1 {
        font-size: 44px
    }

    .terms-body h2 {
        font-size: 32px
    }

    .terms-body h3 {
        font-size: 24px
    }
}

@media (max-width: 640px) {
    .terms-body {
        padding: 40px 16px
    }

    .terms-body h1 {
        font-size: 32px;
        margin-bottom: 16px
    }

    .terms-body h2 {
        font-size: 24px;
        margin-top: 40px
    }

    .terms-body h3 {
        font-size: 16px;
        margin-top: 40px
    }

    .terms-body h4,
    .terms-body h5,
    .terms-body h6 {
        font-size: 16px;
        margin-top: 16px
    }

    .terms-body p {
        max-width: 100%
    }

    .terms-body hr {
        margin-top: 40px;
        margin-bottom: 40px
    }
}

@media (max-width: 360px) {
    .terms-body {
        padding: 40px 8px
    }

    .terms-body h1 {
        font-size: 24px
    }
}

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

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

::selection {
    background: linear-gradient(90deg, #1C23A7, #BCA4D4);
    color: #fff
}

.contactus .reach {
    position: relative;
    padding: 80px 40px;
    background: conic-gradient(from 200deg at 38% 55%, #f0f2ff 0deg, #e8eeff 40deg, #f5f0fa 100deg, #edf4f7 180deg, #f0f2ff 360deg);
    overflow: hidden
}

.contactus .reach::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 120px 120px 0;
    border-color: transparent #1c23a712 transparent transparent;
    pointer-events: none
}

.contactus .reach::after {
    content: '';
    position: absolute;
    bottom: -50px;
    left: -50px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 0 0 100px;
    border-color: transparent transparent transparent #bca4d41a;
    pointer-events: none
}

.contactus .reach .driftaccent {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 320px;
    height: 320px;
    background: radial-gradient(ellipse 60% 40% at 40% 60%, #1c23a70f 0%, transparent 70%);
    animation: driftmove 8s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
    pointer-events: none;
    border-radius: 46px
}

@keyframes driftmove {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: .7
    }

    100% {
        transform: translate(60px, 30px) scale(1.15);
        opacity: 1
    }
}

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

.contactus .reach .reachleft {
    position: relative
}

.contactus .reach .reachleft .accentline {
    position: absolute;
    left: -16px;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #1C23A7 0%, #BCA4D4 100%);
    border-radius: 6px
}

.contactus .reach .reachleft h1 {
    font-size: 60px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #113;
    margin: 0 0 16px;
    font-weight: 800
}

.contactus .reach .reachleft h1 .gradword {
    background: linear-gradient(135deg, #1C23A7 30%, #BCA4D4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contactus .reach .reachleft .leadtext {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a4a;
    margin: 0 0 40px;
    max-width: 380px
}

.contactus .reach .reachleft .infoblock {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.contactus .reach .reachleft .inforow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #ffffffb3;
    border-radius: 11px;
    border: 1.5px solid #1c23a714;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachleft .inforow:hover {
    box-shadow: 0 7px 25px -1px #1c23a71c;
    border-color: #1c23a72e
}

.contactus .reach .reachleft .inforow .iconwrap {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: linear-gradient(135deg, #1C23A7 0%, #2a33c4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.contactus .reach .reachleft .inforow .iconwrap svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.contactus .reach .reachleft .inforow .infolabel {
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    color: #113;
    margin: 0 0 4px
}

.contactus .reach .reachleft .inforow .infolabel .colon {
    color: #1C23A7
}

.contactus .reach .reachleft .inforow .infovalue {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a4a;
    margin: 0;
    word-break: break-word
}

.contactus .reach .reachleft .inforow .infovalue a {
    color: #1C23A7;
    text-decoration: none;
    border-bottom: 1px solid #1c23a740;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachleft .inforow .infovalue a:hover {
    border-color: #1C23A7
}

.contactus .reach .reachright {
    position: relative
}

.contactus .reach .reachright .formcard {
    background: #fff;
    border-radius: 18px;
    padding: 40px;
    box-shadow: 0 10px 60px -1px #1c23a71f;
    border: 1.5px solid #1c23a712;
    position: relative;
    overflow: hidden
}

.contactus .reach .reachright .formcard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #1C23A7 0%, #BCA4D4 100%);
    border-radius: 18px 18px 0 0
}

.contactus .reach .reachright .formcard h2 {
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #113;
    margin: 0 0 8px;
    font-weight: 700
}

.contactus .reach .reachright .formcard .formdesc {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4a6a;
    margin: 0 0 40px
}

.contactus .reach .reachright .formcard .fieldgroup {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px
}

.contactus .reach .reachright .formcard .fieldwrap {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contactus .reach .reachright .formcard label {
    font-size: 16px;
    line-height: 1.15;
    font-weight: 600;
    color: #113;
    letter-spacing: .01em
}

.contactus .reach .reachright .formcard label .colon {
    color: #1C23A7
}

.contactus .reach .reachright .formcard input[type="email"],
.contactus .reach .reachright .formcard select,
.contactus .reach .reachright .formcard textarea {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.65;
    color: #113;
    background: #f8f9ff;
    border: 2px solid #1c23a726;
    border-radius: 11px;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: inset 0 2px 6px #1c23a70d;
    transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachright .formcard input[type="email"]:focus,
.contactus .reach .reachright .formcard select:focus,
.contactus .reach .reachright .formcard textarea:focus {
    border-color: #1C23A7;
    box-shadow: inset 0 2px 6px #1c23a714 0 0 0 3px #1c23a714;
    background: #fff
}

.contactus .reach .reachright .formcard input[type="email"]::placeholder,
.contactus .reach .reachright .formcard textarea::placeholder {
    color: #9090b0
}

.contactus .reach .reachright .formcard .selectwrap {
    position: relative
}

.contactus .reach .reachright .formcard .selectwrap select {
    cursor: pointer;
    padding-right: 40px
}

.contactus .reach .reachright .formcard .selectwrap .arrowicon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 16px;
    height: 16px
}

.contactus .reach .reachright .formcard .selectwrap .arrowicon svg {
    width: 16px;
    height: 16px;
    stroke: #1C23A7;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

.contactus .reach .reachright .formcard textarea {
    resize: vertical;
    min-height: 100px
}

.contactus .reach .reachright .formcard .privacywrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin: 16px 0;
    padding: 16px;
    background: #d0e1e84d;
    border-radius: 11px;
    border: 1.5px solid #bca4d440
}

.contactus .reach .reachright .formcard .privacywrap input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 2px;
    accent-color: #1C23A7;
    cursor: pointer;
    border-radius: 6px
}

.contactus .reach .reachright .formcard .privacywrap .privacytext {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a4a;
    margin: 0
}

.contactus .reach .reachright .formcard .privacywrap .privacytext a {
    color: #1C23A7;
    text-decoration: none;
    border-bottom: 1px solid #1c23a74d;
    transition: border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachright .formcard .privacywrap .privacytext a:hover {
    border-color: #1C23A7
}

.contactus .reach .reachright .formcard .submitbtn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #1C23A7;
    background: transparent;
    border: 2.5px solid #1C23A7;
    border-radius: 11px;
    cursor: pointer;
    overflow: hidden;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachright .formcard .submitbtn::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1C23A7;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.contactus .reach .reachright .formcard .submitbtn:hover::before {
    height: 100%
}

.contactus .reach .reachright .formcard .submitbtn:hover {
    color: #fff
}

.contactus .reach .reachright .formcard .submitbtn span {
    position: relative;
    z-index: 1
}

.contactus .reach .reachright .formcard .submitbtn svg {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .reach .reachright .formcard .submitbtn:hover svg {
    transform: translateX(4px)
}

.contactus .reach .reachright .formcard .submitbtn:focus-visible {
    outline: 3px solid #1c23a766;
    outline-offset: 3px
}

.contactus .imagedivider {
    position: relative;
    padding: 80px 40px;
    background: #113;
    overflow: hidden
}

.contactus .imagedivider::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 80px 80px 0;
    border-color: transparent #bca4d426 transparent transparent;
    pointer-events: none
}

.contactus .imagedivider::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 60px 0 0 60px;
    border-color: transparent transparent transparent #1c23a733;
    pointer-events: none
}

.contactus .imagedivider .imagedividerinner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.contactus .imagedivider .imageside {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 10px 60px -1px #1c23a71f
}

.contactus .imagedivider .imageside img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.85) saturate(0.9)
}

.contactus .imagedivider .imageside .tintlayer {
    position: absolute;
    inset: 0;
    background: #1c23a72e;
    border-radius: 18px;
    pointer-events: none
}

.contactus .imagedivider .textside {
    position: relative
}

.contactus .imagedivider .textside .accentline {
    position: absolute;
    left: -16px;
    top: 0;
    height: 60px;
    width: 3px;
    background: linear-gradient(180deg, #BCA4D4 0%, #bca4d433 100%);
    border-radius: 6px
}

.contactus .imagedivider .textside h2 {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 16px;
    font-weight: 800
}

.contactus .imagedivider .textside h2 .gradword {
    background: linear-gradient(135deg, #BCA4D4 0%, #D0E1E8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contactus .imagedivider .textside .statgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 40px
}

.contactus .imagedivider .textside .statitem {
    padding: 16px;
    background: #ffffff0d;
    border: 1.5px solid #bca4d433;
    border-radius: 11px;
    transition: background .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contactus .imagedivider .textside .statitem:hover {
    background: #ffffff17;
    border-color: #bca4d466
}

.contactus .imagedivider .textside .statitem .statnum {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #BCA4D4;
    display: block;
    margin-bottom: 4px
}

.contactus .imagedivider .textside .statitem .statlabel {
    font-size: 16px;
    line-height: 1.65;
    color: #d0e1e8cc;
    margin: 0
}

.contactus .imagedivider .textside .bodyparagraph {
    font-size: 16px;
    line-height: 1.65;
    color: #d0e1e8d9;
    margin: 0 0 16px;
    max-width: 420px
}

.contactus .typewriter {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    border-right: 2px solid #1C23A7;
    animation: typetext 2.4s steps(30, end) .3s forwards, blinkbar .8s step-end infinite;
    width: 0;
    max-width: 100%;
    vertical-align: bottom
}

@keyframes typetext {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes blinkbar {

    0%,
    100% {
        border-color: #1C23A7
    }

    50% {
        border-color: transparent
    }
}

@media (max-width: 1024px) {
    .contactus .reach .reachinner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .contactus .imagedivider .imagedividerinner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .contactus .imagedivider .imageside {
        max-width: 560px
    }

    .contactus .reach .reachleft h1 {
        font-size: 44px
    }
}

@media (max-width: 640px) {
    .contactus .reach {
        padding: 40px 16px
    }

    .contactus .reach .reachleft h1 {
        font-size: 32px
    }

    .contactus .reach .reachright .formcard {
        padding: 16px
    }

    .contactus .imagedivider {
        padding: 40px 16px
    }

    .contactus .imagedivider .textside h2 {
        font-size: 32px
    }

    .contactus .imagedivider .textside .statgrid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 360px) {
    .contactus .reach .reachleft h1 {
        font-size: 24px
    }

    .contactus .imagedivider .textside h2 {
        font-size: 24px
    }
}

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

.first .bento {
    max-width: 1500px;
    margin: 0 auto;
    padding: 40px 40px 80px
}

.first .bento-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px
}

.first .bento-image-cell {
    grid-column: 1;
    grid-row: 1 / 3;
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 7px 25px -1px #1c23a71c;
    aspect-ratio: 4/3
}

.first .bento-image-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.first .bento-image-cell .diagonal-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #1c23a78c 0%, #bca4d440 60%, transparent 100%);
    pointer-events: none
}

.first .bento-text-top {
    grid-column: 2;
    grid-row: 1;
    background: #D0E1E8;
    border-radius: 18px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.first .bento-text-top .circles-bg {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.first .bento-text-top .circles-bg span {
    position: absolute;
    border-radius: 46px;
    background: #1c23a712
}

.first .bento-text-top .circles-bg span:nth-child(1) {
    width: 180px;
    height: 180px;
    top: -60px;
    right: -40px
}

.first .bento-text-top .circles-bg span:nth-child(2) {
    width: 110px;
    height: 110px;
    bottom: -30px;
    right: 80px
}

.first .bento-text-top .circles-bg span:nth-child(3) {
    width: 70px;
    height: 70px;
    top: 30px;
    right: 120px;
    background: #bca4d42e
}

.first .bento-label {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .08em;
    color: #1C23A7;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px
}

.first .bento-heading {
    font-size: 60px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1C23A7;
    font-weight: 800;
    margin: 0 0 16px
}

.first .bento-sub {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    max-width: 380px
}

.first .bento-text-bottom {
    grid-column: 2;
    grid-row: 2;
    background: #1C23A7;
    border-radius: 18px;
    padding: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px
}

.first .bento-stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.first .bento-stat-num {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #BCA4D4;
    font-weight: 800
}

.first .bento-stat-desc {
    font-size: 16px;
    line-height: 1.65;
    color: #d0e1e8d9
}

.first .bento-divider {
    width: 1px;
    height: 60px;
    background: #bca4d459;
    flex-shrink: 0
}

.first .invest-band {
    background: #f4f5fb;
    padding: 80px 0;
    position: relative
}

.first .invest-band-bg {
    position: absolute;
    inset: 0;
    background: conic-gradient(from 200deg at 80% 50%, #1c23a70a 0deg, #bca4d412 90deg, #d0e1e817 180deg, #1c23a708 360deg);
    pointer-events: none
}

.first .invest-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 40fr 60fr;
    gap: 80px;
    align-items: start
}

.first .invest-left {
    position: relative
}

.first .invest-heading-wrap {
    padding-left: 16px;
    border-top: 3px solid #1C23A7;
    padding-top: 16px
}

.first .invest-heading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1C23A7;
    font-weight: 800;
    margin: 0 0 16px
}

.first .invest-body {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    margin: 0
}

.first .invest-image-wrap {
    margin-top: 40px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 60px -1px #1c23a71f;
    aspect-ratio: 4/3
}

.first .invest-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.first .invest-right {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.first .invest-card {
    background: #fff;
    border-radius: 11px;
    padding: 40px;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    border: 2px solid transparent;
    transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s ease-in
}

.first .invest-card:hover {
    border-color: #BCA4D4;
    box-shadow: 0 7px 25px -1px #1c23a71c
}

.first .invest-dot {
    width: 10px;
    height: 10px;
    border-radius: 46px;
    background: #1C23A7;
    flex-shrink: 0;
    margin-top: 6px
}

.first .invest-dot.light {
    background: #BCA4D4
}

.first .invest-card-label {
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    color: #1C23A7;
    margin: 0 0 8px
}

.first .invest-card-text {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    margin: 0
}

.first .invest-colon {
    color: #1C23A7;
    font-weight: 700
}

.first .compare-band {
    padding: 80px 0;
    background: #1C23A7;
    position: relative;
    overflow: hidden
}

.first .compare-circles {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.first .compare-circles span {
    position: absolute;
    border-radius: 46px;
    background: #bca4d414
}

.first .compare-circles span:nth-child(1) {
    width: 400px;
    height: 400px;
    top: -120px;
    left: -80px
}

.first .compare-circles span:nth-child(2) {
    width: 250px;
    height: 250px;
    bottom: -60px;
    right: 120px
}

.first .compare-circles span:nth-child(3) {
    width: 160px;
    height: 160px;
    top: 60px;
    right: -40px;
    background: #d0e1e80f
}

.first .compare-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative
}

.first .compare-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px
}

.first .compare-heading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #D0E1E8;
    font-weight: 800;
    margin: 0;
    max-width: 500px
}

.first .compare-sub {
    font-size: 16px;
    line-height: 1.65;
    color: #d0e1e8b3;
    max-width: 320px;
    text-align: right
}

.first .compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.first .compare-panel {
    border-radius: 18px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.first .compare-panel.left {
    background: #d0e1e814;
    border: 2px solid #d0e1e82e
}

.first .compare-panel.right {
    background: #bca4d426;
    border: 2px solid #bca4d459
}

.first .compare-panel-label {
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 8px
}

.first .compare-panel.left .compare-panel-label {
    color: #d0e1e899
}

.first .compare-panel.right .compare-panel-label {
    color: #BCA4D4
}

.first .compare-panel-heading {
    font-size: 24px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0 0 8px
}

.first .compare-panel.left .compare-panel-heading {
    color: #d0e1e8bf
}

.first .compare-panel.right .compare-panel-heading {
    color: #D0E1E8
}

.first .compare-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    line-height: 1.65
}

.first .compare-panel.left .compare-item {
    color: #d0e1e899
}

.first .compare-panel.right .compare-item {
    color: #d0e1e8e6
}

.first .compare-dot {
    width: 8px;
    height: 8px;
    border-radius: 46px;
    flex-shrink: 0;
    margin-top: 7px
}

.first .compare-panel.left .compare-dot {
    background: #d0e1e859
}

.first .compare-panel.right .compare-dot {
    background: #BCA4D4
}

.first .compare-image-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px
}

.first .compare-img-wrap {
    border-radius: 11px;
    overflow: hidden;
    box-shadow: 0 7px 25px -1px #1c23a71c;
    aspect-ratio: 4/3
}

.first .compare-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .85
}

.first .grad-band {
    padding: 80px 0;
    background: #fff;
    position: relative
}

.first .grad-band-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: conic-gradient(from 270deg at 50% 0%, #1C23A7 0deg, #BCA4D4 120deg, #D0E1E8 240deg, #1C23A7 360deg)
}

.first .grad-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 40px
}

.first .grad-top-row {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 40px;
    margin-bottom: 40px;
    align-items: start
}

.first .grad-heading-block {
    padding-left: 16px;
    border-top: 3px solid #BCA4D4;
    padding-top: 16px
}

.first .grad-heading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1C23A7;
    font-weight: 800;
    margin: 0 0 16px
}

.first .grad-intro {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    margin: 0;
    max-width: 480px
}

.first .grad-image-side {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 60px -1px #1c23a71f;
    aspect-ratio: 4/3
}

.first .grad-image-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

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

.first .grad-outcome-card {
    background: #f4f5fb;
    border-radius: 11px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 2px solid transparent;
    transition: border-color .18s cubic-bezier(0.4, 0, 1, 1), background .13s ease-in;
    position: relative;
    overflow: hidden
}

.first .grad-outcome-card:hover {
    border-color: #1C23A7;
    background: #1c23a70a
}

.first .grad-outcome-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: #1C23A7;
    border-radius: 0 0 6px 0
}

.first .grad-outcome-num {
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 800;
    color: #1C23A7
}

.first .grad-outcome-label {
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    color: #1C23A7;
    margin: 0
}

.first .grad-outcome-text {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    margin: 0
}

.first .grad-bottom-row {
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: center
}

.first .grad-quote-block {
    background: #D0E1E8;
    border-radius: 18px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.first .grad-quote-text {
    font-size: 24px;
    line-height: 1.65;
    color: #1C23A7;
    font-weight: 600;
    margin: 0
}

.first .grad-quote-attr {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3a;
    margin: 0
}

.first .grad-quote-attr strong {
    color: #1C23A7
}

.first .grad-final-image {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 7px 25px -1px #1c23a71c;
    aspect-ratio: 4/3
}

.first .grad-final-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

@keyframes bgZoom {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.07)
    }
}

.first .bento-image-cell img {
    animation: bgZoom 12s cubic-bezier(0.4, 0, 1, 1) infinite alternate
}

@media (max-width: 1024px) {
    .first .bento-grid {
        grid-template-columns: 1fr
    }

    .first .bento-image-cell {
        grid-column: 1;
        grid-row: 1
    }

    .first .bento-text-top {
        grid-column: 1;
        grid-row: 2
    }

    .first .bento-text-bottom {
        grid-column: 1;
        grid-row: 3
    }

    .first .invest-inner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .first .compare-grid {
        grid-template-columns: 1fr
    }

    .first .compare-image-row {
        grid-template-columns: 1fr
    }

    .first .compare-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .first .compare-sub {
        text-align: left
    }

    .first .grad-top-row {
        grid-template-columns: 1fr
    }

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

    .first .grad-bottom-row {
        grid-template-columns: 1fr
    }
}

@media (max-width: 640px) {
    .first .bento {
        padding: 16px 16px 40px
    }

    .first .bento-heading {
        font-size: 44px
    }

    .first .bento-text-top {
        padding: 16px
    }

    .first .bento-text-bottom {
        padding: 16px;
        flex-direction: column;
        gap: 16px
    }

    .first .bento-divider {
        width: 60px;
        height: 1px
    }

    .first .invest-inner {
        padding: 0 16px
    }

    .first .invest-card {
        padding: 16px
    }

    .first .compare-inner {
        padding: 0 16px
    }

    .first .compare-panel {
        padding: 16px
    }

    .first .compare-heading {
        font-size: 32px
    }

    .first .grad-inner {
        padding: 0 16px
    }

    .first .grad-heading {
        font-size: 32px
    }

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

    .first .grad-quote-block {
        padding: 16px
    }

    .first .grad-outcome-card {
        padding: 16px
    }

    .first .invest-band {
        padding: 40px 0
    }

    .first .compare-band {
        padding: 40px 0
    }

    .first .grad-band {
        padding: 40px 0
    }
}

@media (max-width: 360px) {
    .first .bento-heading {
        font-size: 32px
    }

    .first .bento-stat-num {
        font-size: 32px
    }

    .first .invest-heading {
        font-size: 32px
    }
}

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

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

::selection {
    background: linear-gradient(90deg, #1C23A7, #BCA4D4);
    color: #fff
}

.aboutus .pagetop {
    background: #111328;
    padding: 80px 40px;
    position: relative;
    overflow: hidden
}

.aboutus .pagetop::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: conic-gradient(at 50% 0%, #1C23A7 0deg, #BCA4D4 120deg, #D0E1E8 200deg, #1C23A7 360deg);
    opacity: .7
}

.aboutus .pagetop::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #BCA4D4 40%, #1C23A7 100%)
}

.aboutus .pagetopInner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.6fr 1fr;
    gap: 40px;
    align-items: center
}

.aboutus .pagetopText {
    grid-column: 2;
    text-align: center
}

.aboutus .pagetopLabel {
    display: inline-block;
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .12em;
    color: #BCA4D4;
    text-transform: uppercase;
    margin-bottom: 16px
}

.aboutus .pagetopH1 {
    font-size: 60px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 16px
}

.aboutus .pagetopH1 span {
    color: #BCA4D4
}

.aboutus .pagetopDesc {
    font-size: 16px;
    line-height: 1.65;
    color: #D0E1E8;
    max-width: 480px;
    margin: 0 auto
}

.aboutus .pagetopImageCol {
    position: relative
}

.aboutus .pagetopImageCol img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 18px;
    display: block;
    filter: blur(0px);
    box-shadow: 0 10px 60px -1px #1c23a71f
}

.aboutus .pagetopImageCol::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -8px;
    left: 8px;
    right: -8px;
    top: 8px;
    border-radius: 18px;
    border: 2px solid #bca4d44d;
    z-index: 0;
    pointer-events: none
}

.aboutus .pagetopImageCol img {
    position: relative;
    z-index: 1
}

.aboutus .clipReveal {
    clip-path: inset(0 0 100% 0);
    animation: clipDown .7s cubic-bezier(0.4, 0, 1, 1) forwards
}

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

.aboutus .clipReveal2 {
    clip-path: inset(0 0 100% 0);
    animation: clipDown .85s .15s cubic-bezier(0.4, 0, 1, 1) forwards
}

.aboutus .clipReveal3 {
    clip-path: inset(0 0 100% 0);
    animation: clipDown .95s .28s cubic-bezier(0.4, 0, 1, 1) forwards
}

.aboutus .storyband {
    background: #fff;
    padding: 80px 40px;
    border-top: 1px solid #1c23a70f;
    border-bottom: 3px solid #1C23A7
}

.aboutus .storybandInner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2.2fr;
    gap: 80px;
    align-items: start
}

.aboutus .storybandLeft {
    position: sticky;
    top: 40px
}

.aboutus .accentLine {
    display: flex;
    align-items: flex-start;
    gap: 16px
}

.aboutus .accentLine::before {
    content: '';
    display: block;
    width: 4px;
    min-height: 48px;
    background: #1C23A7;
    border-radius: 6px;
    flex-shrink: 0;
    margin-top: 4px
}

.aboutus .storybandH2 {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #111328;
    margin: 0
}

.aboutus .storybandSub {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4f7a;
    margin: 16px 0 0;
    padding-left: 20px
}

.aboutus .storybandRight {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.aboutus .storypar {
    padding: 0 80px
}

.aboutus .storypar p {
    font-size: 16px;
    line-height: 1.65;
    color: #22273d;
    margin: 0 0 8px
}

.aboutus .storypar p:last-child {
    margin-bottom: 0
}

.aboutus .storybandImageRow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.aboutus .storybandImageRow img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 11px;
    display: block;
    box-shadow: 0 7px 25px -1px #1c23a71c
}

.aboutus .metricsband {
    background: linear-gradient(160deg, #f4f5fd 0%, #e8ebf8 60%, #dce8ef 100%);
    padding: 80px 40px;
    border-top: 1px solid #1c23a714
}

.aboutus .metricsbandInner {
    max-width: 1500px;
    margin: 0 auto
}

.aboutus .metricsbandHead {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 40px
}

.aboutus .metricsbandH2 {
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #111328;
    margin: 0
}

.aboutus .metricsbandH2 .colon {
    color: #1C23A7
}

.aboutus .metricsGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 40px
}

.aboutus .metricCard {
    background: #fff;
    border-radius: 18px;
    padding: 40px 16px;
    text-align: center;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    border: 2px solid transparent;
    transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
    cursor: default;
    position: relative;
    overflow: hidden
}

.aboutus .metricCard::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #1c23a70a;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .metricCard:hover {
    border-color: #BCA4D4;
    box-shadow: 0 7px 25px -1px #1c23a71c
}

.aboutus .metricCard:hover::after {
    height: 100%
}

.aboutus .metricCard:active {
    border-color: #1C23A7
}

.aboutus .metricNumber {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1C23A7;
    display: block;
    margin-bottom: 8px;
    position: relative;
    z-index: 1
}

.aboutus .metricLabel {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4f7a;
    position: relative;
    z-index: 1
}

.aboutus .dataTableWrap {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 7px 25px -1px #1c23a71c
}

.aboutus .dataTable {
    width: 100%;
    border-collapse: collapse;
    background: #fff
}

.aboutus .dataTable thead tr {
    background: #1C23A7
}

.aboutus .dataTable thead th {
    font-size: 16px;
    line-height: 1.65;
    color: #fff;
    padding: 16px 40px;
    text-align: left;
    letter-spacing: .05em
}

.aboutus .dataTable tbody tr {
    transition: background .12s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .dataTable tbody tr:nth-child(odd) {
    background: #fff
}

.aboutus .dataTable tbody tr:nth-child(even) {
    background: #d0e1e847
}

.aboutus .dataTable tbody tr:hover {
    background: #bca4d438
}

.aboutus .dataTable tbody td {
    font-size: 16px;
    line-height: 1.65;
    color: #22273d;
    padding: 16px 40px;
    border-bottom: 1px solid #1c23a70f
}

.aboutus .dataTable tbody td:first-child {
    font-weight: 600;
    color: #1C23A7
}

.aboutus .dataTable tbody tr:last-child td {
    border-bottom: none
}

.aboutus .teamband {
    background: #fff;
    padding: 80px 40px;
    border-top: 1px solid #1c23a712;
    border-bottom: 1px solid #bca4d44d;
    position: relative
}

.aboutus .teamband::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, #1C23A7 0%, #BCA4D4 60%, transparent 100%)
}

.aboutus .teambandInner {
    max-width: 1500px;
    margin: 0 auto
}

.aboutus .teambandHead {
    margin-bottom: 40px
}

.aboutus .teambandH2 {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #111328;
    margin: 0 0 8px
}

.aboutus .teambandDesc {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4f7a;
    max-width: 520px
}

.aboutus .teamGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.aboutus .teamCard {
    border-radius: 18px;
    border: 2px solid #1c23a71a;
    padding: 40px 16px;
    background: #fff;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    transition: box-shadow .16s cubic-bezier(0.4, 0, 1, 1), border-color .16s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden
}

.aboutus .teamCard::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: conic-gradient(at 50% 0%, #1C23A7 0deg, #BCA4D4 180deg, #D0E1E8 280deg, #1C23A7 360deg);
    opacity: 0;
    transition: opacity .14s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .teamCard:hover {
    box-shadow: 0 7px 25px -1px #1c23a71c;
    border-color: #BCA4D4
}

.aboutus .teamCard:hover::before {
    opacity: 1
}

.aboutus .teamAvatar {
    width: 64px;
    height: 64px;
    border-radius: 46px;
    background: linear-gradient(135deg, #D0E1E8 0%, #BCA4D4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.aboutus .teamAvatarInitials {
    font-size: 24px;
    line-height: 1.15;
    color: #1C23A7;
    font-weight: 700;
    letter-spacing: -.01em
}

.aboutus .teamName {
    font-size: 24px;
    line-height: 1.15;
    color: #111328;
    margin: 0 0 4px;
    letter-spacing: -.01em
}

.aboutus .teamRole {
    font-size: 16px;
    line-height: 1.65;
    color: #1C23A7;
    margin: 0 0 16px
}

.aboutus .teamRole .colon {
    color: #BCA4D4
}

.aboutus .teamBio {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4f7a;
    margin: 0
}

.aboutus .imageband {
    background: #111328;
    padding: 80px 40px;
    position: relative;
    overflow: hidden
}

.aboutus .imagebandDecor {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40%;
    background: conic-gradient(at 100% 50%, #1c23a72e 0deg, #bca4d41a 120deg, #d0e1e814 220deg, #1c23a70a 360deg);
    pointer-events: none
}

.aboutus .imagebandInner {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 1
}

.aboutus .imagebandText {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.aboutus .imagebandH3 {
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #fff;
    margin: 0
}

.aboutus .imagebandH3 .accent {
    color: #BCA4D4
}

.aboutus .imagebandP {
    font-size: 16px;
    line-height: 1.65;
    color: #D0E1E8;
    margin: 0;
    max-width: 460px
}

.aboutus .imagebandLink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.65;
    color: #fff;
    background: transparent;
    border: 2px solid #BCA4D4;
    border-radius: 11px;
    padding: 8px 40px;
    text-decoration: none;
    align-self: flex-start;
    position: relative;
    overflow: hidden;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .imagebandLink::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #BCA4D4;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.aboutus .imagebandLink:hover::before {
    height: 100%
}

.aboutus .imagebandLink:hover {
    color: #111328;
    border-color: #BCA4D4
}

.aboutus .imagebandLink span {
    position: relative;
    z-index: 1
}

.aboutus .imagebandImgWrap {
    position: relative
}

.aboutus .imagebandImgWrap img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 18px;
    display: block;
    box-shadow: 0 10px 60px -1px #1c23a71f;
    filter: blur(0px) brightness(0.92)
}

.aboutus .imagebandImgWrap::before {
    content: '';
    display: block;
    position: absolute;
    inset: -8px;
    border-radius: 30px;
    border: 2px solid #bca4d433;
    pointer-events: none;
    z-index: 0
}

.aboutus .imagebandImgWrap img {
    position: relative;
    z-index: 1
}

@media (max-width: 1280px) {
    .aboutus .pagetopInner {
        grid-template-columns: 1fr 2fr 1fr
    }

    .aboutus .metricsGrid {
        grid-template-columns: repeat(2, 1fr)
    }

    .aboutus .storybandInner {
        gap: 40px
    }

    .aboutus .storypar {
        padding: 0 40px
    }
}

@media (max-width: 1024px) {
    .aboutus .pagetopInner {
        grid-template-columns: 1fr;
        text-align: center
    }

    .aboutus .pagetopText {
        grid-column: 1
    }

    .aboutus .pagetopImageCol {
        display: none
    }

    .aboutus .storybandInner {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .aboutus .storybandLeft {
        position: static
    }

    .aboutus .storypar {
        padding: 0
    }

    .aboutus .teamGrid {
        grid-template-columns: repeat(2, 1fr)
    }

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

    .aboutus .imagebandImgWrap {
        display: none
    }

    .aboutus .dataTable thead th,
    .aboutus .dataTable tbody td {
        padding: 16px
    }
}

@media (max-width: 640px) {
    .aboutus .pagetop {
        padding: 40px 16px
    }

    .aboutus .pagetopH1 {
        font-size: 44px
    }

    .aboutus .storyband,
    .aboutus .metricsband,
    .aboutus .teamband,
    .aboutus .imageband {
        padding: 40px 16px
    }

    .aboutus .storybandH2 {
        font-size: 32px
    }

    .aboutus .metricsGrid {
        grid-template-columns: 1fr 1fr;
        gap: 8px
    }

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

    .aboutus .teambandH2 {
        font-size: 32px
    }

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

    .aboutus .dataTableWrap {
        overflow-x: auto
    }

    .aboutus .dataTable {
        min-width: 480px
    }

    .aboutus .metricNumber {
        font-size: 32px
    }

    .aboutus .metricCard {
        padding: 16px 8px
    }
}

@media (max-width: 360px) {
    .aboutus .pagetopH1 {
        font-size: 32px
    }

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

    .aboutus .imagebandLink {
        padding: 8px 16px
    }
}

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

.services .titleblock {
    position: relative;
    padding: 80px 40px;
    background: conic-gradient(from 210deg at 38% 55%, #e8eaf6 0deg, #d0e1e8 60deg, #bca4d4 110deg, #e8eaf6 160deg, #d0e1e8 220deg, #bca4d4 280deg, #e8eaf6 360deg);
    overflow: hidden
}

.services .titleblock .circledeco {
    position: absolute;
    border-radius: 46px;
    pointer-events: none
}

.services .titleblock .circledeco.one {
    width: 340px;
    height: 340px;
    border: 2px solid #1c23a71a;
    border-radius: 46px;
    top: -80px;
    right: 120px;
    transform: rotate(18deg)
}

.services .titleblock .circledeco.two {
    width: 200px;
    height: 200px;
    border: 2px solid #bca4d42e;
    border-radius: 46px;
    bottom: -40px;
    right: 60px;
    transform: rotate(-12deg)
}

.services .titleblock .circledeco.three {
    width: 480px;
    height: 480px;
    border: 1px solid #1c23a70f;
    border-radius: 46px;
    top: -160px;
    right: -60px;
    transform: rotate(30deg)
}

.services .titleblock .circledeco.four {
    width: 120px;
    height: 120px;
    border: 2px solid #bca4d438;
    border-radius: 46px;
    top: 40px;
    left: 60px;
    transform: rotate(8deg)
}

.services .titleblock .titlegrid {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 2
}

.services .titleblock .titleleft h1 {
    font-size: 70px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #1C23A7;
    margin: 0 0 16px
}

.services .titleblock .titleleft .tagline {
    font-size: 24px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0 0 40px;
    max-width: 480px
}

.services .titleblock .titleleft .actionlink {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    color: #1C23A7;
    text-decoration: none;
    border: 3px solid #1C23A7;
    padding: 16px 40px;
    border-radius: 11px;
    position: relative;
    overflow: hidden;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1);
    z-index: 1
}

.services .titleblock .titleleft .actionlink::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1C23A7;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: -1
}

.services .titleblock .titleleft .actionlink:hover::before,
.services .titleblock .titleleft .actionlink:focus::before {
    height: 100%
}

.services .titleblock .titleleft .actionlink:hover,
.services .titleblock .titleleft .actionlink:focus {
    color: #fff;
    outline: none
}

.services .titleblock .imageframe {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 7px 25px -1px #1c23a71c
}

.services .titleblock .imageframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: multiply;
    filter: sepia(18%) saturate(1.12) brightness(1.05)
}

.services .titleblock .imageframe::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #1c23a71f 0%, #bca4d42e 100%);
    pointer-events: none
}

.services .offerstrip {
    background: #1C23A7;
    padding: 8px 40px
}

.services .offerstrip .stripinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px
}

.services .offerstrip .stripitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #D0E1E8;
    font-size: 16px
}

.services .offerstrip .stripitem .dot {
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background: #BCA4D4;
    flex-shrink: 0
}

.services .catalogsection {
    padding: 80px 40px;
    background: #fff
}

.services .catalogsection .cataloginner {
    max-width: 1500px;
    margin: 0 auto
}

.services .catalogsection .sectionlabel {
    font-size: 16px;
    letter-spacing: .08em;
    color: #1C23A7;
    text-transform: uppercase;
    margin: 0 0 8px;
    padding-left: 16px;
    border-left: 4px solid #BCA4D4
}

.services .catalogsection .sectionheading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #181828;
    margin: 0 0 40px;
    max-width: 680px
}

.services .catalogsection .cardgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px
}

.services .catalogsection .servicecard {
    border: 3px solid #1C23A7;
    border-radius: 18px;
    padding: 40px;
    position: relative;
    background: #fff;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1);
    overflow: hidden
}

.services .catalogsection .servicecard:hover {
    box-shadow: 0 7px 25px -1px #1c23a71c;
    transform: translateY(-4px)
}

.services .catalogsection .servicecard.featured {
    background: linear-gradient(160deg, #1c23a70a 0%, #d0e1e859 100%);
    border-color: #1C23A7
}

.services .catalogsection .servicecard .diamond {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 18px;
    height: 18px;
    background: #BCA4D4;
    transform: rotate(45deg);
    border-radius: 4px
}

.services .catalogsection .servicecard.featured .diamond {
    background: #1C23A7
}

.services .catalogsection .cardicon {
    width: 48px;
    height: 48px;
    border-radius: 11px;
    background: #1c23a714;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.services .catalogsection .cardicon svg {
    width: 26px;
    height: 26px
}

.services .catalogsection .cardtitle {
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #1C23A7;
    margin: 0 0 8px
}

.services .catalogsection .carddesc {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0 0 16px
}

.services .catalogsection .cardmeta {
    font-size: 16px;
    color: #1C23A7;
    font-weight: 600
}

.services .catalogsection .cardmeta span {
    color: #BCA4D4
}

.services .catalogsection .cardmeta span::after {
    content: ":";
    color: #1C23A7;
    margin-right: 4px
}

.services .catalogsection .cardlink {
    display: inline-block;
    margin-top: 16px;
    font-size: 16px;
    font-weight: 700;
    color: #1C23A7;
    text-decoration: none;
    border: 2px solid #1C23A7;
    padding: 8px 16px;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    transition: color .12s cubic-bezier(0.4, 0, 1, 1);
    z-index: 1
}

.services .catalogsection .cardlink::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1C23A7;
    transition: height .16s cubic-bezier(0.4, 0, 1, 1);
    z-index: -1
}

.services .catalogsection .cardlink:hover::before,
.services .catalogsection .cardlink:focus::before {
    height: 100%
}

.services .catalogsection .cardlink:hover,
.services .catalogsection .cardlink:focus {
    color: #fff;
    outline: none
}

.services .detailsection {
    padding: 80px 40px;
    position: relative;
    overflow: hidden
}

.services .detailsection::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: #D0E1E8;
    z-index: 0
}

.services .detailsection::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: #d0e1e838;
    z-index: 0
}

.services .detailsection .detailinner {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.services .detailsection .ringspattern {
    position: absolute;
    top: 0;
    right: -80px;
    width: 420px;
    height: 420px;
    pointer-events: none;
    z-index: 1;
    opacity: .18
}

.services .detailsection .twocol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start
}

.services .detailsection .detailleft {
    position: relative
}

.services .detailsection .detailleft .accentbar {
    width: 6px;
    height: 60px;
    background: #1C23A7;
    border-radius: 6px;
    margin-bottom: 16px
}

.services .detailsection .detailheading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #181828;
    margin: 0 0 16px
}

.services .detailsection .detailtext {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0 0 16px;
    padding: 0 40px
}

.services .detailsection .detailimage {
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 10px 60px -1px #1c23a71f;
    position: relative
}

.services .detailsection .detailimage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: sepia(12%) saturate(1.08) brightness(1.04)
}

.services .detailsection .metricrow {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 40px
}

.services .detailsection .metricitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-radius: 11px;
    border: 2px solid #1c23a71a;
    box-shadow: 0 3px 4px -1px #1c23a70f;
    animation: shakepulse 6s 2s infinite
}

.services .detailsection .metricitem:nth-child(2) {
    animation-delay: 8s
}

.services .detailsection .metricitem:nth-child(3) {
    animation-delay: 14s
}

@keyframes shakepulse {

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

    93% {
        transform: translateX(-3px)
    }

    94% {
        transform: translateX(3px)
    }

    95% {
        transform: translateX(-2px)
    }

    96% {
        transform: translateX(2px)
    }

    97% {
        transform: translateX(0)
    }
}

.services .detailsection .metricicon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #1c23a714;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.services .detailsection .metriclabel {
    font-size: 16px;
    color: #BCA4D4;
    font-weight: 600
}

.services .detailsection .metriclabel::after {
    content: ":";
    color: #1C23A7;
    margin-right: 4px
}

.services .detailsection .metricvalue {
    font-size: 16px;
    color: #181828;
    font-weight: 700
}

.services .detailsection .stepslist {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 40px
}

.services .detailsection .stepitem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.services .detailsection .stepnumber {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    color: #1c23a71f;
    letter-spacing: -.03em;
    flex-shrink: 0;
    width: 48px;
    text-align: right
}

.services .detailsection .stepbody {
    padding-top: 8px
}

.services .detailsection .steptitle {
    font-size: 16px;
    font-weight: 700;
    color: #1C23A7;
    margin: 0 0 4px
}

.services .detailsection .steptext {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a3d;
    margin: 0
}

.services .revealload {
    animation: revealscale .18s cubic-bezier(0.4, 0, 1, 1) both
}

@keyframes revealscale {
    from {
        opacity: 0;
        transform: scale(0.97)
    }

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

.services .catalogsection .servicecard:nth-child(1) {
    animation: revealscale .15s .05s cubic-bezier(0.4, 0, 1, 1) both
}

.services .catalogsection .servicecard:nth-child(2) {
    animation: revealscale .15s .1s cubic-bezier(0.4, 0, 1, 1) both
}

.services .catalogsection .servicecard:nth-child(3) {
    animation: revealscale .15s .15s cubic-bezier(0.4, 0, 1, 1) both
}

@media (max-width: 1280px) {
    .services .titleblock .titleleft h1 {
        font-size: 60px
    }

    .services .catalogsection .cardgrid {
        grid-template-columns: repeat(2, 1fr)
    }

    .services .detailsection .twocol {
        gap: 40px
    }
}

@media (max-width: 1024px) {
    .services .titleblock .titlegrid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .services .titleblock .titleleft h1 {
        font-size: 44px
    }

    .services .titleblock .titleleft .tagline {
        font-size: 16px
    }

    .services .detailsection .twocol {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .services .catalogsection .sectionheading {
        font-size: 32px
    }

    .services .detailsection .detailheading {
        font-size: 32px
    }
}

@media (max-width: 640px) {
    .services .titleblock {
        padding: 40px 16px
    }

    .services .titleblock .titleleft h1 {
        font-size: 32px
    }

    .services .catalogsection {
        padding: 40px 16px
    }

    .services .catalogsection .cardgrid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .services .catalogsection .servicecard {
        padding: 16px
    }

    .services .detailsection {
        padding: 40px 16px
    }

    .services .offerstrip .stripinner {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 8px 0
    }

    .services .offerstrip {
        padding: 8px 16px
    }

    .services .detailsection .detailtext {
        padding: 0
    }
}

@media (max-width: 360px) {
    .services .titleblock .titleleft h1 {
        font-size: 24px
    }

    .services .catalogsection .sectionheading {
        font-size: 24px
    }

    .services .detailsection .detailheading {
        font-size: 24px
    }
}

.successPage {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 16px;
    background: linear-gradient(160deg, #fff 0%, #D0E1E8 40%, #BCA4D4 100%);
    position: relative;
    overflow: hidden
}

.successPage::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -80px;
    width: 420px;
    height: 420px;
    background: conic-gradient(from 0deg at 60% 40%, #1c23a70a 0deg, #bca4d412 90deg, #d0e1e817 180deg, #1c23a708 270deg, #bca4d40d 360deg);
    border-radius: 46px;
    pointer-events: none
}

.successPage::after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: -40px;
    width: 280px;
    height: 280px;
    background: conic-gradient(from 180deg at 30% 70%, #bca4d40f 0deg, #1c23a70a 120deg, #d0e1e814 240deg, #bca4d40d 360deg);
    border-radius: 46px;
    pointer-events: none
}

.successPage .successCard {
    background: #fff;
    border-radius: 18px;
    padding: 80px;
    max-width: 640px;
    width: 100%;
    box-shadow: 0 7px 25px -1px #1c23a71c 0 10px 60px -1px #1c23a71f;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1
}

.successPage .successCard .iconWrap {
    width: 72px;
    height: 72px;
    border-radius: 46px;
    background: linear-gradient(135deg, #D0E1E8 0%, #BCA4D4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    box-shadow: 0 3px 4px -1px #1c23a70f inset 0 3px 6px #1c23a714
}

.successPage .successCard .iconWrap svg {
    display: block
}

.successPage .successCard .successHeading {
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: #1C23A7;
    margin: 0 0 16px;
    font-weight: 700
}

.successPage .successCard .successSubtext {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: .01em;
    color: #2a2d4a;
    margin: 0 0 40px;
    max-width: 420px
}

.successPage .successCard .successSubtext span {
    color: #1C23A7;
    font-weight: 600
}

.successPage .successCard .dividerLine {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #BCA4D4, transparent);
    margin-bottom: 40px
}

.successPage .successCard .metaRow {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    margin-bottom: 40px
}

.successPage .successCard .metaItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px
}

.successPage .successCard .metaItem .metaLabel {
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: .04em;
    color: #6a6e8a;
    text-transform: uppercase;
    font-size: 16px
}

.successPage .successCard .metaItem .metaValue {
    font-size: 16px;
    line-height: 1.65;
    color: #1C23A7;
    font-weight: 600
}

.successPage .successCard .backButton {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 40px;
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: .02em;
    font-weight: 600;
    color: #1C23A7;
    background: transparent;
    border: 2.5px solid #1C23A7;
    border-radius: 11px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.successPage .successCard .backButton::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #1C23A7;
    transition: height .18s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.successPage .successCard .backButton:hover::before {
    height: 100%
}

.successPage .successCard .backButton:hover {
    color: #fff
}

.successPage .successCard .backButton:focus-visible {
    outline: 3px solid #BCA4D4;
    outline-offset: 3px
}

.successPage .successCard .backButton:active {
    opacity: .88
}

.successPage .successCard .backButton .buttonText {
    position: relative;
    z-index: 1
}

.successPage .successCard .backButton svg {
    position: relative;
    z-index: 1;
    flex-shrink: 0
}

.successPage .brandNote {
    margin-top: 40px;
    font-size: 16px;
    line-height: 1.65;
    color: #2a2d4a;
    opacity: .7;
    position: relative;
    z-index: 1
}

.successPage .brandNote strong {
    color: #1C23A7;
    opacity: 1
}

@media (max-width: 640px) {
    .successPage {
        padding: 40px 16px
    }

    .successPage .successCard {
        padding: 40px 16px
    }

    .successPage .successCard .successHeading {
        font-size: 32px
    }

    .successPage .successCard .metaRow {
        flex-direction: column;
        align-items: center;
        gap: 16px
    }
}

@media (max-width: 360px) {
    .successPage .successCard .successHeading {
        font-size: 24px
    }

    .successPage .successCard .backButton {
        padding: 16px;
        width: 100%;
        justify-content: center
    }
}